
com.pulumi.awsnative.datazone.kotlin.DataSourceArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-aws-native-kotlin Show documentation
Show all versions of pulumi-aws-native-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.datazone.kotlin
import com.pulumi.awsnative.datazone.DataSourceArgs.builder
import com.pulumi.awsnative.datazone.kotlin.enums.DataSourceEnableSetting
import com.pulumi.awsnative.datazone.kotlin.inputs.DataSourceConfigurationInput0PropertiesArgs
import com.pulumi.awsnative.datazone.kotlin.inputs.DataSourceConfigurationInput1PropertiesArgs
import com.pulumi.awsnative.datazone.kotlin.inputs.DataSourceFormInputArgs
import com.pulumi.awsnative.datazone.kotlin.inputs.DataSourceFormInputArgsBuilder
import com.pulumi.awsnative.datazone.kotlin.inputs.DataSourceRecommendationConfigurationArgs
import com.pulumi.awsnative.datazone.kotlin.inputs.DataSourceRecommendationConfigurationArgsBuilder
import com.pulumi.awsnative.datazone.kotlin.inputs.DataSourceScheduleConfigurationArgs
import com.pulumi.awsnative.datazone.kotlin.inputs.DataSourceScheduleConfigurationArgsBuilder
import com.pulumi.core.Either
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* A data source is used to import technical metadata of assets (data) from the source databases or data warehouses into Amazon DataZone.
* @property assetFormsInput The metadata forms that are to be attached to the assets that this data source works with.
* @property configuration Configuration of the data source. It can be set to either glueRunConfiguration or redshiftRunConfiguration.
* @property description The description of the data source.
* @property domainIdentifier The ID of the Amazon DataZone domain where the data source is created.
* @property enableSetting Specifies whether the data source is enabled.
* @property environmentIdentifier The unique identifier of the Amazon DataZone environment to which the data source publishes assets.
* @property name The name of the data source.
* @property projectIdentifier The identifier of the Amazon DataZone project in which you want to add the data source.
* @property publishOnImport Specifies whether the assets that this data source creates in the inventory are to be also automatically published to the catalog.
* @property recommendation Specifies whether the business name generation is to be enabled for this data source.
* @property schedule The schedule of the data source runs.
* @property type The type of the data source.
*/
public data class DataSourceArgs(
public val assetFormsInput: Output>? = null,
public val configuration: Output>? =
null,
public val description: Output? = null,
public val domainIdentifier: Output? = null,
public val enableSetting: Output? = null,
public val environmentIdentifier: Output? = null,
public val name: Output? = null,
public val projectIdentifier: Output? = null,
public val publishOnImport: Output? = null,
public val recommendation: Output? = null,
public val schedule: Output? = null,
public val type: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.datazone.DataSourceArgs =
com.pulumi.awsnative.datazone.DataSourceArgs.builder()
.assetFormsInput(
assetFormsInput?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.configuration(
configuration?.applyValue({ args0 ->
args0.transform({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}, { args0 -> args0.let({ args0 -> args0.toJava() }) })
}),
)
.description(description?.applyValue({ args0 -> args0 }))
.domainIdentifier(domainIdentifier?.applyValue({ args0 -> args0 }))
.enableSetting(enableSetting?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.environmentIdentifier(environmentIdentifier?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.projectIdentifier(projectIdentifier?.applyValue({ args0 -> args0 }))
.publishOnImport(publishOnImport?.applyValue({ args0 -> args0 }))
.recommendation(recommendation?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.schedule(schedule?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.type(type?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [DataSourceArgs].
*/
@PulumiTagMarker
public class DataSourceArgsBuilder internal constructor() {
private var assetFormsInput: Output>? = null
private var configuration:
Output>? =
null
private var description: Output? = null
private var domainIdentifier: Output? = null
private var enableSetting: Output? = null
private var environmentIdentifier: Output? = null
private var name: Output? = null
private var projectIdentifier: Output? = null
private var publishOnImport: Output? = null
private var recommendation: Output? = null
private var schedule: Output? = null
private var type: Output? = null
/**
* @param value The metadata forms that are to be attached to the assets that this data source works with.
*/
@JvmName("oxlfppqgnqncekoj")
public suspend fun assetFormsInput(`value`: Output>) {
this.assetFormsInput = value
}
@JvmName("yagkbxgoyoksggod")
public suspend fun assetFormsInput(vararg values: Output) {
this.assetFormsInput = Output.all(values.asList())
}
/**
* @param values The metadata forms that are to be attached to the assets that this data source works with.
*/
@JvmName("qmsqipxesclbwrhu")
public suspend fun assetFormsInput(values: List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy