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.gcp.cloudrun.kotlin.inputs.ServiceMetadataArgs.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.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gcp.cloudrun.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.cloudrun.inputs.ServiceMetadataArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Int
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
*
* @property annotations Annotations is a key value map stored with a resource that
* may be set by external tools to store and retrieve arbitrary metadata. More
* info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations
* **Note**: The Cloud Run API may add additional annotations that were not provided in your config.
* If the provider plan shows a diff where a server-side annotation is added, you can add it to your config
* or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field.
* Annotations with `run.googleapis.com/` and `autoscaling.knative.dev` are restricted. Use the following annotation
* keys to configure features on a Service:
* - `run.googleapis.com/binary-authorization-breakglass` sets the [Binary Authorization breakglass](https://cloud.google.com/sdk/gcloud/reference/run/deploy#--breakglass).
* - `run.googleapis.com/binary-authorization` sets the [Binary Authorization](https://cloud.google.com/sdk/gcloud/reference/run/deploy#--binary-authorization).
* - `run.googleapis.com/client-name` sets the client name calling the Cloud Run API.
* - `run.googleapis.com/custom-audiences` sets the [custom audiences](https://cloud.google.com/sdk/gcloud/reference/alpha/run/deploy#--add-custom-audiences)
* that can be used in the audience field of ID token for authenticated requests.
* - `run.googleapis.com/description` sets a user defined description for the Service.
* - `run.googleapis.com/ingress` sets the [ingress settings](https://cloud.google.com/sdk/gcloud/reference/run/deploy#--ingress)
* for the Service. For example, `"run.googleapis.com/ingress" = "all"`.
* - `run.googleapis.com/launch-stage` sets the [launch stage](https://cloud.google.com/run/docs/troubleshooting#launch-stage-validation)
* when a preview feature is used. For example, `"run.googleapis.com/launch-stage": "BETA"`
* **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
* Please refer to the field `effective_annotations` for all of the annotations present on the resource.
* @property effectiveAnnotations
* @property effectiveLabels (Output)
* All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
* @property generation (Output)
* A sequence number representing a specific generation of the desired state.
* @property labels Map of string keys and values that can be used to organize and categorize
* (scope and select) objects. May match selectors of replication controllers
* and routes.
* **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
* Please refer to the field `effective_labels` for all of the labels present on the resource.
* @property namespace In Cloud Run the namespace must be equal to either the
* project ID or project number.
* @property pulumiLabels (Output)
* The combination of labels configured directly on the resource
* and default labels configured on the provider.
* @property resourceVersion (Output)
* An opaque value that represents the internal version of this object that
* can be used by clients to determine when objects have changed. May be used
* for optimistic concurrency, change detection, and the watch operation on a
* resource or set of resources. They may only be valid for a
* particular resource or set of resources.
* @property selfLink (Output)
* SelfLink is a URL representing this object.
* @property uid (Output)
* UID is a unique id generated by the server on successful creation of a resource and is not
* allowed to change on PUT operations.
*/
public data class ServiceMetadataArgs(
public val annotations: Output>? = null,
public val effectiveAnnotations: Output>? = null,
public val effectiveLabels: Output>? = null,
public val generation: Output? = null,
public val labels: Output>? = null,
public val namespace: Output? = null,
public val pulumiLabels: Output>? = null,
public val resourceVersion: Output? = null,
public val selfLink: Output? = null,
public val uid: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.cloudrun.inputs.ServiceMetadataArgs =
com.pulumi.gcp.cloudrun.inputs.ServiceMetadataArgs.builder()
.annotations(
annotations?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}),
)
.effectiveAnnotations(
effectiveAnnotations?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}),
)
.effectiveLabels(
effectiveLabels?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}),
)
.generation(generation?.applyValue({ args0 -> args0 }))
.labels(labels?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
.namespace(namespace?.applyValue({ args0 -> args0 }))
.pulumiLabels(
pulumiLabels?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}),
)
.resourceVersion(resourceVersion?.applyValue({ args0 -> args0 }))
.selfLink(selfLink?.applyValue({ args0 -> args0 }))
.uid(uid?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [ServiceMetadataArgs].
*/
@PulumiTagMarker
public class ServiceMetadataArgsBuilder internal constructor() {
private var annotations: Output>? = null
private var effectiveAnnotations: Output>? = null
private var effectiveLabels: Output>? = null
private var generation: Output? = null
private var labels: Output>? = null
private var namespace: Output? = null
private var pulumiLabels: Output>? = null
private var resourceVersion: Output? = null
private var selfLink: Output? = null
private var uid: Output? = null
/**
* @param value Annotations is a key value map stored with a resource that
* may be set by external tools to store and retrieve arbitrary metadata. More
* info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations
* **Note**: The Cloud Run API may add additional annotations that were not provided in your config.
* If the provider plan shows a diff where a server-side annotation is added, you can add it to your config
* or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field.
* Annotations with `run.googleapis.com/` and `autoscaling.knative.dev` are restricted. Use the following annotation
* keys to configure features on a Service:
* - `run.googleapis.com/binary-authorization-breakglass` sets the [Binary Authorization breakglass](https://cloud.google.com/sdk/gcloud/reference/run/deploy#--breakglass).
* - `run.googleapis.com/binary-authorization` sets the [Binary Authorization](https://cloud.google.com/sdk/gcloud/reference/run/deploy#--binary-authorization).
* - `run.googleapis.com/client-name` sets the client name calling the Cloud Run API.
* - `run.googleapis.com/custom-audiences` sets the [custom audiences](https://cloud.google.com/sdk/gcloud/reference/alpha/run/deploy#--add-custom-audiences)
* that can be used in the audience field of ID token for authenticated requests.
* - `run.googleapis.com/description` sets a user defined description for the Service.
* - `run.googleapis.com/ingress` sets the [ingress settings](https://cloud.google.com/sdk/gcloud/reference/run/deploy#--ingress)
* for the Service. For example, `"run.googleapis.com/ingress" = "all"`.
* - `run.googleapis.com/launch-stage` sets the [launch stage](https://cloud.google.com/run/docs/troubleshooting#launch-stage-validation)
* when a preview feature is used. For example, `"run.googleapis.com/launch-stage": "BETA"`
* **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
* Please refer to the field `effective_annotations` for all of the annotations present on the resource.
*/
@JvmName("qmtqtqogddsxyspo")
public suspend fun annotations(`value`: Output>) {
this.annotations = value
}
/**
* @param value
*/
@JvmName("ugrqngujetqueuwh")
public suspend fun effectiveAnnotations(`value`: Output>) {
this.effectiveAnnotations = value
}
/**
* @param value (Output)
* All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
*/
@JvmName("ppetndvvimhsampm")
public suspend fun effectiveLabels(`value`: Output>) {
this.effectiveLabels = value
}
/**
* @param value (Output)
* A sequence number representing a specific generation of the desired state.
*/
@JvmName("tcdyyngfnpqhgohp")
public suspend fun generation(`value`: Output) {
this.generation = value
}
/**
* @param value Map of string keys and values that can be used to organize and categorize
* (scope and select) objects. May match selectors of replication controllers
* and routes.
* **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
* Please refer to the field `effective_labels` for all of the labels present on the resource.
*/
@JvmName("ketcttuivwnfsiae")
public suspend fun labels(`value`: Output>) {
this.labels = value
}
/**
* @param value In Cloud Run the namespace must be equal to either the
* project ID or project number.
*/
@JvmName("ypwcvvosvhqoyfkg")
public suspend fun namespace(`value`: Output) {
this.namespace = value
}
/**
* @param value (Output)
* The combination of labels configured directly on the resource
* and default labels configured on the provider.
*/
@JvmName("napwievsxeychlqi")
public suspend fun pulumiLabels(`value`: Output>) {
this.pulumiLabels = value
}
/**
* @param value (Output)
* An opaque value that represents the internal version of this object that
* can be used by clients to determine when objects have changed. May be used
* for optimistic concurrency, change detection, and the watch operation on a
* resource or set of resources. They may only be valid for a
* particular resource or set of resources.
*/
@JvmName("iifbnkwafuhquxdr")
public suspend fun resourceVersion(`value`: Output) {
this.resourceVersion = value
}
/**
* @param value (Output)
* SelfLink is a URL representing this object.
*/
@JvmName("vsdvwvrhbsmjmeff")
public suspend fun selfLink(`value`: Output) {
this.selfLink = value
}
/**
* @param value (Output)
* UID is a unique id generated by the server on successful creation of a resource and is not
* allowed to change on PUT operations.
*/
@JvmName("vbcwinjoyyvpppuk")
public suspend fun uid(`value`: Output) {
this.uid = value
}
/**
* @param value Annotations is a key value map stored with a resource that
* may be set by external tools to store and retrieve arbitrary metadata. More
* info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations
* **Note**: The Cloud Run API may add additional annotations that were not provided in your config.
* If the provider plan shows a diff where a server-side annotation is added, you can add it to your config
* or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field.
* Annotations with `run.googleapis.com/` and `autoscaling.knative.dev` are restricted. Use the following annotation
* keys to configure features on a Service:
* - `run.googleapis.com/binary-authorization-breakglass` sets the [Binary Authorization breakglass](https://cloud.google.com/sdk/gcloud/reference/run/deploy#--breakglass).
* - `run.googleapis.com/binary-authorization` sets the [Binary Authorization](https://cloud.google.com/sdk/gcloud/reference/run/deploy#--binary-authorization).
* - `run.googleapis.com/client-name` sets the client name calling the Cloud Run API.
* - `run.googleapis.com/custom-audiences` sets the [custom audiences](https://cloud.google.com/sdk/gcloud/reference/alpha/run/deploy#--add-custom-audiences)
* that can be used in the audience field of ID token for authenticated requests.
* - `run.googleapis.com/description` sets a user defined description for the Service.
* - `run.googleapis.com/ingress` sets the [ingress settings](https://cloud.google.com/sdk/gcloud/reference/run/deploy#--ingress)
* for the Service. For example, `"run.googleapis.com/ingress" = "all"`.
* - `run.googleapis.com/launch-stage` sets the [launch stage](https://cloud.google.com/run/docs/troubleshooting#launch-stage-validation)
* when a preview feature is used. For example, `"run.googleapis.com/launch-stage": "BETA"`
* **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
* Please refer to the field `effective_annotations` for all of the annotations present on the resource.
*/
@JvmName("gyvoysqqvprhriqc")
public suspend fun annotations(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.annotations = mapped
}
/**
* @param values Annotations is a key value map stored with a resource that
* may be set by external tools to store and retrieve arbitrary metadata. More
* info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations
* **Note**: The Cloud Run API may add additional annotations that were not provided in your config.
* If the provider plan shows a diff where a server-side annotation is added, you can add it to your config
* or apply the lifecycle.ignore_changes rule to the metadata.0.annotations field.
* Annotations with `run.googleapis.com/` and `autoscaling.knative.dev` are restricted. Use the following annotation
* keys to configure features on a Service:
* - `run.googleapis.com/binary-authorization-breakglass` sets the [Binary Authorization breakglass](https://cloud.google.com/sdk/gcloud/reference/run/deploy#--breakglass).
* - `run.googleapis.com/binary-authorization` sets the [Binary Authorization](https://cloud.google.com/sdk/gcloud/reference/run/deploy#--binary-authorization).
* - `run.googleapis.com/client-name` sets the client name calling the Cloud Run API.
* - `run.googleapis.com/custom-audiences` sets the [custom audiences](https://cloud.google.com/sdk/gcloud/reference/alpha/run/deploy#--add-custom-audiences)
* that can be used in the audience field of ID token for authenticated requests.
* - `run.googleapis.com/description` sets a user defined description for the Service.
* - `run.googleapis.com/ingress` sets the [ingress settings](https://cloud.google.com/sdk/gcloud/reference/run/deploy#--ingress)
* for the Service. For example, `"run.googleapis.com/ingress" = "all"`.
* - `run.googleapis.com/launch-stage` sets the [launch stage](https://cloud.google.com/run/docs/troubleshooting#launch-stage-validation)
* when a preview feature is used. For example, `"run.googleapis.com/launch-stage": "BETA"`
* **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
* Please refer to the field `effective_annotations` for all of the annotations present on the resource.
*/
@JvmName("pqwmblwcwclxmajt")
public fun annotations(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.annotations = mapped
}
/**
* @param value
*/
@JvmName("divrrlywggieadmw")
public suspend fun effectiveAnnotations(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.effectiveAnnotations = mapped
}
/**
* @param values
*/
@JvmName("uvxqntfpjwhcsbpf")
public fun effectiveAnnotations(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.effectiveAnnotations = mapped
}
/**
* @param value (Output)
* All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
*/
@JvmName("dwyqejxnshhqpjfp")
public suspend fun effectiveLabels(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.effectiveLabels = mapped
}
/**
* @param values (Output)
* All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
*/
@JvmName("dnnsrsmwsespftcx")
public fun effectiveLabels(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.effectiveLabels = mapped
}
/**
* @param value (Output)
* A sequence number representing a specific generation of the desired state.
*/
@JvmName("dkmngalyapqpffto")
public suspend fun generation(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.generation = mapped
}
/**
* @param value Map of string keys and values that can be used to organize and categorize
* (scope and select) objects. May match selectors of replication controllers
* and routes.
* **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
* Please refer to the field `effective_labels` for all of the labels present on the resource.
*/
@JvmName("sllxbhnholrcbqlj")
public suspend fun labels(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.labels = mapped
}
/**
* @param values Map of string keys and values that can be used to organize and categorize
* (scope and select) objects. May match selectors of replication controllers
* and routes.
* **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
* Please refer to the field `effective_labels` for all of the labels present on the resource.
*/
@JvmName("okotphdbhxkcwhgi")
public fun labels(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.labels = mapped
}
/**
* @param value In Cloud Run the namespace must be equal to either the
* project ID or project number.
*/
@JvmName("vfaoigawdxcsjfma")
public suspend fun namespace(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.namespace = mapped
}
/**
* @param value (Output)
* The combination of labels configured directly on the resource
* and default labels configured on the provider.
*/
@JvmName("qklpnjletqlejaij")
public suspend fun pulumiLabels(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.pulumiLabels = mapped
}
/**
* @param values (Output)
* The combination of labels configured directly on the resource
* and default labels configured on the provider.
*/
@JvmName("xkgouqsorwwxlprn")
public fun pulumiLabels(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.pulumiLabels = mapped
}
/**
* @param value (Output)
* An opaque value that represents the internal version of this object that
* can be used by clients to determine when objects have changed. May be used
* for optimistic concurrency, change detection, and the watch operation on a
* resource or set of resources. They may only be valid for a
* particular resource or set of resources.
*/
@JvmName("pajnrrckkqqgxkww")
public suspend fun resourceVersion(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.resourceVersion = mapped
}
/**
* @param value (Output)
* SelfLink is a URL representing this object.
*/
@JvmName("atdaybatmtmdycmm")
public suspend fun selfLink(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.selfLink = mapped
}
/**
* @param value (Output)
* UID is a unique id generated by the server on successful creation of a resource and is not
* allowed to change on PUT operations.
*/
@JvmName("lyfrnfedljsglbik")
public suspend fun uid(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.uid = mapped
}
internal fun build(): ServiceMetadataArgs = ServiceMetadataArgs(
annotations = annotations,
effectiveAnnotations = effectiveAnnotations,
effectiveLabels = effectiveLabels,
generation = generation,
labels = labels,
namespace = namespace,
pulumiLabels = pulumiLabels,
resourceVersion = resourceVersion,
selfLink = selfLink,
uid = uid,
)
}