com.pulumi.azure.storage.kotlin.inputs.ObjectReplicationRuleArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.storage.kotlin.inputs
import com.pulumi.azure.storage.inputs.ObjectReplicationRuleArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
*
* @property copyBlobsCreatedAfter The time after which the Block Blobs created will be copies to the destination. Possible values are `OnlyNewObjects`, `Everything` and time in RFC3339 format: `2006-01-02T15:04:00Z`. Defaults to `OnlyNewObjects`.
* @property destinationContainerName The destination storage container name. Changing this forces a new Storage Object Replication to be created.
* @property filterOutBlobsWithPrefixes Specifies a list of filters prefixes, the blobs whose names begin with which will be replicated.
* @property name
* @property sourceContainerName The source storage container name. Changing this forces a new Storage Object Replication to be created.
*/
public data class ObjectReplicationRuleArgs(
public val copyBlobsCreatedAfter: Output? = null,
public val destinationContainerName: Output,
public val filterOutBlobsWithPrefixes: Output>? = null,
public val name: Output? = null,
public val sourceContainerName: Output,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azure.storage.inputs.ObjectReplicationRuleArgs =
com.pulumi.azure.storage.inputs.ObjectReplicationRuleArgs.builder()
.copyBlobsCreatedAfter(copyBlobsCreatedAfter?.applyValue({ args0 -> args0 }))
.destinationContainerName(destinationContainerName.applyValue({ args0 -> args0 }))
.filterOutBlobsWithPrefixes(
filterOutBlobsWithPrefixes?.applyValue({ args0 ->
args0.map({ args0 ->
args0
})
}),
)
.name(name?.applyValue({ args0 -> args0 }))
.sourceContainerName(sourceContainerName.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [ObjectReplicationRuleArgs].
*/
@PulumiTagMarker
public class ObjectReplicationRuleArgsBuilder internal constructor() {
private var copyBlobsCreatedAfter: Output? = null
private var destinationContainerName: Output? = null
private var filterOutBlobsWithPrefixes: Output>? = null
private var name: Output? = null
private var sourceContainerName: Output? = null
/**
* @param value The time after which the Block Blobs created will be copies to the destination. Possible values are `OnlyNewObjects`, `Everything` and time in RFC3339 format: `2006-01-02T15:04:00Z`. Defaults to `OnlyNewObjects`.
*/
@JvmName("kleuvdqfkacqbeqr")
public suspend fun copyBlobsCreatedAfter(`value`: Output) {
this.copyBlobsCreatedAfter = value
}
/**
* @param value The destination storage container name. Changing this forces a new Storage Object Replication to be created.
*/
@JvmName("ksckqctxyhjaitqo")
public suspend fun destinationContainerName(`value`: Output) {
this.destinationContainerName = value
}
/**
* @param value Specifies a list of filters prefixes, the blobs whose names begin with which will be replicated.
*/
@JvmName("qiyholfvyscbwkqk")
public suspend fun filterOutBlobsWithPrefixes(`value`: Output>) {
this.filterOutBlobsWithPrefixes = value
}
@JvmName("rmqilxymruounucx")
public suspend fun filterOutBlobsWithPrefixes(vararg values: Output) {
this.filterOutBlobsWithPrefixes = Output.all(values.asList())
}
/**
* @param values Specifies a list of filters prefixes, the blobs whose names begin with which will be replicated.
*/
@JvmName("pinulxveflmqmpyg")
public suspend fun filterOutBlobsWithPrefixes(values: List