com.pulumi.gcp.dataplex.kotlin.outputs.AssetDiscoverySpec.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gcp.dataplex.kotlin.outputs
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
/**
*
* @property csvOptions Optional. Configuration for CSV data.
* @property enabled Required. Whether discovery is enabled.
* @property excludePatterns Optional. The list of patterns to apply for selecting data to exclude during discovery. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.
* @property includePatterns Optional. The list of patterns to apply for selecting data to include during discovery if only a subset of the data should considered. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.
* @property jsonOptions Optional. Configuration for Json data.
* @property schedule Optional. Cron schedule (https://en.wikipedia.org/wiki/Cron) for running discovery periodically. Successive discovery runs must be scheduled at least 60 minutes apart. The default value is to run discovery every 60 minutes. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or TZ=${IANA_TIME_ZONE}". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, "CRON_TZ=America/New_York 1 * * * *", or "TZ=America/New_York 1 * * * *".
*/
public data class AssetDiscoverySpec(
public val csvOptions: AssetDiscoverySpecCsvOptions? = null,
public val enabled: Boolean,
public val excludePatterns: List? = null,
public val includePatterns: List? = null,
public val jsonOptions: AssetDiscoverySpecJsonOptions? = null,
public val schedule: String? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.gcp.dataplex.outputs.AssetDiscoverySpec): AssetDiscoverySpec = AssetDiscoverySpec(
csvOptions = javaType.csvOptions().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.dataplex.kotlin.outputs.AssetDiscoverySpecCsvOptions.Companion.toKotlin(args0)
})
}).orElse(null),
enabled = javaType.enabled(),
excludePatterns = javaType.excludePatterns().map({ args0 -> args0 }),
includePatterns = javaType.includePatterns().map({ args0 -> args0 }),
jsonOptions = javaType.jsonOptions().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.dataplex.kotlin.outputs.AssetDiscoverySpecJsonOptions.Companion.toKotlin(args0)
})
}).orElse(null),
schedule = javaType.schedule().map({ args0 -> args0 }).orElse(null),
)
}
}