com.pulumi.googlenative.bigtableadmin.v2.kotlin.BackupArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.googlenative.bigtableadmin.v2.kotlin
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.googlenative.bigtableadmin.v2.BackupArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
* Starts creating a new Cloud Bigtable Backup. The returned backup long-running operation can be used to track creation of the backup. The metadata field type is CreateBackupMetadata. The response field type is Backup, if successful. Cancelling the returned operation will stop the creation and delete the backup.
* Auto-naming is currently not supported for this resource.
* @property backupId Required. The id of the backup to be created. The `backup_id` along with the parent `parent` are combined as {parent}/backups/{backup_id} to create the full backup name, of the form: `projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup_id}`. This string must be between 1 and 50 characters in length and match the regex _a-zA-Z0-9*.
* @property clusterId
* @property expireTime The expiration time of the backup, with microseconds granularity that must be at least 6 hours and at most 30 days from the time the request is received. Once the `expire_time` has passed, Cloud Bigtable will delete the backup and free the resources used by the backup.
* @property instanceId
* @property name A globally unique identifier for the backup which cannot be changed. Values are of the form `projects/{project}/instances/{instance}/clusters/{cluster}/ backups/_a-zA-Z0-9*` The final segment of the name must be between 1 and 50 characters in length. The backup is stored in the cluster identified by the prefix of the backup name of the form `projects/{project}/instances/{instance}/clusters/{cluster}`.
* @property project
* @property sourceTable Immutable. Name of the table from which this backup was created. This needs to be in the same instance as the backup. Values are of the form `projects/{project}/instances/{instance}/tables/{source_table}`.
*/
public data class BackupArgs(
public val backupId: Output? = null,
public val clusterId: Output? = null,
public val expireTime: Output? = null,
public val instanceId: Output? = null,
public val name: Output? = null,
public val project: Output? = null,
public val sourceTable: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.googlenative.bigtableadmin.v2.BackupArgs =
com.pulumi.googlenative.bigtableadmin.v2.BackupArgs.builder()
.backupId(backupId?.applyValue({ args0 -> args0 }))
.clusterId(clusterId?.applyValue({ args0 -> args0 }))
.expireTime(expireTime?.applyValue({ args0 -> args0 }))
.instanceId(instanceId?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.project(project?.applyValue({ args0 -> args0 }))
.sourceTable(sourceTable?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [BackupArgs].
*/
@PulumiTagMarker
public class BackupArgsBuilder internal constructor() {
private var backupId: Output? = null
private var clusterId: Output? = null
private var expireTime: Output? = null
private var instanceId: Output? = null
private var name: Output? = null
private var project: Output? = null
private var sourceTable: Output? = null
/**
* @param value Required. The id of the backup to be created. The `backup_id` along with the parent `parent` are combined as {parent}/backups/{backup_id} to create the full backup name, of the form: `projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup_id}`. This string must be between 1 and 50 characters in length and match the regex _a-zA-Z0-9*.
*/
@JvmName("iprugkgrpqrtfdlj")
public suspend fun backupId(`value`: Output) {
this.backupId = value
}
/**
* @param value
*/
@JvmName("lmphpduajtgjxicd")
public suspend fun clusterId(`value`: Output) {
this.clusterId = value
}
/**
* @param value The expiration time of the backup, with microseconds granularity that must be at least 6 hours and at most 30 days from the time the request is received. Once the `expire_time` has passed, Cloud Bigtable will delete the backup and free the resources used by the backup.
*/
@JvmName("huykmwswdnxrfkbu")
public suspend fun expireTime(`value`: Output) {
this.expireTime = value
}
/**
* @param value
*/
@JvmName("yfnmraqkltiydknm")
public suspend fun instanceId(`value`: Output) {
this.instanceId = value
}
/**
* @param value A globally unique identifier for the backup which cannot be changed. Values are of the form `projects/{project}/instances/{instance}/clusters/{cluster}/ backups/_a-zA-Z0-9*` The final segment of the name must be between 1 and 50 characters in length. The backup is stored in the cluster identified by the prefix of the backup name of the form `projects/{project}/instances/{instance}/clusters/{cluster}`.
*/
@JvmName("itiuplofolhiatpt")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value
*/
@JvmName("ntpjdvgnypmpmpuv")
public suspend fun project(`value`: Output) {
this.project = value
}
/**
* @param value Immutable. Name of the table from which this backup was created. This needs to be in the same instance as the backup. Values are of the form `projects/{project}/instances/{instance}/tables/{source_table}`.
*/
@JvmName("erfukaocrhotiipq")
public suspend fun sourceTable(`value`: Output) {
this.sourceTable = value
}
/**
* @param value Required. The id of the backup to be created. The `backup_id` along with the parent `parent` are combined as {parent}/backups/{backup_id} to create the full backup name, of the form: `projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup_id}`. This string must be between 1 and 50 characters in length and match the regex _a-zA-Z0-9*.
*/
@JvmName("iipiaosvsltthekf")
public suspend fun backupId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.backupId = mapped
}
/**
* @param value
*/
@JvmName("dkuiuhwcwchmhxgo")
public suspend fun clusterId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.clusterId = mapped
}
/**
* @param value The expiration time of the backup, with microseconds granularity that must be at least 6 hours and at most 30 days from the time the request is received. Once the `expire_time` has passed, Cloud Bigtable will delete the backup and free the resources used by the backup.
*/
@JvmName("qehytdkoqaymgfrj")
public suspend fun expireTime(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.expireTime = mapped
}
/**
* @param value
*/
@JvmName("lpvqhfkkcgxfdfmw")
public suspend fun instanceId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.instanceId = mapped
}
/**
* @param value A globally unique identifier for the backup which cannot be changed. Values are of the form `projects/{project}/instances/{instance}/clusters/{cluster}/ backups/_a-zA-Z0-9*` The final segment of the name must be between 1 and 50 characters in length. The backup is stored in the cluster identified by the prefix of the backup name of the form `projects/{project}/instances/{instance}/clusters/{cluster}`.
*/
@JvmName("lsqyiotjwkusgaey")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value
*/
@JvmName("xpkqyoqoxglwqqln")
public suspend fun project(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.project = mapped
}
/**
* @param value Immutable. Name of the table from which this backup was created. This needs to be in the same instance as the backup. Values are of the form `projects/{project}/instances/{instance}/tables/{source_table}`.
*/
@JvmName("ijqihroteomvwkep")
public suspend fun sourceTable(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.sourceTable = mapped
}
internal fun build(): BackupArgs = BackupArgs(
backupId = backupId,
clusterId = clusterId,
expireTime = expireTime,
instanceId = instanceId,
name = name,
project = project,
sourceTable = sourceTable,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy