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

com.pulumi.awsnative.customerprofiles.kotlin.inputs.DomainConflictResolutionArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.customerprofiles.kotlin.inputs

import com.pulumi.awsnative.customerprofiles.inputs.DomainConflictResolutionArgs.builder
import com.pulumi.awsnative.customerprofiles.kotlin.enums.DomainConflictResolutionConflictResolvingModel
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.jvm.JvmName

/**
 * How the auto-merging process should resolve conflicts between different profiles. For example, if Profile A and Profile B have the same FirstName and LastName (and that is the matching criteria), which EmailAddress should be used?
 * @property conflictResolvingModel How the auto-merging process should resolve conflicts between different profiles.
 * @property sourceName The ObjectType name that is used to resolve profile merging conflicts when choosing SOURCE as the ConflictResolvingModel.
 */
public data class DomainConflictResolutionArgs(
    public val conflictResolvingModel: Output,
    public val sourceName: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.customerprofiles.inputs.DomainConflictResolutionArgs =
        com.pulumi.awsnative.customerprofiles.inputs.DomainConflictResolutionArgs.builder()
            .conflictResolvingModel(
                conflictResolvingModel.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .sourceName(sourceName?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [DomainConflictResolutionArgs].
 */
@PulumiTagMarker
public class DomainConflictResolutionArgsBuilder internal constructor() {
    private var conflictResolvingModel: Output? = null

    private var sourceName: Output? = null

    /**
     * @param value How the auto-merging process should resolve conflicts between different profiles.
     */
    @JvmName("qpphonxgfxyifdky")
    public suspend fun conflictResolvingModel(`value`: Output) {
        this.conflictResolvingModel = value
    }

    /**
     * @param value The ObjectType name that is used to resolve profile merging conflicts when choosing SOURCE as the ConflictResolvingModel.
     */
    @JvmName("pxhbrvpbuhusmail")
    public suspend fun sourceName(`value`: Output) {
        this.sourceName = value
    }

    /**
     * @param value How the auto-merging process should resolve conflicts between different profiles.
     */
    @JvmName("irevgevdoohexval")
    public suspend fun conflictResolvingModel(`value`: DomainConflictResolutionConflictResolvingModel) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.conflictResolvingModel = mapped
    }

    /**
     * @param value The ObjectType name that is used to resolve profile merging conflicts when choosing SOURCE as the ConflictResolvingModel.
     */
    @JvmName("tnusijoxrxdyctvx")
    public suspend fun sourceName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.sourceName = mapped
    }

    internal fun build(): DomainConflictResolutionArgs = DomainConflictResolutionArgs(
        conflictResolvingModel = conflictResolvingModel ?: throw
            PulumiNullFieldException("conflictResolvingModel"),
        sourceName = sourceName,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy