
com.pulumi.vault.kotlin.Namespace.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.vault.kotlin
import com.pulumi.core.Output
import com.pulumi.kotlin.KotlinCustomResource
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.ResourceMapper
import com.pulumi.kotlin.options.CustomResourceOptions
import com.pulumi.kotlin.options.CustomResourceOptionsBuilder
import com.pulumi.resources.Resource
import kotlin.Any
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.Map
/**
* Builder for [Namespace].
*/
@PulumiTagMarker
public class NamespaceResourceBuilder internal constructor() {
public var name: String? = null
public var args: NamespaceArgs = NamespaceArgs()
public var opts: CustomResourceOptions = CustomResourceOptions()
/**
* @param name The _unique_ name of the resulting resource.
*/
public fun name(`value`: String) {
this.name = value
}
/**
* @param block The arguments to use to populate this resource's properties.
*/
public suspend fun args(block: suspend NamespaceArgsBuilder.() -> Unit) {
val builder = NamespaceArgsBuilder()
block(builder)
this.args = builder.build()
}
/**
* @param block A bag of options that control this resource's behavior.
*/
public suspend fun opts(block: suspend CustomResourceOptionsBuilder.() -> Unit) {
this.opts = com.pulumi.kotlin.options.CustomResourceOptions.opts(block)
}
internal fun build(): Namespace {
val builtJavaResource = com.pulumi.vault.Namespace(
this.name,
this.args.toJava(),
this.opts.toJava(),
)
return Namespace(builtJavaResource)
}
}
/**
*
* ## Import
* Namespaces can be imported using its `name` as accessor id
* ```sh
* $ pulumi import vault:index/namespace:Namespace example
* ```
* If the declared resource is imported and intends to support namespaces using a provider alias, then the name is relative to the namespace path.
* hcl
* provider "vault" {
* # Configuration options
* namespace = "example"
* alias = "example"
* }
* resource "vault_namespace" "example2" {
* provider = vault.example
* path = "example2"
* }
* ```sh
* $ pulumi import vault:index/namespace:Namespace example2 example2
* ```
* $ terraform state show vault_namespace.example2
* vault_namespace.example2:
* resource "vault_namespace" "example2" {
* id = "example/example2/"
* namespace_id =
* path = "example2"
* path_fq = "example2"
* }
*/
public class Namespace internal constructor(
override val javaResource: com.pulumi.vault.Namespace,
) : KotlinCustomResource(javaResource, NamespaceMapper) {
/**
* Custom metadata describing this namespace. Value type
* is `map[string]string`. Requires Vault version 1.12+.
*/
public val customMetadata: Output
© 2015 - 2025 Weber Informatics LLC | Privacy Policy