1. Packages
  2. Openstack Provider
  3. API Docs
  4. keymanager
  5. ContainerV1
OpenStack v5.0.3 published on Wednesday, Feb 12, 2025 by Pulumi

openstack.keymanager.ContainerV1

Explore with Pulumi AI

Manages a V1 Barbican container resource within OpenStack.

Example Usage

Simple container

A container with the TLS certificates.

import * as pulumi from "@pulumi/pulumi";
import * as openstack from "@pulumi/openstack";
import * as std from "@pulumi/std";

const certificate1 = new openstack.keymanager.SecretV1("certificate_1", {
    name: "certificate",
    payload: std.file({
        input: "cert.pem",
    }).then(invoke => invoke.result),
    secretType: "certificate",
    payloadContentType: "text/plain",
});
const privateKey1 = new openstack.keymanager.SecretV1("private_key_1", {
    name: "private_key",
    payload: std.file({
        input: "cert-key.pem",
    }).then(invoke => invoke.result),
    secretType: "private",
    payloadContentType: "text/plain",
});
const intermediate1 = new openstack.keymanager.SecretV1("intermediate_1", {
    name: "intermediate",
    payload: std.file({
        input: "intermediate-ca.pem",
    }).then(invoke => invoke.result),
    secretType: "certificate",
    payloadContentType: "text/plain",
});
const tls1 = new openstack.keymanager.ContainerV1("tls_1", {
    name: "tls",
    type: "certificate",
    secretRefs: [
        {
            name: "certificate",
            secretRef: certificate1.secretRef,
        },
        {
            name: "private_key",
            secretRef: privateKey1.secretRef,
        },
        {
            name: "intermediates",
            secretRef: intermediate1.secretRef,
        },
    ],
});
Copy
import pulumi
import pulumi_openstack as openstack
import pulumi_std as std

certificate1 = openstack.keymanager.SecretV1("certificate_1",
    name="certificate",
    payload=std.file(input="cert.pem").result,
    secret_type="certificate",
    payload_content_type="text/plain")
private_key1 = openstack.keymanager.SecretV1("private_key_1",
    name="private_key",
    payload=std.file(input="cert-key.pem").result,
    secret_type="private",
    payload_content_type="text/plain")
intermediate1 = openstack.keymanager.SecretV1("intermediate_1",
    name="intermediate",
    payload=std.file(input="intermediate-ca.pem").result,
    secret_type="certificate",
    payload_content_type="text/plain")
tls1 = openstack.keymanager.ContainerV1("tls_1",
    name="tls",
    type="certificate",
    secret_refs=[
        {
            "name": "certificate",
            "secret_ref": certificate1.secret_ref,
        },
        {
            "name": "private_key",
            "secret_ref": private_key1.secret_ref,
        },
        {
            "name": "intermediates",
            "secret_ref": intermediate1.secret_ref,
        },
    ])
Copy
package main

import (
	"github.com/pulumi/pulumi-openstack/sdk/v5/go/openstack/keymanager"
	"github.com/pulumi/pulumi-std/sdk/go/std"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		invokeFile, err := std.File(ctx, &std.FileArgs{
			Input: "cert.pem",
		}, nil)
		if err != nil {
			return err
		}
		certificate1, err := keymanager.NewSecretV1(ctx, "certificate_1", &keymanager.SecretV1Args{
			Name:               pulumi.String("certificate"),
			Payload:            pulumi.String(invokeFile.Result),
			SecretType:         pulumi.String("certificate"),
			PayloadContentType: pulumi.String("text/plain"),
		})
		if err != nil {
			return err
		}
		invokeFile1, err := std.File(ctx, &std.FileArgs{
			Input: "cert-key.pem",
		}, nil)
		if err != nil {
			return err
		}
		privateKey1, err := keymanager.NewSecretV1(ctx, "private_key_1", &keymanager.SecretV1Args{
			Name:               pulumi.String("private_key"),
			Payload:            pulumi.String(invokeFile1.Result),
			SecretType:         pulumi.String("private"),
			PayloadContentType: pulumi.String("text/plain"),
		})
		if err != nil {
			return err
		}
		invokeFile2, err := std.File(ctx, &std.FileArgs{
			Input: "intermediate-ca.pem",
		}, nil)
		if err != nil {
			return err
		}
		intermediate1, err := keymanager.NewSecretV1(ctx, "intermediate_1", &keymanager.SecretV1Args{
			Name:               pulumi.String("intermediate"),
			Payload:            pulumi.String(invokeFile2.Result),
			SecretType:         pulumi.String("certificate"),
			PayloadContentType: pulumi.String("text/plain"),
		})
		if err != nil {
			return err
		}
		_, err = keymanager.NewContainerV1(ctx, "tls_1", &keymanager.ContainerV1Args{
			Name: pulumi.String("tls"),
			Type: pulumi.String("certificate"),
			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,
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using OpenStack = Pulumi.OpenStack;
using Std = Pulumi.Std;

return await Deployment.RunAsync(() => 
{
    var certificate1 = new OpenStack.KeyManager.SecretV1("certificate_1", new()
    {
        Name = "certificate",
        Payload = Std.File.Invoke(new()
        {
            Input = "cert.pem",
        }).Apply(invoke => invoke.Result),
        SecretType = "certificate",
        PayloadContentType = "text/plain",
    });

    var privateKey1 = new OpenStack.KeyManager.SecretV1("private_key_1", new()
    {
        Name = "private_key",
        Payload = Std.File.Invoke(new()
        {
            Input = "cert-key.pem",
        }).Apply(invoke => invoke.Result),
        SecretType = "private",
        PayloadContentType = "text/plain",
    });

    var intermediate1 = new OpenStack.KeyManager.SecretV1("intermediate_1", new()
    {
        Name = "intermediate",
        Payload = Std.File.Invoke(new()
        {
            Input = "intermediate-ca.pem",
        }).Apply(invoke => invoke.Result),
        SecretType = "certificate",
        PayloadContentType = "text/plain",
    });

    var tls1 = new OpenStack.KeyManager.ContainerV1("tls_1", new()
    {
        Name = "tls",
        Type = "certificate",
        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,
            },
        },
    });

});
Copy
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 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()
            .name("certificate")
            .payload(StdFunctions.file(FileArgs.builder()
                .input("cert.pem")
                .build()).result())
            .secretType("certificate")
            .payloadContentType("text/plain")
            .build());

        var privateKey1 = new SecretV1("privateKey1", SecretV1Args.builder()
            .name("private_key")
            .payload(StdFunctions.file(FileArgs.builder()
                .input("cert-key.pem")
                .build()).result())
            .secretType("private")
            .payloadContentType("text/plain")
            .build());

        var intermediate1 = new SecretV1("intermediate1", SecretV1Args.builder()
            .name("intermediate")
            .payload(StdFunctions.file(FileArgs.builder()
                .input("intermediate-ca.pem")
                .build()).result())
            .secretType("certificate")
            .payloadContentType("text/plain")
            .build());

        var tls1 = new ContainerV1("tls1", ContainerV1Args.builder()
            .name("tls")
            .type("certificate")
            .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())
            .build());

    }
}
Copy
resources:
  certificate1:
    type: openstack:keymanager:SecretV1
    name: certificate_1
    properties:
      name: certificate
      payload:
        fn::invoke:
          function: std:file
          arguments:
            input: cert.pem
          return: result
      secretType: certificate
      payloadContentType: text/plain
  privateKey1:
    type: openstack:keymanager:SecretV1
    name: private_key_1
    properties:
      name: private_key
      payload:
        fn::invoke:
          function: std:file
          arguments:
            input: cert-key.pem
          return: result
      secretType: private
      payloadContentType: text/plain
  intermediate1:
    type: openstack:keymanager:SecretV1
    name: intermediate_1
    properties:
      name: intermediate
      payload:
        fn::invoke:
          function: std:file
          arguments:
            input: intermediate-ca.pem
          return: result
      secretType: certificate
      payloadContentType: text/plain
  tls1:
    type: openstack:keymanager:ContainerV1
    name: tls_1
    properties:
      name: tls
      type: certificate
      secretRefs:
        - name: certificate
          secretRef: ${certificate1.secretRef}
        - name: private_key
          secretRef: ${privateKey1.secretRef}
        - name: intermediates
          secretRef: ${intermediate1.secretRef}
Copy

Container with the ACL

Note Only read ACLs are supported

import * as pulumi from "@pulumi/pulumi";
import * as openstack from "@pulumi/openstack";

const tls1 = new openstack.keymanager.ContainerV1("tls_1", {
    name: "tls",
    type: "certificate",
    secretRefs: [
        {
            name: "certificate",
            secretRef: certificate1.secretRef,
        },
        {
            name: "private_key",
            secretRef: privateKey1.secretRef,
        },
        {
            name: "intermediates",
            secretRef: intermediate1.secretRef,
        },
    ],
    acl: {
        read: {
            projectAccess: false,
            users: [
                "userid1",
                "userid2",
            ],
        },
    },
});
Copy
import pulumi
import pulumi_openstack as openstack

tls1 = openstack.keymanager.ContainerV1("tls_1",
    name="tls",
    type="certificate",
    secret_refs=[
        {
            "name": "certificate",
            "secret_ref": certificate1["secretRef"],
        },
        {
            "name": "private_key",
            "secret_ref": private_key1["secretRef"],
        },
        {
            "name": "intermediates",
            "secret_ref": intermediate1["secretRef"],
        },
    ],
    acl={
        "read": {
            "project_access": False,
            "users": [
                "userid1",
                "userid2",
            ],
        },
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-openstack/sdk/v5/go/openstack/keymanager"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := keymanager.NewContainerV1(ctx, "tls_1", &keymanager.ContainerV1Args{
			Name: pulumi.String("tls"),
			Type: pulumi.String("certificate"),
			SecretRefs: keymanager.ContainerV1SecretRefArray{
				&keymanager.ContainerV1SecretRefArgs{
					Name:      pulumi.String("certificate"),
					SecretRef: pulumi.Any(certificate1.SecretRef),
				},
				&keymanager.ContainerV1SecretRefArgs{
					Name:      pulumi.String("private_key"),
					SecretRef: pulumi.Any(privateKey1.SecretRef),
				},
				&keymanager.ContainerV1SecretRefArgs{
					Name:      pulumi.String("intermediates"),
					SecretRef: pulumi.Any(intermediate1.SecretRef),
				},
			},
			Acl: &keymanager.ContainerV1AclArgs{
				Read: &keymanager.ContainerV1AclReadArgs{
					ProjectAccess: pulumi.Bool(false),
					Users: pulumi.StringArray{
						pulumi.String("userid1"),
						pulumi.String("userid2"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using OpenStack = Pulumi.OpenStack;

return await Deployment.RunAsync(() => 
{
    var tls1 = new OpenStack.KeyManager.ContainerV1("tls_1", new()
    {
        Name = "tls",
        Type = "certificate",
        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,
            },
        },
        Acl = new OpenStack.KeyManager.Inputs.ContainerV1AclArgs
        {
            Read = new OpenStack.KeyManager.Inputs.ContainerV1AclReadArgs
            {
                ProjectAccess = false,
                Users = new[]
                {
                    "userid1",
                    "userid2",
                },
            },
        },
    });

});
Copy
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.ContainerV1SecretRefArgs;
import com.pulumi.openstack.keymanager.inputs.ContainerV1AclArgs;
import com.pulumi.openstack.keymanager.inputs.ContainerV1AclReadArgs;
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()
            .name("tls")
            .type("certificate")
            .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())
            .acl(ContainerV1AclArgs.builder()
                .read(ContainerV1AclReadArgs.builder()
                    .projectAccess(false)
                    .users(                    
                        "userid1",
                        "userid2")
                    .build())
                .build())
            .build());

    }
}
Copy
resources:
  tls1:
    type: openstack:keymanager:ContainerV1
    name: tls_1
    properties:
      name: tls
      type: certificate
      secretRefs:
        - name: certificate
          secretRef: ${certificate1.secretRef}
        - name: private_key
          secretRef: ${privateKey1.secretRef}
        - name: intermediates
          secretRef: ${intermediate1.secretRef}
      acl:
        read:
          projectAccess: false
          users:
            - userid1
            - userid2
Copy

Create ContainerV1 Resource

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

Constructor syntax

new ContainerV1(name: string, args: ContainerV1Args, opts?: CustomResourceOptions);
@overload
def ContainerV1(resource_name: str,
                args: ContainerV1Args,
                opts: Optional[ResourceOptions] = None)

@overload
def ContainerV1(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                type: Optional[str] = None,
                acl: Optional[ContainerV1AclArgs] = None,
                name: Optional[str] = None,
                region: Optional[str] = None,
                secret_refs: Optional[Sequence[ContainerV1SecretRefArgs]] = 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.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. ContainerV1Args
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. 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 This property is required. string
The unique name of the resource.
args This property is required. ContainerV1Args
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. ContainerV1Args
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. ContainerV1Args
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 containerV1Resource = new OpenStack.KeyManager.ContainerV1("containerV1Resource", new()
{
    Type = "string",
    Acl = new OpenStack.KeyManager.Inputs.ContainerV1AclArgs
    {
        Read = new OpenStack.KeyManager.Inputs.ContainerV1AclReadArgs
        {
            CreatedAt = "string",
            ProjectAccess = false,
            UpdatedAt = "string",
            Users = new[]
            {
                "string",
            },
        },
    },
    Name = "string",
    Region = "string",
    SecretRefs = new[]
    {
        new OpenStack.KeyManager.Inputs.ContainerV1SecretRefArgs
        {
            SecretRef = "string",
            Name = "string",
        },
    },
});
Copy
example, err := keymanager.NewContainerV1(ctx, "containerV1Resource", &keymanager.ContainerV1Args{
	Type: pulumi.String("string"),
	Acl: &keymanager.ContainerV1AclArgs{
		Read: &keymanager.ContainerV1AclReadArgs{
			CreatedAt:     pulumi.String("string"),
			ProjectAccess: pulumi.Bool(false),
			UpdatedAt:     pulumi.String("string"),
			Users: pulumi.StringArray{
				pulumi.String("string"),
			},
		},
	},
	Name:   pulumi.String("string"),
	Region: pulumi.String("string"),
	SecretRefs: keymanager.ContainerV1SecretRefArray{
		&keymanager.ContainerV1SecretRefArgs{
			SecretRef: pulumi.String("string"),
			Name:      pulumi.String("string"),
		},
	},
})
Copy
var containerV1Resource = new ContainerV1("containerV1Resource", ContainerV1Args.builder()
    .type("string")
    .acl(ContainerV1AclArgs.builder()
        .read(ContainerV1AclReadArgs.builder()
            .createdAt("string")
            .projectAccess(false)
            .updatedAt("string")
            .users("string")
            .build())
        .build())
    .name("string")
    .region("string")
    .secretRefs(ContainerV1SecretRefArgs.builder()
        .secretRef("string")
        .name("string")
        .build())
    .build());
Copy
container_v1_resource = openstack.keymanager.ContainerV1("containerV1Resource",
    type="string",
    acl={
        "read": {
            "created_at": "string",
            "project_access": False,
            "updated_at": "string",
            "users": ["string"],
        },
    },
    name="string",
    region="string",
    secret_refs=[{
        "secret_ref": "string",
        "name": "string",
    }])
Copy
const containerV1Resource = new openstack.keymanager.ContainerV1("containerV1Resource", {
    type: "string",
    acl: {
        read: {
            createdAt: "string",
            projectAccess: false,
            updatedAt: "string",
            users: ["string"],
        },
    },
    name: "string",
    region: "string",
    secretRefs: [{
        secretRef: "string",
        name: "string",
    }],
});
Copy
type: openstack:keymanager:ContainerV1
properties:
    acl:
        read:
            createdAt: string
            projectAccess: false
            updatedAt: string
            users:
                - string
    name: string
    region: string
    secretRefs:
        - name: string
          secretRef: string
    type: string
Copy

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

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The ContainerV1 resource accepts the following input properties:

Type
This property is required.
Changes to this property will trigger replacement.
string
Used to indicate the type of container. Must be one of generic, rsa or certificate.
Acl Pulumi.OpenStack.KeyManager.Inputs.ContainerV1Acl
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 Changes to this property will trigger replacement. string
Human-readable name for the Container. Does not have to be unique.
Region Changes to this property will trigger replacement. 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.ContainerV1SecretRef>
A set of dictionaries containing references to secrets. The structure is described below.
Type
This property is required.
Changes to this property will trigger replacement.
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 Changes to this property will trigger replacement. string
Human-readable name for the Container. Does not have to be unique.
Region Changes to this property will trigger replacement. 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
This property is required.
Changes to this property will trigger replacement.
String
Used to indicate the type of container. Must be one of generic, rsa or certificate.
acl ContainerV1Acl
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 Changes to this property will trigger replacement. String
Human-readable name for the Container. Does not have to be unique.
region Changes to this property will trigger replacement. 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<ContainerV1SecretRef>
A set of dictionaries containing references to secrets. The structure is described below.
type
This property is required.
Changes to this property will trigger replacement.
string
Used to indicate the type of container. Must be one of generic, rsa or certificate.
acl ContainerV1Acl
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 Changes to this property will trigger replacement. string
Human-readable name for the Container. Does not have to be unique.
region Changes to this property will trigger replacement. 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 ContainerV1SecretRef[]
A set of dictionaries containing references to secrets. The structure is described below.
type
This property is required.
Changes to this property will trigger replacement.
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 Changes to this property will trigger replacement. str
Human-readable name for the Container. Does not have to be unique.
region Changes to this property will trigger replacement. 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
This property is required.
Changes to this property will trigger replacement.
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 Changes to this property will trigger replacement. String
Human-readable name for the Container. Does not have to be unique.
region Changes to this property will trigger replacement. 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 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 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 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 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 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 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 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 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 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 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 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 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)
resources:  _:    type: openstack:keymanager:ContainerV1    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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.ContainerV1Acl
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.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 was created.
CreatorId string
The creator of the container.
Name Changes to this property will trigger replacement. string
Human-readable name for the Container. Does not have to be unique.
Region Changes to this property will trigger replacement. 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.ContainerV1SecretRef>
A set of dictionaries containing references to secrets. The structure is described below.
Status string
The status of the container.
Type Changes to this property will trigger replacement. string
Used to indicate the type of container. Must be one of generic, rsa or certificate.
UpdatedAt string
The date the container 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 was created.
CreatorId string
The creator of the container.
Name Changes to this property will trigger replacement. string
Human-readable name for the Container. Does not have to be unique.
Region Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. string
Used to indicate the type of container. Must be one of generic, rsa or certificate.
UpdatedAt string
The date the container was last updated.
acl ContainerV1Acl
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<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 was created.
creatorId String
The creator of the container.
name Changes to this property will trigger replacement. String
Human-readable name for the Container. Does not have to be unique.
region Changes to this property will trigger replacement. 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<ContainerV1SecretRef>
A set of dictionaries containing references to secrets. The structure is described below.
status String
The status of the container.
type Changes to this property will trigger replacement. String
Used to indicate the type of container. Must be one of generic, rsa or certificate.
updatedAt String
The date the container was last updated.
acl ContainerV1Acl
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 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 was created.
creatorId string
The creator of the container.
name Changes to this property will trigger replacement. string
Human-readable name for the Container. Does not have to be unique.
region Changes to this property will trigger replacement. 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 ContainerV1SecretRef[]
A set of dictionaries containing references to secrets. The structure is described below.
status string
The status of the container.
type Changes to this property will trigger replacement. string
Used to indicate the type of container. Must be one of generic, rsa or certificate.
updatedAt string
The date the container 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 was created.
creator_id str
The creator of the container.
name Changes to this property will trigger replacement. str
Human-readable name for the Container. Does not have to be unique.
region Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. str
Used to indicate the type of container. Must be one of generic, rsa or certificate.
updated_at str
The date the container 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 was created.
creatorId String
The creator of the container.
name Changes to this property will trigger replacement. String
Human-readable name for the Container. Does not have to be unique.
region Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. String
Used to indicate the type of container. Must be one of generic, rsa or certificate.
updatedAt String
The date the container was last updated.

Supporting Types

ContainerV1Acl
, ContainerV1AclArgs

ContainerV1AclRead
, ContainerV1AclReadArgs

CreatedAt string
The date the container was created.
ProjectAccess bool
Whether the container is accessible project wide. Defaults to true.
UpdatedAt string
The date the container 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 was created.
ProjectAccess bool
Whether the container is accessible project wide. Defaults to true.
UpdatedAt string
The date the container 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 was created.
projectAccess Boolean
Whether the container is accessible project wide. Defaults to true.
updatedAt String
The date the container 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 was created.
projectAccess boolean
Whether the container is accessible project wide. Defaults to true.
updatedAt string
The date the container 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 was created.
project_access bool
Whether the container is accessible project wide. Defaults to true.
updated_at str
The date the container 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 was created.
projectAccess Boolean
Whether the container is accessible project wide. Defaults to true.
updatedAt String
The date the container 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
, ContainerV1ConsumerArgs

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
, ContainerV1SecretRefArgs

SecretRef This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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
Copy

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

Package Details

Repository
OpenStack pulumi/pulumi-openstack
License
Apache-2.0
Notes
This Pulumi package is based on the openstack Terraform Provider.