Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.googlenative.apigeeregistry.v1.kotlin.SpecArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.googlenative.apigeeregistry.v1.kotlin
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.googlenative.apigeeregistry.v1.SpecArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* Creates a specified spec.
* @property annotations Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts.
* @property apiId
* @property apiSpecId Required. The ID to use for the spec, which will become the final component of the spec's resource name. This value should be 4-63 characters, and valid characters are /a-z-/. Following AIP-162, IDs must not have the form of a UUID.
* @property contents Input only. The contents of the spec. Provided by API callers when specs are created or updated. To access the contents of a spec, use GetApiSpecContents.
* @property description A detailed description.
* @property filename A possibly-hierarchical name used to refer to the spec from other specs.
* @property labels Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed.
* @property location
* @property mimeType A style (format) descriptor for this spec that is specified as a Media Type (https://en.wikipedia.org/wiki/Media_type). Possible values include `application/vnd.apigee.proto`, `application/vnd.apigee.openapi`, and `application/vnd.apigee.graphql`, with possible suffixes representing compression types. These hypothetical names are defined in the vendor tree defined in RFC6838 (https://tools.ietf.org/html/rfc6838) and are not final. Content types can specify compression. Currently only GZip compression is supported (indicated with "+gzip").
* @property name Resource name.
* @property project
* @property sourceUri The original source URI of the spec (if one exists). This is an external location that can be used for reference purposes but which may not be authoritative since this external resource may change after the spec is retrieved.
* @property versionId
*/
public data class SpecArgs(
public val annotations: Output>? = null,
public val apiId: Output? = null,
public val apiSpecId: Output? = null,
public val contents: Output? = null,
public val description: Output? = null,
public val filename: Output? = null,
public val labels: Output>? = null,
public val location: Output? = null,
public val mimeType: Output? = null,
public val name: Output? = null,
public val project: Output? = null,
public val sourceUri: Output? = null,
public val versionId: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.googlenative.apigeeregistry.v1.SpecArgs =
com.pulumi.googlenative.apigeeregistry.v1.SpecArgs.builder()
.annotations(
annotations?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}),
)
.apiId(apiId?.applyValue({ args0 -> args0 }))
.apiSpecId(apiSpecId?.applyValue({ args0 -> args0 }))
.contents(contents?.applyValue({ args0 -> args0 }))
.description(description?.applyValue({ args0 -> args0 }))
.filename(filename?.applyValue({ args0 -> args0 }))
.labels(labels?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
.location(location?.applyValue({ args0 -> args0 }))
.mimeType(mimeType?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.project(project?.applyValue({ args0 -> args0 }))
.sourceUri(sourceUri?.applyValue({ args0 -> args0 }))
.versionId(versionId?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [SpecArgs].
*/
@PulumiTagMarker
public class SpecArgsBuilder internal constructor() {
private var annotations: Output>? = null
private var apiId: Output? = null
private var apiSpecId: Output? = null
private var contents: Output? = null
private var description: Output? = null
private var filename: Output? = null
private var labels: Output>? = null
private var location: Output? = null
private var mimeType: Output? = null
private var name: Output? = null
private var project: Output? = null
private var sourceUri: Output? = null
private var versionId: Output? = null
/**
* @param value Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts.
*/
@JvmName("qksxjmnlnbdvnbsq")
public suspend fun annotations(`value`: Output>) {
this.annotations = value
}
/**
* @param value
*/
@JvmName("mivechwnefvkbuly")
public suspend fun apiId(`value`: Output) {
this.apiId = value
}
/**
* @param value Required. The ID to use for the spec, which will become the final component of the spec's resource name. This value should be 4-63 characters, and valid characters are /a-z-/. Following AIP-162, IDs must not have the form of a UUID.
*/
@JvmName("ejyexbauomyfjixt")
public suspend fun apiSpecId(`value`: Output) {
this.apiSpecId = value
}
/**
* @param value Input only. The contents of the spec. Provided by API callers when specs are created or updated. To access the contents of a spec, use GetApiSpecContents.
*/
@JvmName("pwxfpankxqpihaym")
public suspend fun contents(`value`: Output) {
this.contents = value
}
/**
* @param value A detailed description.
*/
@JvmName("stgbdkkjqmtqstkj")
public suspend fun description(`value`: Output) {
this.description = value
}
/**
* @param value A possibly-hierarchical name used to refer to the spec from other specs.
*/
@JvmName("yjucqwcvxnesidvn")
public suspend fun filename(`value`: Output) {
this.filename = value
}
/**
* @param value Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed.
*/
@JvmName("npyuesdnkjeeumbq")
public suspend fun labels(`value`: Output>) {
this.labels = value
}
/**
* @param value
*/
@JvmName("aijbfebqtfnffmog")
public suspend fun location(`value`: Output) {
this.location = value
}
/**
* @param value A style (format) descriptor for this spec that is specified as a Media Type (https://en.wikipedia.org/wiki/Media_type). Possible values include `application/vnd.apigee.proto`, `application/vnd.apigee.openapi`, and `application/vnd.apigee.graphql`, with possible suffixes representing compression types. These hypothetical names are defined in the vendor tree defined in RFC6838 (https://tools.ietf.org/html/rfc6838) and are not final. Content types can specify compression. Currently only GZip compression is supported (indicated with "+gzip").
*/
@JvmName("tlvmeoqmjimrbjun")
public suspend fun mimeType(`value`: Output) {
this.mimeType = value
}
/**
* @param value Resource name.
*/
@JvmName("nuxqbxbdnbiisniw")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value
*/
@JvmName("eqgerknjffhptdxa")
public suspend fun project(`value`: Output) {
this.project = value
}
/**
* @param value The original source URI of the spec (if one exists). This is an external location that can be used for reference purposes but which may not be authoritative since this external resource may change after the spec is retrieved.
*/
@JvmName("ldpofjfbiqgltfxy")
public suspend fun sourceUri(`value`: Output) {
this.sourceUri = value
}
/**
* @param value
*/
@JvmName("nsgerwdfitexchcv")
public suspend fun versionId(`value`: Output) {
this.versionId = value
}
/**
* @param value Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts.
*/
@JvmName("gulmlfsskumntqsf")
public suspend fun annotations(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.annotations = mapped
}
/**
* @param values Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts.
*/
@JvmName("vmsjhclrgryveyuj")
public fun annotations(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.annotations = mapped
}
/**
* @param value
*/
@JvmName("nyecnxvmmokkojfu")
public suspend fun apiId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.apiId = mapped
}
/**
* @param value Required. The ID to use for the spec, which will become the final component of the spec's resource name. This value should be 4-63 characters, and valid characters are /a-z-/. Following AIP-162, IDs must not have the form of a UUID.
*/
@JvmName("fyatrjdahobbpjfn")
public suspend fun apiSpecId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.apiSpecId = mapped
}
/**
* @param value Input only. The contents of the spec. Provided by API callers when specs are created or updated. To access the contents of a spec, use GetApiSpecContents.
*/
@JvmName("ipvfeqrgllmclwrg")
public suspend fun contents(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.contents = mapped
}
/**
* @param value A detailed description.
*/
@JvmName("mivmldtaiyvvyyfr")
public suspend fun description(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.description = mapped
}
/**
* @param value A possibly-hierarchical name used to refer to the spec from other specs.
*/
@JvmName("nlcuybsldpteimbr")
public suspend fun filename(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.filename = mapped
}
/**
* @param value Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed.
*/
@JvmName("daqexfwnnukxouqk")
public suspend fun labels(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.labels = mapped
}
/**
* @param values Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed.
*/
@JvmName("brhgwtbgkafasbty")
public fun labels(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.labels = mapped
}
/**
* @param value
*/
@JvmName("qiurlftwkconkpud")
public suspend fun location(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.location = mapped
}
/**
* @param value A style (format) descriptor for this spec that is specified as a Media Type (https://en.wikipedia.org/wiki/Media_type). Possible values include `application/vnd.apigee.proto`, `application/vnd.apigee.openapi`, and `application/vnd.apigee.graphql`, with possible suffixes representing compression types. These hypothetical names are defined in the vendor tree defined in RFC6838 (https://tools.ietf.org/html/rfc6838) and are not final. Content types can specify compression. Currently only GZip compression is supported (indicated with "+gzip").
*/
@JvmName("uqaeiqgvbgwjqdat")
public suspend fun mimeType(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.mimeType = mapped
}
/**
* @param value Resource name.
*/
@JvmName("uoisevhefrohfbod")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value
*/
@JvmName("wqyhorvqiabtidpi")
public suspend fun project(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.project = mapped
}
/**
* @param value The original source URI of the spec (if one exists). This is an external location that can be used for reference purposes but which may not be authoritative since this external resource may change after the spec is retrieved.
*/
@JvmName("qjhijocfkorfjnju")
public suspend fun sourceUri(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.sourceUri = mapped
}
/**
* @param value
*/
@JvmName("swlyhiuofgxjpljf")
public suspend fun versionId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.versionId = mapped
}
internal fun build(): SpecArgs = SpecArgs(
annotations = annotations,
apiId = apiId,
apiSpecId = apiSpecId,
contents = contents,
description = description,
filename = filename,
labels = labels,
location = location,
mimeType = mimeType,
name = name,
project = project,
sourceUri = sourceUri,
versionId = versionId,
)
}