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

com.pulumi.gcp.pubsub.kotlin.outputs.GetTopicIngestionDataSourceSettingCloudStorage.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.13.1.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

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

import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property avroFormats Configuration for reading Cloud Storage data in Avro binary format. The
 * bytes of each object will be set to the 'data' field of a Pub/Sub message.
 * @property bucket Cloud Storage bucket. The bucket name must be without any
 * prefix like "gs://". See the bucket naming requirements:
 * https://cloud.google.com/storage/docs/buckets#naming.
 * @property matchGlob Glob pattern used to match objects that will be ingested. If unset, all
 * objects will be ingested. See the supported patterns:
 * https://cloud.google.com/storage/docs/json_api/v1/objects/list#list-objects-and-prefixes-using-glob
 * @property minimumObjectCreateTime The timestamp set in RFC3339 text format. If set, only objects with a
 * larger or equal timestamp will be ingested. Unset by default, meaning
 * all objects will be ingested.
 * @property pubsubAvroFormats Configuration for reading Cloud Storage data written via Cloud Storage
 * subscriptions(See https://cloud.google.com/pubsub/docs/cloudstorage). The
 * data and attributes fields of the originally exported Pub/Sub message
 * will be restored when publishing.
 * @property textFormats Configuration for reading Cloud Storage data in text format. Each line of
 * text as specified by the delimiter will be set to the 'data' field of a
 * Pub/Sub message.
 */
public data class GetTopicIngestionDataSourceSettingCloudStorage(
    public val avroFormats: List,
    public val bucket: String,
    public val matchGlob: String,
    public val minimumObjectCreateTime: String,
    public val pubsubAvroFormats: List,
    public val textFormats: List,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.pubsub.outputs.GetTopicIngestionDataSourceSettingCloudStorage): GetTopicIngestionDataSourceSettingCloudStorage =
            GetTopicIngestionDataSourceSettingCloudStorage(
                avroFormats = javaType.avroFormats().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.gcp.pubsub.kotlin.outputs.GetTopicIngestionDataSourceSettingCloudStorageAvroFormat.Companion.toKotlin(args0)
                    })
                }),
                bucket = javaType.bucket(),
                matchGlob = javaType.matchGlob(),
                minimumObjectCreateTime = javaType.minimumObjectCreateTime(),
                pubsubAvroFormats = javaType.pubsubAvroFormats().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.gcp.pubsub.kotlin.outputs.GetTopicIngestionDataSourceSettingCloudStoragePubsubAvroFormat.Companion.toKotlin(args0)
                    })
                }),
                textFormats = javaType.textFormats().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.gcp.pubsub.kotlin.outputs.GetTopicIngestionDataSourceSettingCloudStorageTextFormat.Companion.toKotlin(args0)
                    })
                }),
            )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy