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

com.pulumi.gcp.pubsub.kotlin.outputs.SubscriptionCloudStorageConfig.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.

There is a newer version: 8.10.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.pubsub.kotlin.outputs

import kotlin.Int
import kotlin.String
import kotlin.Suppress

/**
 *
 * @property avroConfig If set, message data will be written to Cloud Storage in Avro format.
 * Structure is documented below.
 * @property bucket User-provided name for the Cloud Storage bucket. The bucket must be created by the user. The bucket name must be without any prefix like "gs://".
 * @property filenamePrefix User-provided prefix for Cloud Storage filename.
 * @property filenameSuffix User-provided suffix for Cloud Storage filename. Must not end in "/".
 * @property maxBytes The maximum bytes that can be written to a Cloud Storage file before a new file is created. Min 1 KB, max 10 GiB.
 * The maxBytes limit may be exceeded in cases where messages are larger than the limit.
 * @property maxDuration The maximum duration that can elapse before a new Cloud Storage file is created. Min 1 minute, max 10 minutes, default 5 minutes.
 * May not exceed the subscription's acknowledgement deadline.
 * A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
 * @property state (Output)
 * An output-only field that indicates whether or not the subscription can receive messages.
 */
public data class SubscriptionCloudStorageConfig(
    public val avroConfig: SubscriptionCloudStorageConfigAvroConfig? = null,
    public val bucket: String,
    public val filenamePrefix: String? = null,
    public val filenameSuffix: String? = null,
    public val maxBytes: Int? = null,
    public val maxDuration: String? = null,
    public val state: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.pubsub.outputs.SubscriptionCloudStorageConfig): SubscriptionCloudStorageConfig = SubscriptionCloudStorageConfig(
            avroConfig = javaType.avroConfig().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.pubsub.kotlin.outputs.SubscriptionCloudStorageConfigAvroConfig.Companion.toKotlin(args0)
                })
            }).orElse(null),
            bucket = javaType.bucket(),
            filenamePrefix = javaType.filenamePrefix().map({ args0 -> args0 }).orElse(null),
            filenameSuffix = javaType.filenameSuffix().map({ args0 -> args0 }).orElse(null),
            maxBytes = javaType.maxBytes().map({ args0 -> args0 }).orElse(null),
            maxDuration = javaType.maxDuration().map({ args0 -> args0 }).orElse(null),
            state = javaType.state().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy