1. Packages
  2. OpenStack
  3. API Docs
  4. keymanager
  5. ContainerV1
OpenStack v3.12.1 published on Thursday, Mar 23, 2023 by Pulumi

openstack.keymanager.ContainerV1

Explore with Pulumi AI

openstack logo
OpenStack v3.12.1 published on Thursday, Mar 23, 2023 by Pulumi

    Manages a V1 Barbican container resource within OpenStack.

    Example Usage

    Simple secret

    using System.Collections.Generic;
    using System.IO;
    using Pulumi;
    using OpenStack = Pulumi.OpenStack;
    
    return await Deployment.RunAsync(() => 
    {
        var certificate1 = new OpenStack.KeyManager.SecretV1("certificate1", new()
        {
            Payload = File.ReadAllText("cert.pem"),
            PayloadContentType = "text/plain",
            SecretType = "certificate",
        });
    
        var privateKey1 = new OpenStack.KeyManager.SecretV1("privateKey1", new()
        {
            Payload = File.ReadAllText("cert-key.pem"),
            PayloadContentType = "text/plain",
            SecretType = "private",
        });
    
        var intermediate1 = new OpenStack.KeyManager.SecretV1("intermediate1", new()
        {
            Payload = File.ReadAllText("intermediate-ca.pem"),
            PayloadContentType = "text/plain",
            SecretType = "certificate",
        });
    
        var tls1 = new OpenStack.KeyManager.ContainerV1("tls1", new()
        {
            SecretRefs = new[]
            {
                new OpenStack.KeyManager.Inputs.ContainerV1SecretRefArgs
                {
                    Name = "certificate",
                    SecretRef = certificate1.SecretRef,
                },
                new OpenStack.KeyManager.Inputs.ContainerV1SecretRefArgs
                {
                    Name = "private_key",
                    SecretRef = privateKey1.SecretRef,
                },
                new OpenStack.KeyManager.Inputs.ContainerV1SecretRefArgs
                {
                    Name = "intermediates",
                    SecretRef = intermediate1.SecretRef,
                },
            },
            Type = "certificate",
        });
    
        var subnet1 = OpenStack.Networking.GetSubnet.Invoke(new()
        {
            Name = "my-subnet",
        });
    
        var lb1 = new OpenStack.LoadBalancer.LoadBalancer("lb1", new()
        {
            VipSubnetId = subnet1.Apply(getSubnetResult => getSubnetResult.Id),
        });
    
        var listener1 = new OpenStack.LoadBalancer.Listener("listener1", new()
        {
            DefaultTlsContainerRef = tls1.ContainerRef,
            LoadbalancerId = lb1.Id,
            Protocol = "TERMINATED_HTTPS",
            ProtocolPort = 443,
        });
    
    });
    
    package main
    
    import (
    	"os"
    
    	"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/keymanager"
    	"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/loadbalancer"
    	"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/networking"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func readFileOrPanic(path string) pulumi.StringPtrInput {
    	data, err := os.ReadFile(path)
    	if err != nil {
    		panic(err.Error())
    	}
    	return pulumi.String(string(data))
    }
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		certificate1, err := keymanager.NewSecretV1(ctx, "certificate1", &keymanager.SecretV1Args{
    			Payload:            readFileOrPanic("cert.pem"),
    			PayloadContentType: pulumi.String("text/plain"),
    			SecretType:         pulumi.String("certificate"),
    		})
    		if err != nil {
    			return err
    		}
    		privateKey1, err := keymanager.NewSecretV1(ctx, "privateKey1", &keymanager.SecretV1Args{
    			Payload:            readFileOrPanic("cert-key.pem"),
    			PayloadContentType: pulumi.String("text/plain"),
    			SecretType:         pulumi.String("private"),
    		})
    		if err != nil {
    			return err
    		}
    		intermediate1, err := keymanager.NewSecretV1(ctx, "intermediate1", &keymanager.SecretV1Args{
    			Payload:            readFileOrPanic("intermediate-ca.pem"),
    			PayloadContentType: pulumi.String("text/plain"),
    			SecretType:         pulumi.String("certificate"),
    		})
    		if err != nil {
    			return err
    		}
    		tls1, err := keymanager.NewContainerV1(ctx, "tls1", &keymanager.ContainerV1Args{
    			SecretRefs: keymanager.ContainerV1SecretRefArray{
    				&keymanager.ContainerV1SecretRefArgs{
    					Name:      pulumi.String("certificate"),
    					SecretRef: certificate1.SecretRef,
    				},
    				&keymanager.ContainerV1SecretRefArgs{
    					Name:      pulumi.String("private_key"),
    					SecretRef: privateKey1.SecretRef,
    				},
    				&keymanager.ContainerV1SecretRefArgs{
    					Name:      pulumi.String("intermediates"),
    					SecretRef: intermediate1.SecretRef,
    				},
    			},
    			Type: pulumi.String("certificate"),
    		})
    		if err != nil {
    			return err
    		}
    		subnet1, err := networking.LookupSubnet(ctx, &networking.LookupSubnetArgs{
    			Name: pulumi.StringRef("my-subnet"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		lb1, err := loadbalancer.NewLoadBalancer(ctx, "lb1", &loadbalancer.LoadBalancerArgs{
    			VipSubnetId: *pulumi.String(subnet1.Id),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = loadbalancer.NewListener(ctx, "listener1", &loadbalancer.ListenerArgs{
    			DefaultTlsContainerRef: tls1.ContainerRef,
    			LoadbalancerId:         lb1.ID(),
    			Protocol:               pulumi.String("TERMINATED_HTTPS"),
    			ProtocolPort:           pulumi.Int(443),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.openstack.keymanager.SecretV1;
    import com.pulumi.openstack.keymanager.SecretV1Args;
    import com.pulumi.openstack.keymanager.ContainerV1;
    import com.pulumi.openstack.keymanager.ContainerV1Args;
    import com.pulumi.openstack.keymanager.inputs.ContainerV1SecretRefArgs;
    import com.pulumi.openstack.networking.NetworkingFunctions;
    import com.pulumi.openstack.networking.inputs.GetSubnetArgs;
    import com.pulumi.openstack.loadbalancer.LoadBalancer;
    import com.pulumi.openstack.loadbalancer.LoadBalancerArgs;
    import com.pulumi.openstack.loadbalancer.Listener;
    import com.pulumi.openstack.loadbalancer.ListenerArgs;
    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 certificate1 = new SecretV1("certificate1", SecretV1Args.builder()        
                .payload(Files.readString(Paths.get("cert.pem")))
                .payloadContentType("text/plain")
                .secretType("certificate")
                .build());
    
            var privateKey1 = new SecretV1("privateKey1", SecretV1Args.builder()        
                .payload(Files.readString(Paths.get("cert-key.pem")))
                .payloadContentType("text/plain")
                .secretType("private")
                .build());
    
            var intermediate1 = new SecretV1("intermediate1", SecretV1Args.builder()        
                .payload(Files.readString(Paths.get("intermediate-ca.pem")))
                .payloadContentType("text/plain")
                .secretType("certificate")
                .build());
    
            var tls1 = new ContainerV1("tls1", ContainerV1Args.builder()        
                .secretRefs(            
                    ContainerV1SecretRefArgs.builder()
                        .name("certificate")
                        .secretRef(certificate1.secretRef())
                        .build(),
                    ContainerV1SecretRefArgs.builder()
                        .name("private_key")
                        .secretRef(privateKey1.secretRef())
                        .build(),
                    ContainerV1SecretRefArgs.builder()
                        .name("intermediates")
                        .secretRef(intermediate1.secretRef())
                        .build())
                .type("certificate")
                .build());
    
            final var subnet1 = NetworkingFunctions.getSubnet(GetSubnetArgs.builder()
                .name("my-subnet")
                .build());
    
            var lb1 = new LoadBalancer("lb1", LoadBalancerArgs.builder()        
                .vipSubnetId(subnet1.applyValue(getSubnetResult -> getSubnetResult.id()))
                .build());
    
            var listener1 = new Listener("listener1", ListenerArgs.builder()        
                .defaultTlsContainerRef(tls1.containerRef())
                .loadbalancerId(lb1.id())
                .protocol("TERMINATED_HTTPS")
                .protocolPort(443)
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_openstack as openstack
    
    certificate1 = openstack.keymanager.SecretV1("certificate1",
        payload=(lambda path: open(path).read())("cert.pem"),
        payload_content_type="text/plain",
        secret_type="certificate")
    private_key1 = openstack.keymanager.SecretV1("privateKey1",
        payload=(lambda path: open(path).read())("cert-key.pem"),
        payload_content_type="text/plain",
        secret_type="private")
    intermediate1 = openstack.keymanager.SecretV1("intermediate1",
        payload=(lambda path: open(path).read())("intermediate-ca.pem"),
        payload_content_type="text/plain",
        secret_type="certificate")
    tls1 = openstack.keymanager.ContainerV1("tls1",
        secret_refs=[
            openstack.keymanager.ContainerV1SecretRefArgs(
                name="certificate",
                secret_ref=certificate1.secret_ref,
            ),
            openstack.keymanager.ContainerV1SecretRefArgs(
                name="private_key",
                secret_ref=private_key1.secret_ref,
            ),
            openstack.keymanager.ContainerV1SecretRefArgs(
                name="intermediates",
                secret_ref=intermediate1.secret_ref,
            ),
        ],
        type="certificate")
    subnet1 = openstack.networking.get_subnet(name="my-subnet")
    lb1 = openstack.loadbalancer.LoadBalancer("lb1", vip_subnet_id=subnet1.id)
    listener1 = openstack.loadbalancer.Listener("listener1",
        default_tls_container_ref=tls1.container_ref,
        loadbalancer_id=lb1.id,
        protocol="TERMINATED_HTTPS",
        protocol_port=443)
    
    import * as pulumi from "@pulumi/pulumi";
    import * as fs from "fs";
    import * as openstack from "@pulumi/openstack";
    
    const certificate1 = new openstack.keymanager.SecretV1("certificate1", {
        payload: fs.readFileSync("cert.pem"),
        payloadContentType: "text/plain",
        secretType: "certificate",
    });
    const privateKey1 = new openstack.keymanager.SecretV1("privateKey1", {
        payload: fs.readFileSync("cert-key.pem"),
        payloadContentType: "text/plain",
        secretType: "private",
    });
    const intermediate1 = new openstack.keymanager.SecretV1("intermediate1", {
        payload: fs.readFileSync("intermediate-ca.pem"),
        payloadContentType: "text/plain",
        secretType: "certificate",
    });
    const tls1 = new openstack.keymanager.ContainerV1("tls1", {
        secretRefs: [
            {
                name: "certificate",
                secretRef: certificate1.secretRef,
            },
            {
                name: "private_key",
                secretRef: privateKey1.secretRef,
            },
            {
                name: "intermediates",
                secretRef: intermediate1.secretRef,
            },
        ],
        type: "certificate",
    });
    const subnet1 = openstack.networking.getSubnet({
        name: "my-subnet",
    });
    const lb1 = new openstack.loadbalancer.LoadBalancer("lb1", {vipSubnetId: subnet1.then(subnet1 => subnet1.id)});
    const listener1 = new openstack.loadbalancer.Listener("listener1", {
        defaultTlsContainerRef: tls1.containerRef,
        loadbalancerId: lb1.id,
        protocol: "TERMINATED_HTTPS",
        protocolPort: 443,
    });
    
    resources:
      certificate1:
        type: openstack:keymanager:SecretV1
        properties:
          payload:
            fn::readFile: cert.pem
          payloadContentType: text/plain
          secretType: certificate
      privateKey1:
        type: openstack:keymanager:SecretV1
        properties:
          payload:
            fn::readFile: cert-key.pem
          payloadContentType: text/plain
          secretType: private
      intermediate1:
        type: openstack:keymanager:SecretV1
        properties:
          payload:
            fn::readFile: intermediate-ca.pem
          payloadContentType: text/plain
          secretType: certificate
      tls1:
        type: openstack:keymanager:ContainerV1
        properties:
          secretRefs:
            - name: certificate
              secretRef: ${certificate1.secretRef}
            - name: private_key
              secretRef: ${privateKey1.secretRef}
            - name: intermediates
              secretRef: ${intermediate1.secretRef}
          type: certificate
      lb1:
        type: openstack:loadbalancer:LoadBalancer
        properties:
          vipSubnetId: ${subnet1.id}
      listener1:
        type: openstack:loadbalancer:Listener
        properties:
          defaultTlsContainerRef: ${tls1.containerRef}
          loadbalancerId: ${lb1.id}
          protocol: TERMINATED_HTTPS
          protocolPort: 443
    variables:
      subnet1:
        fn::invoke:
          Function: openstack:networking:getSubnet
          Arguments:
            name: my-subnet
    

    Container with the ACL

    using System.Collections.Generic;
    using Pulumi;
    using OpenStack = Pulumi.OpenStack;
    
    return await Deployment.RunAsync(() => 
    {
        var tls1 = new OpenStack.KeyManager.ContainerV1("tls1", new()
        {
            Acl = new OpenStack.KeyManager.Inputs.ContainerV1AclArgs
            {
                Read = new OpenStack.KeyManager.Inputs.ContainerV1AclReadArgs
                {
                    ProjectAccess = false,
                    Users = new[]
                    {
                        "userid1",
                        "userid2",
                    },
                },
            },
            SecretRefs = new[]
            {
                new OpenStack.KeyManager.Inputs.ContainerV1SecretRefArgs
                {
                    Name = "certificate",
                    SecretRef = openstack_keymanager_secret_v1.Certificate_1.Secret_ref,
                },
                new OpenStack.KeyManager.Inputs.ContainerV1SecretRefArgs
                {
                    Name = "private_key",
                    SecretRef = openstack_keymanager_secret_v1.Private_key_1.Secret_ref,
                },
                new OpenStack.KeyManager.Inputs.ContainerV1SecretRefArgs
                {
                    Name = "intermediates",
                    SecretRef = openstack_keymanager_secret_v1.Intermediate_1.Secret_ref,
                },
            },
            Type = "certificate",
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-openstack/sdk/v3/go/openstack/keymanager"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := keymanager.NewContainerV1(ctx, "tls1", &keymanager.ContainerV1Args{
    			Acl: &keymanager.ContainerV1AclArgs{
    				Read: &keymanager.ContainerV1AclReadArgs{
    					ProjectAccess: pulumi.Bool(false),
    					Users: pulumi.StringArray{
    						pulumi.String("userid1"),
    						pulumi.String("userid2"),
    					},
    				},
    			},
    			SecretRefs: keymanager.ContainerV1SecretRefArray{
    				&keymanager.ContainerV1SecretRefArgs{
    					Name:      pulumi.String("certificate"),
    					SecretRef: pulumi.Any(openstack_keymanager_secret_v1.Certificate_1.Secret_ref),
    				},
    				&keymanager.ContainerV1SecretRefArgs{
    					Name:      pulumi.String("private_key"),
    					SecretRef: pulumi.Any(openstack_keymanager_secret_v1.Private_key_1.Secret_ref),
    				},
    				&keymanager.ContainerV1SecretRefArgs{
    					Name:      pulumi.String("intermediates"),
    					SecretRef: pulumi.Any(openstack_keymanager_secret_v1.Intermediate_1.Secret_ref),
    				},
    			},
    			Type: pulumi.String("certificate"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.openstack.keymanager.ContainerV1;
    import com.pulumi.openstack.keymanager.ContainerV1Args;
    import com.pulumi.openstack.keymanager.inputs.ContainerV1AclArgs;
    import com.pulumi.openstack.keymanager.inputs.ContainerV1AclReadArgs;
    import com.pulumi.openstack.keymanager.inputs.ContainerV1SecretRefArgs;
    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 tls1 = new ContainerV1("tls1", ContainerV1Args.builder()        
                .acl(ContainerV1AclArgs.builder()
                    .read(ContainerV1AclReadArgs.builder()
                        .projectAccess(false)
                        .users(                    
                            "userid1",
                            "userid2")
                        .build())
                    .build())
                .secretRefs(            
                    ContainerV1SecretRefArgs.builder()
                        .name("certificate")
                        .secretRef(openstack_keymanager_secret_v1.certificate_1().secret_ref())
                        .build(),
                    ContainerV1SecretRefArgs.builder()
                        .name("private_key")
                        .secretRef(openstack_keymanager_secret_v1.private_key_1().secret_ref())
                        .build(),
                    ContainerV1SecretRefArgs.builder()
                        .name("intermediates")
                        .secretRef(openstack_keymanager_secret_v1.intermediate_1().secret_ref())
                        .build())
                .type("certificate")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_openstack as openstack
    
    tls1 = openstack.keymanager.ContainerV1("tls1",
        acl=openstack.keymanager.ContainerV1AclArgs(
            read=openstack.keymanager.ContainerV1AclReadArgs(
                project_access=False,
                users=[
                    "userid1",
                    "userid2",
                ],
            ),
        ),
        secret_refs=[
            openstack.keymanager.ContainerV1SecretRefArgs(
                name="certificate",
                secret_ref=openstack_keymanager_secret_v1["certificate_1"]["secret_ref"],
            ),
            openstack.keymanager.ContainerV1SecretRefArgs(
                name="private_key",
                secret_ref=openstack_keymanager_secret_v1["private_key_1"]["secret_ref"],
            ),
            openstack.keymanager.ContainerV1SecretRefArgs(
                name="intermediates",
                secret_ref=openstack_keymanager_secret_v1["intermediate_1"]["secret_ref"],
            ),
        ],
        type="certificate")
    
    import * as pulumi from "@pulumi/pulumi";
    import * as openstack from "@pulumi/openstack";
    
    const tls1 = new openstack.keymanager.ContainerV1("tls1", {
        acl: {
            read: {
                projectAccess: false,
                users: [
                    "userid1",
                    "userid2",
                ],
            },
        },
        secretRefs: [
            {
                name: "certificate",
                secretRef: openstack_keymanager_secret_v1.certificate_1.secret_ref,
            },
            {
                name: "private_key",
                secretRef: openstack_keymanager_secret_v1.private_key_1.secret_ref,
            },
            {
                name: "intermediates",
                secretRef: openstack_keymanager_secret_v1.intermediate_1.secret_ref,
            },
        ],
        type: "certificate",
    });
    
    resources:
      tls1:
        type: openstack:keymanager:ContainerV1
        properties:
          acl:
            read:
              projectAccess: false
              users:
                - userid1
                - userid2
          secretRefs:
            - name: certificate
              secretRef: ${openstack_keymanager_secret_v1.certificate_1.secret_ref}
            - name: private_key
              secretRef: ${openstack_keymanager_secret_v1.private_key_1.secret_ref}
            - name: intermediates
              secretRef: ${openstack_keymanager_secret_v1.intermediate_1.secret_ref}
          type: certificate
    

    Create ContainerV1 Resource

    new ContainerV1(name: string, args: ContainerV1Args, opts?: CustomResourceOptions);
    @overload
    def ContainerV1(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    acl: Optional[ContainerV1AclArgs] = None,
                    name: Optional[str] = None,
                    region: Optional[str] = None,
                    secret_refs: Optional[Sequence[ContainerV1SecretRefArgs]] = None,
                    type: Optional[str] = None)
    @overload
    def ContainerV1(resource_name: str,
                    args: ContainerV1Args,
                    opts: Optional[ResourceOptions] = None)
    func NewContainerV1(ctx *Context, name string, args ContainerV1Args, opts ...ResourceOption) (*ContainerV1, error)
    public ContainerV1(string name, ContainerV1Args args, CustomResourceOptions? opts = null)
    public ContainerV1(String name, ContainerV1Args args)
    public ContainerV1(String name, ContainerV1Args args, CustomResourceOptions options)
    
    type: openstack:keymanager:ContainerV1
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    name string
    The unique name of the resource.
    args ContainerV1Args
    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 ContainerV1Args
    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 ContainerV1Args
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ContainerV1Args
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ContainerV1Args
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    ContainerV1 Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The ContainerV1 resource accepts the following input properties:

    Type string

    Used to indicate the type of container. Must be one of generic, rsa or certificate.

    Acl Pulumi.OpenStack.KeyManager.Inputs.ContainerV1AclArgs

    Allows to control an access to a container. Currently only the read operation is supported. If not specified, the container is accessible project wide. The read structure is described below.

    Name string

    Human-readable name for the Container. Does not have to be unique.

    Region string

    The region in which to obtain the V1 KeyManager client. A KeyManager client is needed to create a container. If omitted, the region argument of the provider is used. Changing this creates a new V1 container.

    SecretRefs List<Pulumi.OpenStack.KeyManager.Inputs.ContainerV1SecretRefArgs>

    A set of dictionaries containing references to secrets. The structure is described below.

    Type string

    Used to indicate the type of container. Must be one of generic, rsa or certificate.

    Acl ContainerV1AclArgs

    Allows to control an access to a container. Currently only the read operation is supported. If not specified, the container is accessible project wide. The read structure is described below.

    Name string

    Human-readable name for the Container. Does not have to be unique.

    Region string

    The region in which to obtain the V1 KeyManager client. A KeyManager client is needed to create a container. If omitted, the region argument of the provider is used. Changing this creates a new V1 container.

    SecretRefs []ContainerV1SecretRefArgs

    A set of dictionaries containing references to secrets. The structure is described below.

    type String

    Used to indicate the type of container. Must be one of generic, rsa or certificate.

    acl ContainerV1AclArgs

    Allows to control an access to a container. Currently only the read operation is supported. If not specified, the container is accessible project wide. The read structure is described below.

    name String

    Human-readable name for the Container. Does not have to be unique.

    region String

    The region in which to obtain the V1 KeyManager client. A KeyManager client is needed to create a container. If omitted, the region argument of the provider is used. Changing this creates a new V1 container.

    secretRefs List<ContainerV1SecretRefArgs>

    A set of dictionaries containing references to secrets. The structure is described below.

    type string

    Used to indicate the type of container. Must be one of generic, rsa or certificate.

    acl ContainerV1AclArgs

    Allows to control an access to a container. Currently only the read operation is supported. If not specified, the container is accessible project wide. The read structure is described below.

    name string

    Human-readable name for the Container. Does not have to be unique.

    region string

    The region in which to obtain the V1 KeyManager client. A KeyManager client is needed to create a container. If omitted, the region argument of the provider is used. Changing this creates a new V1 container.

    secretRefs ContainerV1SecretRefArgs[]

    A set of dictionaries containing references to secrets. The structure is described below.

    type str

    Used to indicate the type of container. Must be one of generic, rsa or certificate.

    acl ContainerV1AclArgs

    Allows to control an access to a container. Currently only the read operation is supported. If not specified, the container is accessible project wide. The read structure is described below.

    name str

    Human-readable name for the Container. Does not have to be unique.

    region str

    The region in which to obtain the V1 KeyManager client. A KeyManager client is needed to create a container. If omitted, the region argument of the provider is used. Changing this creates a new V1 container.

    secret_refs Sequence[ContainerV1SecretRefArgs]

    A set of dictionaries containing references to secrets. The structure is described below.

    type String

    Used to indicate the type of container. Must be one of generic, rsa or certificate.

    acl Property Map

    Allows to control an access to a container. Currently only the read operation is supported. If not specified, the container is accessible project wide. The read structure is described below.

    name String

    Human-readable name for the Container. Does not have to be unique.

    region String

    The region in which to obtain the V1 KeyManager client. A KeyManager client is needed to create a container. If omitted, the region argument of the provider is used. Changing this creates a new V1 container.

    secretRefs List<Property Map>

    A set of dictionaries containing references to secrets. The structure is described below.

    Outputs

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

    Consumers List<Pulumi.OpenStack.KeyManager.Outputs.ContainerV1Consumer>

    The list of the container consumers. The structure is described below.

    ContainerRef string

    The container reference / where to find the container.

    CreatedAt string

    The date the container ACL was created.

    CreatorId string

    The creator of the container.

    Id string

    The provider-assigned unique ID for this managed resource.

    Status string

    The status of the container.

    UpdatedAt string

    The date the container ACL was last updated.

    Consumers []ContainerV1Consumer

    The list of the container consumers. The structure is described below.

    ContainerRef string

    The container reference / where to find the container.

    CreatedAt string

    The date the container ACL was created.

    CreatorId string

    The creator of the container.

    Id string

    The provider-assigned unique ID for this managed resource.

    Status string

    The status of the container.

    UpdatedAt string

    The date the container ACL was last updated.

    consumers List<ContainerV1Consumer>

    The list of the container consumers. The structure is described below.

    containerRef String

    The container reference / where to find the container.

    createdAt String

    The date the container ACL was created.

    creatorId String

    The creator of the container.

    id String

    The provider-assigned unique ID for this managed resource.

    status String

    The status of the container.

    updatedAt String

    The date the container ACL was last updated.

    consumers ContainerV1Consumer[]

    The list of the container consumers. The structure is described below.

    containerRef string

    The container reference / where to find the container.

    createdAt string

    The date the container ACL was created.

    creatorId string

    The creator of the container.

    id string

    The provider-assigned unique ID for this managed resource.

    status string

    The status of the container.

    updatedAt string

    The date the container ACL was last updated.

    consumers Sequence[ContainerV1Consumer]

    The list of the container consumers. The structure is described below.

    container_ref str

    The container reference / where to find the container.

    created_at str

    The date the container ACL was created.

    creator_id str

    The creator of the container.

    id str

    The provider-assigned unique ID for this managed resource.

    status str

    The status of the container.

    updated_at str

    The date the container ACL was last updated.

    consumers List<Property Map>

    The list of the container consumers. The structure is described below.

    containerRef String

    The container reference / where to find the container.

    createdAt String

    The date the container ACL was created.

    creatorId String

    The creator of the container.

    id String

    The provider-assigned unique ID for this managed resource.

    status String

    The status of the container.

    updatedAt String

    The date the container ACL was last updated.

    Look up Existing ContainerV1 Resource

    Get an existing ContainerV1 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?: ContainerV1State, opts?: CustomResourceOptions): ContainerV1
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            acl: Optional[ContainerV1AclArgs] = None,
            consumers: Optional[Sequence[ContainerV1ConsumerArgs]] = None,
            container_ref: Optional[str] = None,
            created_at: Optional[str] = None,
            creator_id: Optional[str] = None,
            name: Optional[str] = None,
            region: Optional[str] = None,
            secret_refs: Optional[Sequence[ContainerV1SecretRefArgs]] = None,
            status: Optional[str] = None,
            type: Optional[str] = None,
            updated_at: Optional[str] = None) -> ContainerV1
    func GetContainerV1(ctx *Context, name string, id IDInput, state *ContainerV1State, opts ...ResourceOption) (*ContainerV1, error)
    public static ContainerV1 Get(string name, Input<string> id, ContainerV1State? state, CustomResourceOptions? opts = null)
    public static ContainerV1 get(String name, Output<String> id, ContainerV1State state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    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:
    Acl Pulumi.OpenStack.KeyManager.Inputs.ContainerV1AclArgs

    Allows to control an access to a container. Currently only the read operation is supported. If not specified, the container is accessible project wide. The read structure is described below.

    Consumers List<Pulumi.OpenStack.KeyManager.Inputs.ContainerV1ConsumerArgs>

    The list of the container consumers. The structure is described below.

    ContainerRef string

    The container reference / where to find the container.

    CreatedAt string

    The date the container ACL was created.

    CreatorId string

    The creator of the container.

    Name string

    Human-readable name for the Container. Does not have to be unique.

    Region string

    The region in which to obtain the V1 KeyManager client. A KeyManager client is needed to create a container. If omitted, the region argument of the provider is used. Changing this creates a new V1 container.

    SecretRefs List<Pulumi.OpenStack.KeyManager.Inputs.ContainerV1SecretRefArgs>

    A set of dictionaries containing references to secrets. The structure is described below.

    Status string

    The status of the container.

    Type string

    Used to indicate the type of container. Must be one of generic, rsa or certificate.

    UpdatedAt string

    The date the container ACL was last updated.

    Acl ContainerV1AclArgs

    Allows to control an access to a container. Currently only the read operation is supported. If not specified, the container is accessible project wide. The read structure is described below.

    Consumers []ContainerV1ConsumerArgs

    The list of the container consumers. The structure is described below.

    ContainerRef string

    The container reference / where to find the container.

    CreatedAt string

    The date the container ACL was created.

    CreatorId string

    The creator of the container.

    Name string

    Human-readable name for the Container. Does not have to be unique.

    Region string

    The region in which to obtain the V1 KeyManager client. A KeyManager client is needed to create a container. If omitted, the region argument of the provider is used. Changing this creates a new V1 container.

    SecretRefs []ContainerV1SecretRefArgs

    A set of dictionaries containing references to secrets. The structure is described below.

    Status string

    The status of the container.

    Type string

    Used to indicate the type of container. Must be one of generic, rsa or certificate.

    UpdatedAt string

    The date the container ACL was last updated.

    acl ContainerV1AclArgs

    Allows to control an access to a container. Currently only the read operation is supported. If not specified, the container is accessible project wide. The read structure is described below.

    consumers List<ContainerV1ConsumerArgs>

    The list of the container consumers. The structure is described below.

    containerRef String

    The container reference / where to find the container.

    createdAt String

    The date the container ACL was created.

    creatorId String

    The creator of the container.

    name String

    Human-readable name for the Container. Does not have to be unique.

    region String

    The region in which to obtain the V1 KeyManager client. A KeyManager client is needed to create a container. If omitted, the region argument of the provider is used. Changing this creates a new V1 container.

    secretRefs List<ContainerV1SecretRefArgs>

    A set of dictionaries containing references to secrets. The structure is described below.

    status String

    The status of the container.

    type String

    Used to indicate the type of container. Must be one of generic, rsa or certificate.

    updatedAt String

    The date the container ACL was last updated.

    acl ContainerV1AclArgs

    Allows to control an access to a container. Currently only the read operation is supported. If not specified, the container is accessible project wide. The read structure is described below.

    consumers ContainerV1ConsumerArgs[]

    The list of the container consumers. The structure is described below.

    containerRef string

    The container reference / where to find the container.

    createdAt string

    The date the container ACL was created.

    creatorId string

    The creator of the container.

    name string

    Human-readable name for the Container. Does not have to be unique.

    region string

    The region in which to obtain the V1 KeyManager client. A KeyManager client is needed to create a container. If omitted, the region argument of the provider is used. Changing this creates a new V1 container.

    secretRefs ContainerV1SecretRefArgs[]

    A set of dictionaries containing references to secrets. The structure is described below.

    status string

    The status of the container.

    type string

    Used to indicate the type of container. Must be one of generic, rsa or certificate.

    updatedAt string

    The date the container ACL was last updated.

    acl ContainerV1AclArgs

    Allows to control an access to a container. Currently only the read operation is supported. If not specified, the container is accessible project wide. The read structure is described below.

    consumers Sequence[ContainerV1ConsumerArgs]

    The list of the container consumers. The structure is described below.

    container_ref str

    The container reference / where to find the container.

    created_at str

    The date the container ACL was created.

    creator_id str

    The creator of the container.

    name str

    Human-readable name for the Container. Does not have to be unique.

    region str

    The region in which to obtain the V1 KeyManager client. A KeyManager client is needed to create a container. If omitted, the region argument of the provider is used. Changing this creates a new V1 container.

    secret_refs Sequence[ContainerV1SecretRefArgs]

    A set of dictionaries containing references to secrets. The structure is described below.

    status str

    The status of the container.

    type str

    Used to indicate the type of container. Must be one of generic, rsa or certificate.

    updated_at str

    The date the container ACL was last updated.

    acl Property Map

    Allows to control an access to a container. Currently only the read operation is supported. If not specified, the container is accessible project wide. The read structure is described below.

    consumers List<Property Map>

    The list of the container consumers. The structure is described below.

    containerRef String

    The container reference / where to find the container.

    createdAt String

    The date the container ACL was created.

    creatorId String

    The creator of the container.

    name String

    Human-readable name for the Container. Does not have to be unique.

    region String

    The region in which to obtain the V1 KeyManager client. A KeyManager client is needed to create a container. If omitted, the region argument of the provider is used. Changing this creates a new V1 container.

    secretRefs List<Property Map>

    A set of dictionaries containing references to secrets. The structure is described below.

    status String

    The status of the container.

    type String

    Used to indicate the type of container. Must be one of generic, rsa or certificate.

    updatedAt String

    The date the container ACL was last updated.

    Supporting Types

    ContainerV1Acl

    ContainerV1AclRead

    CreatedAt string

    The date the container ACL was created.

    ProjectAccess bool

    Whether the container is accessible project wide. Defaults to true.

    UpdatedAt string

    The date the container ACL was last updated.

    Users List<string>

    The list of user IDs, which are allowed to access the container, when project_access is set to false.

    CreatedAt string

    The date the container ACL was created.

    ProjectAccess bool

    Whether the container is accessible project wide. Defaults to true.

    UpdatedAt string

    The date the container ACL was last updated.

    Users []string

    The list of user IDs, which are allowed to access the container, when project_access is set to false.

    createdAt String

    The date the container ACL was created.

    projectAccess Boolean

    Whether the container is accessible project wide. Defaults to true.

    updatedAt String

    The date the container ACL was last updated.

    users List<String>

    The list of user IDs, which are allowed to access the container, when project_access is set to false.

    createdAt string

    The date the container ACL was created.

    projectAccess boolean

    Whether the container is accessible project wide. Defaults to true.

    updatedAt string

    The date the container ACL was last updated.

    users string[]

    The list of user IDs, which are allowed to access the container, when project_access is set to false.

    created_at str

    The date the container ACL was created.

    project_access bool

    Whether the container is accessible project wide. Defaults to true.

    updated_at str

    The date the container ACL was last updated.

    users Sequence[str]

    The list of user IDs, which are allowed to access the container, when project_access is set to false.

    createdAt String

    The date the container ACL was created.

    projectAccess Boolean

    Whether the container is accessible project wide. Defaults to true.

    updatedAt String

    The date the container ACL was last updated.

    users List<String>

    The list of user IDs, which are allowed to access the container, when project_access is set to false.

    ContainerV1Consumer

    Name string

    Human-readable name for the Container. Does not have to be unique.

    Url string

    The consumer URL.

    Name string

    Human-readable name for the Container. Does not have to be unique.

    Url string

    The consumer URL.

    name String

    Human-readable name for the Container. Does not have to be unique.

    url String

    The consumer URL.

    name string

    Human-readable name for the Container. Does not have to be unique.

    url string

    The consumer URL.

    name str

    Human-readable name for the Container. Does not have to be unique.

    url str

    The consumer URL.

    name String

    Human-readable name for the Container. Does not have to be unique.

    url String

    The consumer URL.

    ContainerV1SecretRef

    SecretRef string

    The secret reference / where to find the secret, URL.

    Name string

    The name of the secret reference. The reference names must correspond the container type, more details are available here.

    SecretRef string

    The secret reference / where to find the secret, URL.

    Name string

    The name of the secret reference. The reference names must correspond the container type, more details are available here.

    secretRef String

    The secret reference / where to find the secret, URL.

    name String

    The name of the secret reference. The reference names must correspond the container type, more details are available here.

    secretRef string

    The secret reference / where to find the secret, URL.

    name string

    The name of the secret reference. The reference names must correspond the container type, more details are available here.

    secret_ref str

    The secret reference / where to find the secret, URL.

    name str

    The name of the secret reference. The reference names must correspond the container type, more details are available here.

    secretRef String

    The secret reference / where to find the secret, URL.

    name String

    The name of the secret reference. The reference names must correspond the container type, more details are available here.

    Import

    Containers can be imported using the container id (the last part of the container reference), e.g.

     $ pulumi import openstack:keymanager/containerV1:ContainerV1 container_1 0c6cd26a-c012-4d7b-8034-057c0f1c2953
    

    Package Details

    Repository
    OpenStack pulumi/pulumi-openstack
    License
    Apache-2.0
    Notes

    This Pulumi package is based on the openstack Terraform Provider.

    openstack logo
    OpenStack v3.12.1 published on Thursday, Mar 23, 2023 by Pulumi