All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.googlenative.connectors.v2.kotlin.Entity.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

The newest version!
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.googlenative.connectors.v2.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.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.Map

/**
 * Builder for [Entity].
 */
@PulumiTagMarker
public class EntityResourceBuilder internal constructor() {
    public var name: String? = null

    public var args: EntityArgs = EntityArgs()

    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 EntityArgsBuilder.() -> Unit) {
        val builder = EntityArgsBuilder()
        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(): Entity {
        val builtJavaResource = com.pulumi.googlenative.connectors.v2.Entity(
            this.name,
            this.args.toJava(),
            this.opts.toJava(),
        )
        return Entity(builtJavaResource)
    }
}

/**
 * Creates a new entity row of the specified entity type in the external system. The field values for creating the row are contained in the body of the request. The response message contains a `Entity` message object returned as a response by the external system.
 * Auto-naming is currently not supported for this resource.
 */
public class Entity internal constructor(
    override val javaResource: com.pulumi.googlenative.connectors.v2.Entity,
) : KotlinCustomResource(javaResource, EntityMapper) {
    public val connectionId: Output
        get() = javaResource.connectionId().applyValue({ args0 -> args0 })

    public val entityTypeId: Output
        get() = javaResource.entityTypeId().applyValue({ args0 -> args0 })

    /**
     * Fields of the entity. The key is name of the field and the value contains the applicable `google.protobuf.Value` entry for this field.
     */
    public val fields: Output>
        get() = javaResource.fields().applyValue({ args0 ->
            args0.map({ args0 ->
                args0.key.to(args0.value)
            }).toMap()
        })

    public val location: Output
        get() = javaResource.location().applyValue({ args0 -> args0 })

    /**
     * Resource name of the Entity. Format: projects/{project}/locations/{location}/connections/{connection}/entityTypes/{type}/entities/{id}
     */
    public val name: Output
        get() = javaResource.name().applyValue({ args0 -> args0 })

    public val project: Output
        get() = javaResource.project().applyValue({ args0 -> args0 })
}

public object EntityMapper : ResourceMapper {
    override fun supportsMappingOfType(javaResource: Resource): Boolean =
        com.pulumi.googlenative.connectors.v2.Entity::class == javaResource::class

    override fun map(javaResource: Resource): Entity = Entity(
        javaResource as
            com.pulumi.googlenative.connectors.v2.Entity,
    )
}

/**
 * @see [Entity].
 * @param name The _unique_ name of the resulting resource.
 * @param block Builder for [Entity].
 */
public suspend fun entity(name: String, block: suspend EntityResourceBuilder.() -> Unit): Entity {
    val builder = EntityResourceBuilder()
    builder.name(name)
    block(builder)
    return builder.build()
}

/**
 * @see [Entity].
 * @param name The _unique_ name of the resulting resource.
 */
public fun entity(name: String): Entity {
    val builder = EntityResourceBuilder()
    builder.name(name)
    return builder.build()
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy