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

com.pulumi.azurenative.iotoperationsmq.kotlin.BrokerAuthenticationArgs.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: 2.82.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azurenative.iotoperationsmq.kotlin

import com.pulumi.azurenative.iotoperationsmq.BrokerAuthenticationArgs.builder
import com.pulumi.azurenative.iotoperationsmq.kotlin.inputs.BrokerAuthenticatorMethodsArgs
import com.pulumi.azurenative.iotoperationsmq.kotlin.inputs.BrokerAuthenticatorMethodsArgsBuilder
import com.pulumi.azurenative.iotoperationsmq.kotlin.inputs.ExtendedLocationPropertyArgs
import com.pulumi.azurenative.iotoperationsmq.kotlin.inputs.ExtendedLocationPropertyArgsBuilder
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.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 * MQ broker/authentication resource
 * Azure REST API version: 2023-10-04-preview.
 * ## Example Usage
 * ### BrokerAuthentication_CreateOrUpdate
 * ```csharp
 * using System.Collections.Generic;
 * using System.Linq;
 * using Pulumi;
 * using AzureNative = Pulumi.AzureNative;
 * return await Deployment.RunAsync(() =>
 * {
 *     var brokerAuthentication = new AzureNative.IoTOperationsMQ.BrokerAuthentication("brokerAuthentication", new()
 *     {
 *         AuthenticationMethods = new[]
 *         {
 *             new AzureNative.IoTOperationsMQ.Inputs.BrokerAuthenticatorMethodsArgs
 *             {
 *                 Custom = new AzureNative.IoTOperationsMQ.Inputs.BrokerAuthenticatorMethodCustomArgs
 *                 {
 *                     Auth = new AzureNative.IoTOperationsMQ.Inputs.BrokerAuthenticatorCustomAuthArgs
 *                     {
 *                         X509 = new AzureNative.IoTOperationsMQ.Inputs.BrokerAuthenticatorCustomAuthX509Args
 *                         {
 *                             KeyVault = new AzureNative.IoTOperationsMQ.Inputs.KeyVaultCertificatePropertiesArgs
 *                             {
 *                                 Vault = new AzureNative.IoTOperationsMQ.Inputs.KeyVaultConnectionPropertiesArgs
 *                                 {
 *                                     Credentials = new AzureNative.IoTOperationsMQ.Inputs.KeyVaultCredentialsPropertiesArgs
 *                                     {
 *                                         ServicePrincipalLocalSecretName = "wuimjwpbhoglbsxxa",
 *                                     },
 *                                     DirectoryId = "eyjniptiykzcgbzok",
 *                                     Name = "lxmwfan",
 *                                 },
 *                                 VaultCaChainSecret = new AzureNative.IoTOperationsMQ.Inputs.KeyVaultSecretObjectArgs
 *                                 {
 *                                     Name = "bmectskddmpjxnsogwooexj",
 *                                     Version = "unjfbf",
 *                                 },
 *                                 VaultCert = new AzureNative.IoTOperationsMQ.Inputs.KeyVaultSecretObjectArgs
 *                                 {
 *                                     Name = "bmectskddmpjxnsogwooexj",
 *                                     Version = "unjfbf",
 *                                 },
 *                             },
 *                             SecretName = "dordbwjewnqkhfd",
 *                         },
 *                     },
 *                     CaCertConfigMap = "diufihyysdcosgy",
 *                     Endpoint = "yy",
 *                     Headers = null,
 *                 },
 *                 Sat = new AzureNative.IoTOperationsMQ.Inputs.BrokerAuthenticatorMethodSatArgs
 *                 {
 *                     Audiences = new[]
 *                     {
 *                         "fiyitxutbuuhwtltukyjacads",
 *                     },
 *                 },
 *                 Svid = new AzureNative.IoTOperationsMQ.Inputs.BrokerAuthenticatorMethodSvidArgs
 *                 {
 *                     AgentSocketPath = "gnyowebmeaj",
 *                     IdentityMaxRetry = 4031184731,
 *                     IdentityWaitRetryMs = 2243705844935085568,
 *                 },
 *                 UsernamePassword = new AzureNative.IoTOperationsMQ.Inputs.BrokerAuthenticatorMethodUsernamePasswordArgs
 *                 {
 *                     KeyVault = new AzureNative.IoTOperationsMQ.Inputs.KeyVaultSecretPropertiesArgs
 *                     {
 *                         Vault = new AzureNative.IoTOperationsMQ.Inputs.KeyVaultConnectionPropertiesArgs
 *                         {
 *                             Credentials = new AzureNative.IoTOperationsMQ.Inputs.KeyVaultCredentialsPropertiesArgs
 *                             {
 *                                 ServicePrincipalLocalSecretName = "wuimjwpbhoglbsxxa",
 *                             },
 *                             DirectoryId = "eyjniptiykzcgbzok",
 *                             Name = "lxmwfan",
 *                         },
 *                         VaultSecret = new AzureNative.IoTOperationsMQ.Inputs.KeyVaultSecretObjectArgs
 *                         {
 *                             Name = "bmectskddmpjxnsogwooexj",
 *                             Version = "unjfbf",
 *                         },
 *                     },
 *                     SecretName = "blk",
 *                 },
 *                 X509 = new AzureNative.IoTOperationsMQ.Inputs.BrokerAuthenticatorMethodX509Args
 *                 {
 *                     Attributes = new AzureNative.IoTOperationsMQ.Inputs.BrokerAuthenticatorMethodX509AttributesArgs
 *                     {
 *                         KeyVault = new AzureNative.IoTOperationsMQ.Inputs.KeyVaultSecretPropertiesArgs
 *                         {
 *                             Vault = new AzureNative.IoTOperationsMQ.Inputs.KeyVaultConnectionPropertiesArgs
 *                             {
 *                                 Credentials = new AzureNative.IoTOperationsMQ.Inputs.KeyVaultCredentialsPropertiesArgs
 *                                 {
 *                                     ServicePrincipalLocalSecretName = "wuimjwpbhoglbsxxa",
 *                                 },
 *                                 DirectoryId = "eyjniptiykzcgbzok",
 *                                 Name = "lxmwfan",
 *                             },
 *                             VaultSecret = new AzureNative.IoTOperationsMQ.Inputs.KeyVaultSecretObjectArgs
 *                             {
 *                                 Name = "bmectskddmpjxnsogwooexj",
 *                                 Version = "unjfbf",
 *                             },
 *                         },
 *                         SecretName = "ybcke",
 *                     },
 *                     TrustedClientCaCertConfigMap = "udidafmnpt",
 *                 },
 *             },
 *         },
 *         AuthenticationName = "lUo-GQ3-95F-1O-",
 *         BrokerName = "87v1GC9557XuP-JLI4-",
 *         ExtendedLocation = new AzureNative.IoTOperationsMQ.Inputs.ExtendedLocationPropertyArgs
 *         {
 *             Name = "an",
 *             Type = AzureNative.IoTOperationsMQ.ExtendedLocationType.CustomLocation,
 *         },
 *         ListenerRef = new[]
 *         {
 *             "dhjpypfjzzmwm",
 *         },
 *         Location = "vtxegvaeqwyupplnm",
 *         MqName = "2S-A2-D9kC946K",
 *         ResourceGroupName = "rgiotoperationsmq",
 *         Tags = null,
 *     });
 * });
 * ```
 * ```go
 * package main
 * import (
 * 	iotoperationsmq "github.com/pulumi/pulumi-azure-native-sdk/iotoperationsmq/v2"
 * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
 * )
 * func main() {
 * 	pulumi.Run(func(ctx *pulumi.Context) error {
 * 		_, err := iotoperationsmq.NewBrokerAuthentication(ctx, "brokerAuthentication", &iotoperationsmq.BrokerAuthenticationArgs{
 * 			AuthenticationMethods: iotoperationsmq.BrokerAuthenticatorMethodsArray{
 * 				&iotoperationsmq.BrokerAuthenticatorMethodsArgs{
 * 					Custom: &iotoperationsmq.BrokerAuthenticatorMethodCustomArgs{
 * 						Auth: &iotoperationsmq.BrokerAuthenticatorCustomAuthArgs{
 * 							X509: &iotoperationsmq.BrokerAuthenticatorCustomAuthX509Args{
 * 								KeyVault: &iotoperationsmq.KeyVaultCertificatePropertiesArgs{
 * 									Vault: &iotoperationsmq.KeyVaultConnectionPropertiesArgs{
 * 										Credentials: &iotoperationsmq.KeyVaultCredentialsPropertiesArgs{
 * 											ServicePrincipalLocalSecretName: pulumi.String("wuimjwpbhoglbsxxa"),
 * 										},
 * 										DirectoryId: pulumi.String("eyjniptiykzcgbzok"),
 * 										Name:        pulumi.String("lxmwfan"),
 * 									},
 * 									VaultCaChainSecret: &iotoperationsmq.KeyVaultSecretObjectArgs{
 * 										Name:    pulumi.String("bmectskddmpjxnsogwooexj"),
 * 										Version: pulumi.String("unjfbf"),
 * 									},
 * 									VaultCert: &iotoperationsmq.KeyVaultSecretObjectArgs{
 * 										Name:    pulumi.String("bmectskddmpjxnsogwooexj"),
 * 										Version: pulumi.String("unjfbf"),
 * 									},
 * 								},
 * 								SecretName: pulumi.String("dordbwjewnqkhfd"),
 * 							},
 * 						},
 * 						CaCertConfigMap: pulumi.String("diufihyysdcosgy"),
 * 						Endpoint:        pulumi.String("yy"),
 * 						Headers:         nil,
 * 					},
 * 					Sat: &iotoperationsmq.BrokerAuthenticatorMethodSatArgs{
 * 						Audiences: pulumi.StringArray{
 * 							pulumi.String("fiyitxutbuuhwtltukyjacads"),
 * 						},
 * 					},
 * 					Svid: &iotoperationsmq.BrokerAuthenticatorMethodSvidArgs{
 * 						AgentSocketPath:     pulumi.String("gnyowebmeaj"),
 * 						IdentityMaxRetry:    pulumi.Float64(4031184731),
 * 						IdentityWaitRetryMs: pulumi.Float64(2243705844935085568),
 * 					},
 * 					UsernamePassword: &iotoperationsmq.BrokerAuthenticatorMethodUsernamePasswordArgs{
 * 						KeyVault: &iotoperationsmq.KeyVaultSecretPropertiesArgs{
 * 							Vault: &iotoperationsmq.KeyVaultConnectionPropertiesArgs{
 * 								Credentials: &iotoperationsmq.KeyVaultCredentialsPropertiesArgs{
 * 									ServicePrincipalLocalSecretName: pulumi.String("wuimjwpbhoglbsxxa"),
 * 								},
 * 								DirectoryId: pulumi.String("eyjniptiykzcgbzok"),
 * 								Name:        pulumi.String("lxmwfan"),
 * 							},
 * 							VaultSecret: &iotoperationsmq.KeyVaultSecretObjectArgs{
 * 								Name:    pulumi.String("bmectskddmpjxnsogwooexj"),
 * 								Version: pulumi.String("unjfbf"),
 * 							},
 * 						},
 * 						SecretName: pulumi.String("blk"),
 * 					},
 * 					X509: &iotoperationsmq.BrokerAuthenticatorMethodX509Args{
 * 						Attributes: &iotoperationsmq.BrokerAuthenticatorMethodX509AttributesArgs{
 * 							KeyVault: &iotoperationsmq.KeyVaultSecretPropertiesArgs{
 * 								Vault: &iotoperationsmq.KeyVaultConnectionPropertiesArgs{
 * 									Credentials: &iotoperationsmq.KeyVaultCredentialsPropertiesArgs{
 * 										ServicePrincipalLocalSecretName: pulumi.String("wuimjwpbhoglbsxxa"),
 * 									},
 * 									DirectoryId: pulumi.String("eyjniptiykzcgbzok"),
 * 									Name:        pulumi.String("lxmwfan"),
 * 								},
 * 								VaultSecret: &iotoperationsmq.KeyVaultSecretObjectArgs{
 * 									Name:    pulumi.String("bmectskddmpjxnsogwooexj"),
 * 									Version: pulumi.String("unjfbf"),
 * 								},
 * 							},
 * 							SecretName: pulumi.String("ybcke"),
 * 						},
 * 						TrustedClientCaCertConfigMap: pulumi.String("udidafmnpt"),
 * 					},
 * 				},
 * 			},
 * 			AuthenticationName: pulumi.String("lUo-GQ3-95F-1O-"),
 * 			BrokerName:         pulumi.String("87v1GC9557XuP-JLI4-"),
 * 			ExtendedLocation: &iotoperationsmq.ExtendedLocationPropertyArgs{
 * 				Name: pulumi.String("an"),
 * 				Type: pulumi.String(iotoperationsmq.ExtendedLocationTypeCustomLocation),
 * 			},
 * 			ListenerRef: pulumi.StringArray{
 * 				pulumi.String("dhjpypfjzzmwm"),
 * 			},
 * 			Location:          pulumi.String("vtxegvaeqwyupplnm"),
 * 			MqName:            pulumi.String("2S-A2-D9kC946K"),
 * 			ResourceGroupName: pulumi.String("rgiotoperationsmq"),
 * 			Tags:              nil,
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		return nil
 * 	})
 * }
 * ```
 * ```java
 * package generated_program;
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.azurenative.iotoperationsmq.BrokerAuthentication;
 * import com.pulumi.azurenative.iotoperationsmq.BrokerAuthenticationArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.BrokerAuthenticatorMethodsArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.BrokerAuthenticatorMethodCustomArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.BrokerAuthenticatorCustomAuthArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.BrokerAuthenticatorCustomAuthX509Args;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.KeyVaultCertificatePropertiesArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.KeyVaultConnectionPropertiesArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.KeyVaultCredentialsPropertiesArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.KeyVaultSecretObjectArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.BrokerAuthenticatorMethodSatArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.BrokerAuthenticatorMethodSvidArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.BrokerAuthenticatorMethodUsernamePasswordArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.KeyVaultSecretPropertiesArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.BrokerAuthenticatorMethodX509Args;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.BrokerAuthenticatorMethodX509AttributesArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.ExtendedLocationPropertyArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * public class App {
 *     public static void main(String[] args) {
 *         Pulumi.run(App::stack);
 *     }
 *     public static void stack(Context ctx) {
 *         var brokerAuthentication = new BrokerAuthentication("brokerAuthentication", BrokerAuthenticationArgs.builder()
 *             .authenticationMethods(BrokerAuthenticatorMethodsArgs.builder()
 *                 .custom(BrokerAuthenticatorMethodCustomArgs.builder()
 *                     .auth(BrokerAuthenticatorCustomAuthArgs.builder()
 *                         .x509(BrokerAuthenticatorCustomAuthX509Args.builder()
 *                             .keyVault(KeyVaultCertificatePropertiesArgs.builder()
 *                                 .vault(KeyVaultConnectionPropertiesArgs.builder()
 *                                     .credentials(KeyVaultCredentialsPropertiesArgs.builder()
 *                                         .servicePrincipalLocalSecretName("wuimjwpbhoglbsxxa")
 *                                         .build())
 *                                     .directoryId("eyjniptiykzcgbzok")
 *                                     .name("lxmwfan")
 *                                     .build())
 *                                 .vaultCaChainSecret(KeyVaultSecretObjectArgs.builder()
 *                                     .name("bmectskddmpjxnsogwooexj")
 *                                     .version("unjfbf")
 *                                     .build())
 *                                 .vaultCert(KeyVaultSecretObjectArgs.builder()
 *                                     .name("bmectskddmpjxnsogwooexj")
 *                                     .version("unjfbf")
 *                                     .build())
 *                                 .build())
 *                             .secretName("dordbwjewnqkhfd")
 *                             .build())
 *                         .build())
 *                     .caCertConfigMap("diufihyysdcosgy")
 *                     .endpoint("yy")
 *                     .headers()
 *                     .build())
 *                 .sat(BrokerAuthenticatorMethodSatArgs.builder()
 *                     .audiences("fiyitxutbuuhwtltukyjacads")
 *                     .build())
 *                 .svid(BrokerAuthenticatorMethodSvidArgs.builder()
 *                     .agentSocketPath("gnyowebmeaj")
 *                     .identityMaxRetry(4031184731)
 *                     .identityWaitRetryMs(2243705844935085568)
 *                     .build())
 *                 .usernamePassword(BrokerAuthenticatorMethodUsernamePasswordArgs.builder()
 *                     .keyVault(KeyVaultSecretPropertiesArgs.builder()
 *                         .vault(KeyVaultConnectionPropertiesArgs.builder()
 *                             .credentials(KeyVaultCredentialsPropertiesArgs.builder()
 *                                 .servicePrincipalLocalSecretName("wuimjwpbhoglbsxxa")
 *                                 .build())
 *                             .directoryId("eyjniptiykzcgbzok")
 *                             .name("lxmwfan")
 *                             .build())
 *                         .vaultSecret(KeyVaultSecretObjectArgs.builder()
 *                             .name("bmectskddmpjxnsogwooexj")
 *                             .version("unjfbf")
 *                             .build())
 *                         .build())
 *                     .secretName("blk")
 *                     .build())
 *                 .x509(BrokerAuthenticatorMethodX509Args.builder()
 *                     .attributes(BrokerAuthenticatorMethodX509AttributesArgs.builder()
 *                         .keyVault(KeyVaultSecretPropertiesArgs.builder()
 *                             .vault(KeyVaultConnectionPropertiesArgs.builder()
 *                                 .credentials(KeyVaultCredentialsPropertiesArgs.builder()
 *                                     .servicePrincipalLocalSecretName("wuimjwpbhoglbsxxa")
 *                                     .build())
 *                                 .directoryId("eyjniptiykzcgbzok")
 *                                 .name("lxmwfan")
 *                                 .build())
 *                             .vaultSecret(KeyVaultSecretObjectArgs.builder()
 *                                 .name("bmectskddmpjxnsogwooexj")
 *                                 .version("unjfbf")
 *                                 .build())
 *                             .build())
 *                         .secretName("ybcke")
 *                         .build())
 *                     .trustedClientCaCertConfigMap("udidafmnpt")
 *                     .build())
 *                 .build())
 *             .authenticationName("lUo-GQ3-95F-1O-")
 *             .brokerName("87v1GC9557XuP-JLI4-")
 *             .extendedLocation(ExtendedLocationPropertyArgs.builder()
 *                 .name("an")
 *                 .type("CustomLocation")
 *                 .build())
 *             .listenerRef("dhjpypfjzzmwm")
 *             .location("vtxegvaeqwyupplnm")
 *             .mqName("2S-A2-D9kC946K")
 *             .resourceGroupName("rgiotoperationsmq")
 *             .tags()
 *             .build());
 *     }
 * }
 * ```
 * ## Import
 * An existing resource can be imported using its type token, name, and identifier, e.g.
 * ```sh
 * $ pulumi import azure-native:iotoperationsmq:BrokerAuthentication ktgtbdoqrmk /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTOperationsMQ/mq/{mqName}/broker/{brokerName}/authentication/{authenticationName}
 * ```
 * @property authenticationMethods The list of authentication methods supported by the Authentication Resource. For each array element, NOTE - Enum only authenticator type supported.
 * @property authenticationName Name of MQ broker/authentication resource
 * @property brokerName Name of MQ broker resource
 * @property extendedLocation Extended Location
 * @property listenerRef The array of listener Resources it supports.
 * @property location The geo-location where the resource lives
 * @property mqName Name of MQ resource
 * @property resourceGroupName The name of the resource group. The name is case insensitive.
 * @property tags Resource tags.
 */
public data class BrokerAuthenticationArgs(
    public val authenticationMethods: Output>? = null,
    public val authenticationName: Output? = null,
    public val brokerName: Output? = null,
    public val extendedLocation: Output? = null,
    public val listenerRef: Output>? = null,
    public val location: Output? = null,
    public val mqName: Output? = null,
    public val resourceGroupName: Output? = null,
    public val tags: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.iotoperationsmq.BrokerAuthenticationArgs =
        com.pulumi.azurenative.iotoperationsmq.BrokerAuthenticationArgs.builder()
            .authenticationMethods(
                authenticationMethods?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .authenticationName(authenticationName?.applyValue({ args0 -> args0 }))
            .brokerName(brokerName?.applyValue({ args0 -> args0 }))
            .extendedLocation(extendedLocation?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .listenerRef(listenerRef?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .location(location?.applyValue({ args0 -> args0 }))
            .mqName(mqName?.applyValue({ args0 -> args0 }))
            .resourceGroupName(resourceGroupName?.applyValue({ args0 -> args0 }))
            .tags(
                tags?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value)
                    }).toMap()
                }),
            ).build()
}

/**
 * Builder for [BrokerAuthenticationArgs].
 */
@PulumiTagMarker
public class BrokerAuthenticationArgsBuilder internal constructor() {
    private var authenticationMethods: Output>? = null

    private var authenticationName: Output? = null

    private var brokerName: Output? = null

    private var extendedLocation: Output? = null

    private var listenerRef: Output>? = null

    private var location: Output? = null

    private var mqName: Output? = null

    private var resourceGroupName: Output? = null

    private var tags: Output>? = null

    /**
     * @param value The list of authentication methods supported by the Authentication Resource. For each array element, NOTE - Enum only authenticator type supported.
     */
    @JvmName("iyswwqhxaiqyimtc")
    public suspend fun authenticationMethods(`value`: Output>) {
        this.authenticationMethods = value
    }

    @JvmName("edmnculuuvqxvqhi")
    public suspend fun authenticationMethods(vararg values: Output) {
        this.authenticationMethods = Output.all(values.asList())
    }

    /**
     * @param values The list of authentication methods supported by the Authentication Resource. For each array element, NOTE - Enum only authenticator type supported.
     */
    @JvmName("weqsjrtbwiqfdhuk")
    public suspend fun authenticationMethods(values: List>) {
        this.authenticationMethods = Output.all(values)
    }

    /**
     * @param value Name of MQ broker/authentication resource
     */
    @JvmName("rhlfkplqqofvwthn")
    public suspend fun authenticationName(`value`: Output) {
        this.authenticationName = value
    }

    /**
     * @param value Name of MQ broker resource
     */
    @JvmName("omeerxavfqwigegd")
    public suspend fun brokerName(`value`: Output) {
        this.brokerName = value
    }

    /**
     * @param value Extended Location
     */
    @JvmName("eqewcgouesnykgjh")
    public suspend fun extendedLocation(`value`: Output) {
        this.extendedLocation = value
    }

    /**
     * @param value The array of listener Resources it supports.
     */
    @JvmName("luohqdstbsuiryip")
    public suspend fun listenerRef(`value`: Output>) {
        this.listenerRef = value
    }

    @JvmName("cxjikxwlgbmocdlx")
    public suspend fun listenerRef(vararg values: Output) {
        this.listenerRef = Output.all(values.asList())
    }

    /**
     * @param values The array of listener Resources it supports.
     */
    @JvmName("dylhyvhijvgkkuhu")
    public suspend fun listenerRef(values: List>) {
        this.listenerRef = Output.all(values)
    }

    /**
     * @param value The geo-location where the resource lives
     */
    @JvmName("hllxaosimyqttniq")
    public suspend fun location(`value`: Output) {
        this.location = value
    }

    /**
     * @param value Name of MQ resource
     */
    @JvmName("merxuuiyrtsdqeit")
    public suspend fun mqName(`value`: Output) {
        this.mqName = value
    }

    /**
     * @param value The name of the resource group. The name is case insensitive.
     */
    @JvmName("uyaiksbeffvqoafu")
    public suspend fun resourceGroupName(`value`: Output) {
        this.resourceGroupName = value
    }

    /**
     * @param value Resource tags.
     */
    @JvmName("iuprchlohjcctluc")
    public suspend fun tags(`value`: Output>) {
        this.tags = value
    }

    /**
     * @param value The list of authentication methods supported by the Authentication Resource. For each array element, NOTE - Enum only authenticator type supported.
     */
    @JvmName("oduxsxomhllxevue")
    public suspend fun authenticationMethods(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.authenticationMethods = mapped
    }

    /**
     * @param argument The list of authentication methods supported by the Authentication Resource. For each array element, NOTE - Enum only authenticator type supported.
     */
    @JvmName("dsqedrvspvbusxwd")
    public suspend fun authenticationMethods(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            BrokerAuthenticatorMethodsArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.authenticationMethods = mapped
    }

    /**
     * @param argument The list of authentication methods supported by the Authentication Resource. For each array element, NOTE - Enum only authenticator type supported.
     */
    @JvmName("ubohvmtqeypiyand")
    public suspend fun authenticationMethods(vararg argument: suspend BrokerAuthenticatorMethodsArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            BrokerAuthenticatorMethodsArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.authenticationMethods = mapped
    }

    /**
     * @param argument The list of authentication methods supported by the Authentication Resource. For each array element, NOTE - Enum only authenticator type supported.
     */
    @JvmName("hjjtugcpbveyvyho")
    public suspend fun authenticationMethods(argument: suspend BrokerAuthenticatorMethodsArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            BrokerAuthenticatorMethodsArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.authenticationMethods = mapped
    }

    /**
     * @param values The list of authentication methods supported by the Authentication Resource. For each array element, NOTE - Enum only authenticator type supported.
     */
    @JvmName("tyuswuiwlnibdtkt")
    public suspend fun authenticationMethods(vararg values: BrokerAuthenticatorMethodsArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.authenticationMethods = mapped
    }

    /**
     * @param value Name of MQ broker/authentication resource
     */
    @JvmName("yfeajswlgrbanbry")
    public suspend fun authenticationName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.authenticationName = mapped
    }

    /**
     * @param value Name of MQ broker resource
     */
    @JvmName("qmiscposujteiijk")
    public suspend fun brokerName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.brokerName = mapped
    }

    /**
     * @param value Extended Location
     */
    @JvmName("erqoavlaktevdgqn")
    public suspend fun extendedLocation(`value`: ExtendedLocationPropertyArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.extendedLocation = mapped
    }

    /**
     * @param argument Extended Location
     */
    @JvmName("kmhcjuxeeqvkhgrn")
    public suspend fun extendedLocation(argument: suspend ExtendedLocationPropertyArgsBuilder.() -> Unit) {
        val toBeMapped = ExtendedLocationPropertyArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.extendedLocation = mapped
    }

    /**
     * @param value The array of listener Resources it supports.
     */
    @JvmName("qjeehmsuikgmjury")
    public suspend fun listenerRef(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.listenerRef = mapped
    }

    /**
     * @param values The array of listener Resources it supports.
     */
    @JvmName("kcsugjfiimmmucqx")
    public suspend fun listenerRef(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.listenerRef = mapped
    }

    /**
     * @param value The geo-location where the resource lives
     */
    @JvmName("uytiodxlihfniuuw")
    public suspend fun location(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.location = mapped
    }

    /**
     * @param value Name of MQ resource
     */
    @JvmName("xdstdjnoisqjfbhp")
    public suspend fun mqName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.mqName = mapped
    }

    /**
     * @param value The name of the resource group. The name is case insensitive.
     */
    @JvmName("oqdbdngjfrcrtbov")
    public suspend fun resourceGroupName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceGroupName = mapped
    }

    /**
     * @param value Resource tags.
     */
    @JvmName("sbtiosoviykrjjdb")
    public suspend fun tags(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    /**
     * @param values Resource tags.
     */
    @JvmName("gvcngeexmnicgnli")
    public fun tags(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.tags = mapped
    }

    internal fun build(): BrokerAuthenticationArgs = BrokerAuthenticationArgs(
        authenticationMethods = authenticationMethods,
        authenticationName = authenticationName,
        brokerName = brokerName,
        extendedLocation = extendedLocation,
        listenerRef = listenerRef,
        location = location,
        mqName = mqName,
        resourceGroupName = resourceGroupName,
        tags = tags,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy