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

com.pulumi.azurenative.iotoperationsmq.kotlin.BrokerArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azurenative.iotoperationsmq.kotlin

import com.pulumi.azurenative.iotoperationsmq.BrokerArgs.builder
import com.pulumi.azurenative.iotoperationsmq.kotlin.enums.BrokerMemoryProfile
import com.pulumi.azurenative.iotoperationsmq.kotlin.enums.RunMode
import com.pulumi.azurenative.iotoperationsmq.kotlin.inputs.BrokerDiagnosticsArgs
import com.pulumi.azurenative.iotoperationsmq.kotlin.inputs.BrokerDiagnosticsArgsBuilder
import com.pulumi.azurenative.iotoperationsmq.kotlin.inputs.CardinalityArgs
import com.pulumi.azurenative.iotoperationsmq.kotlin.inputs.CardinalityArgsBuilder
import com.pulumi.azurenative.iotoperationsmq.kotlin.inputs.CertManagerCertOptionsArgs
import com.pulumi.azurenative.iotoperationsmq.kotlin.inputs.CertManagerCertOptionsArgsBuilder
import com.pulumi.azurenative.iotoperationsmq.kotlin.inputs.ContainerImageArgs
import com.pulumi.azurenative.iotoperationsmq.kotlin.inputs.ContainerImageArgsBuilder
import com.pulumi.azurenative.iotoperationsmq.kotlin.inputs.DiskBackedMessageBufferSettingsArgs
import com.pulumi.azurenative.iotoperationsmq.kotlin.inputs.DiskBackedMessageBufferSettingsArgsBuilder
import com.pulumi.azurenative.iotoperationsmq.kotlin.inputs.ExtendedLocationPropertyArgs
import com.pulumi.azurenative.iotoperationsmq.kotlin.inputs.ExtendedLocationPropertyArgsBuilder
import com.pulumi.azurenative.iotoperationsmq.kotlin.inputs.NodeTolerationsArgs
import com.pulumi.azurenative.iotoperationsmq.kotlin.inputs.NodeTolerationsArgsBuilder
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.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 * MQ broker resource
 * Azure REST API version: 2023-10-04-preview.
 * ## Example Usage
 * ### Broker_CreateOrUpdate
 * ```csharp
 * using System.Collections.Generic;
 * using System.Linq;
 * using Pulumi;
 * using AzureNative = Pulumi.AzureNative;
 * return await Deployment.RunAsync(() =>
 * {
 *     var broker = new AzureNative.IoTOperationsMQ.Broker("broker", new()
 *     {
 *         AuthImage = new AzureNative.IoTOperationsMQ.Inputs.ContainerImageArgs
 *         {
 *             PullPolicy = "imfuzvqxgbdwliqnn",
 *             PullSecrets = "klnqimxqsrdwhcqldjvdtsrs",
 *             Repository = "m",
 *             Tag = "jygfdiamhhm",
 *         },
 *         BrokerImage = new AzureNative.IoTOperationsMQ.Inputs.ContainerImageArgs
 *         {
 *             PullPolicy = "imfuzvqxgbdwliqnn",
 *             PullSecrets = "klnqimxqsrdwhcqldjvdtsrs",
 *             Repository = "m",
 *             Tag = "jygfdiamhhm",
 *         },
 *         BrokerName = "29tAwt4A2-aH6nP",
 *         BrokerNodeTolerations = new AzureNative.IoTOperationsMQ.Inputs.NodeTolerationsArgs
 *         {
 *             Effect = "eeswvciblqmmaeesjoflyvxqbz",
 *             Key = "wbrstdwxgm",
 *             Operator = "lbegegneekwnyodtzraarivtwhmzep",
 *             Value = "sfafsjdcezdmkwibxeluukxgl",
 *         },
 *         Cardinality = new AzureNative.IoTOperationsMQ.Inputs.CardinalityArgs
 *         {
 *             BackendChain = new AzureNative.IoTOperationsMQ.Inputs.BackendChainArgs
 *             {
 *                 Partitions = 34721,
 *                 RedundancyFactor = 468,
 *                 TemporaryDiskTransferEnabled = true,
 *                 TemporaryDiskTransferHighWatermarkPercent = 79,
 *                 TemporaryDiskTransferLowWatermarkPercent = 94,
 *                 TemporaryMaxBackendMemUsagePercent = 54,
 *                 TemporaryResourceLimits = new AzureNative.IoTOperationsMQ.Inputs.TemporaryResourceLimitsConfigArgs
 *                 {
 *                     MaxInflightMessages = 33208,
 *                     MaxInflightPatches = 3410,
 *                     MaxInflightPatchesPerClient = 58933,
 *                     MaxMessageExpirySecs = 2036532516,
 *                     MaxQueuedMessages = 8083241696687839232,
 *                     MaxQueuedQos0Messages = 6545343433569253376,
 *                     MaxSessionExpirySecs = 2526293894,
 *                 },
 *                 Workers = 15754,
 *             },
 *             Frontend = new AzureNative.IoTOperationsMQ.Inputs.FrontendArgs
 *             {
 *                 Replicas = 38165,
 *                 TemporaryResourceLimits = new AzureNative.IoTOperationsMQ.Inputs.TemporaryResourceLimitsConfigArgs
 *                 {
 *                     MaxInflightMessages = 33208,
 *                     MaxInflightPatches = 3410,
 *                     MaxInflightPatchesPerClient = 58933,
 *                     MaxMessageExpirySecs = 2036532516,
 *                     MaxQueuedMessages = 8083241696687839232,
 *                     MaxQueuedQos0Messages = 6545343433569253376,
 *                     MaxSessionExpirySecs = 2526293894,
 *                 },
 *                 Workers = 38,
 *             },
 *         },
 *         Diagnostics = new AzureNative.IoTOperationsMQ.Inputs.BrokerDiagnosticsArgs
 *         {
 *             DiagnosticServiceEndpoint = "cdvelitwasofaaqhdb",
 *             EnableMetrics = true,
 *             EnableSelfCheck = true,
 *             EnableSelfTracing = true,
 *             EnableTracing = true,
 *             LogFormat = "tcivnlakxcajynypbz",
 *             LogLevel = "zdjh",
 *             MaxCellMapLifetime = 997099872515057664,
 *             MetricUpdateFrequencySeconds = 6156703238506293248,
 *             ProbeImage = "uzizubdxsgcpjwly",
 *             SelfCheckFrequencySeconds = 579622483050303872,
 *             SelfCheckTimeoutSeconds = 7847246333600883712,
 *             SelfTraceFrequencySeconds = 6527612490765174784,
 *             SpanChannelCapacity = 5533451650716961792,
 *         },
 *         DiskBackedMessageBufferSettings = new AzureNative.IoTOperationsMQ.Inputs.DiskBackedMessageBufferSettingsArgs
 *         {
 *             EphemeralVolumeClaimSpec = new AzureNative.IoTOperationsMQ.Inputs.VolumeClaimSpecArgs
 *             {
 *                 AccessModes = new[]
 *                 {
 *                     "cly",
 *                 },
 *                 DataSource = new AzureNative.IoTOperationsMQ.Inputs.VolumeClaimDataSourceArgs
 *                 {
 *                     ApiGroup = "v",
 *                     Kind = "pvzbnjebkoslzzucpaem",
 *                     Name = "bgzdfwfpdrubbbnfwzyr",
 *                 },
 *                 DataSourceRef = new AzureNative.IoTOperationsMQ.Inputs.VolumeClaimDataSourceRefArgs
 *                 {
 *                     ApiGroup = "e",
 *                     Kind = "hjbktqbtg",
 *                     Name = "losjjcujomepwhztzptrobavolc",
 *                 },
 *                 Resources = new AzureNative.IoTOperationsMQ.Inputs.VolumeClaimResourceRequirementsArgs
 *                 {
 *                     Limits = null,
 *                     Requests = null,
 *                 },
 *                 Selector = new AzureNative.IoTOperationsMQ.Inputs.VolumeClaimSpecSelectorArgs
 *                 {
 *                     MatchExpressions = new[]
 *                     {
 *                         new AzureNative.IoTOperationsMQ.Inputs.VolumeClaimSpecSelectorMatchExpressionsArgs
 *                         {
 *                             Key = "d",
 *                             Operator = "fcfvoarytcdbtccjervsmdis",
 *                             Values = new[]
 *                             {
 *                                 "y",
 *                             },
 *                         },
 *                     },
 *                     MatchLabels = null,
 *                 },
 *                 StorageClassName = "etajfhrtgatxi",
 *                 VolumeMode = "mipdeutsgidkzpxelbrqggjheplvmx",
 *                 VolumeName = "dacuvlvuullautxjxwdctvzlmd",
 *             },
 *             MaxSize = "gnwxgqjypylz",
 *             PersistentVolumeClaimSpec = new AzureNative.IoTOperationsMQ.Inputs.VolumeClaimSpecArgs
 *             {
 *                 AccessModes = new[]
 *                 {
 *                     "cly",
 *                 },
 *                 DataSource = new AzureNative.IoTOperationsMQ.Inputs.VolumeClaimDataSourceArgs
 *                 {
 *                     ApiGroup = "v",
 *                     Kind = "pvzbnjebkoslzzucpaem",
 *                     Name = "bgzdfwfpdrubbbnfwzyr",
 *                 },
 *                 DataSourceRef = new AzureNative.IoTOperationsMQ.Inputs.VolumeClaimDataSourceRefArgs
 *                 {
 *                     ApiGroup = "e",
 *                     Kind = "hjbktqbtg",
 *                     Name = "losjjcujomepwhztzptrobavolc",
 *                 },
 *                 Resources = new AzureNative.IoTOperationsMQ.Inputs.VolumeClaimResourceRequirementsArgs
 *                 {
 *                     Limits = null,
 *                     Requests = null,
 *                 },
 *                 Selector = new AzureNative.IoTOperationsMQ.Inputs.VolumeClaimSpecSelectorArgs
 *                 {
 *                     MatchExpressions = new[]
 *                     {
 *                         new AzureNative.IoTOperationsMQ.Inputs.VolumeClaimSpecSelectorMatchExpressionsArgs
 *                         {
 *                             Key = "d",
 *                             Operator = "fcfvoarytcdbtccjervsmdis",
 *                             Values = new[]
 *                             {
 *                                 "y",
 *                             },
 *                         },
 *                     },
 *                     MatchLabels = null,
 *                 },
 *                 StorageClassName = "etajfhrtgatxi",
 *                 VolumeMode = "mipdeutsgidkzpxelbrqggjheplvmx",
 *                 VolumeName = "dacuvlvuullautxjxwdctvzlmd",
 *             },
 *         },
 *         EncryptInternalTraffic = true,
 *         ExtendedLocation = new AzureNative.IoTOperationsMQ.Inputs.ExtendedLocationPropertyArgs
 *         {
 *             Name = "an",
 *             Type = AzureNative.IoTOperationsMQ.ExtendedLocationType.CustomLocation,
 *         },
 *         HealthManagerImage = new AzureNative.IoTOperationsMQ.Inputs.ContainerImageArgs
 *         {
 *             PullPolicy = "imfuzvqxgbdwliqnn",
 *             PullSecrets = "klnqimxqsrdwhcqldjvdtsrs",
 *             Repository = "m",
 *             Tag = "jygfdiamhhm",
 *         },
 *         HealthManagerNodeTolerations = new AzureNative.IoTOperationsMQ.Inputs.NodeTolerationsArgs
 *         {
 *             Effect = "eeswvciblqmmaeesjoflyvxqbz",
 *             Key = "wbrstdwxgm",
 *             Operator = "lbegegneekwnyodtzraarivtwhmzep",
 *             Value = "sfafsjdcezdmkwibxeluukxgl",
 *         },
 *         InternalCerts = new AzureNative.IoTOperationsMQ.Inputs.CertManagerCertOptionsArgs
 *         {
 *             Duration = "xjjmzq",
 *             PrivateKey = new AzureNative.IoTOperationsMQ.Inputs.CertManagerPrivateKeyArgs
 *             {
 *                 Algorithm = "wwewfsddymjefuhxzqybwvay",
 *                 RotationPolicy = "jxmpyvfneckopjiakjtous",
 *                 Size = 63427,
 *             },
 *             RenewBefore = "zkajhllevrxkfmfyzasmbllvd",
 *         },
 *         Location = "ltzfwqzs",
 *         MemoryProfile = AzureNative.IoTOperationsMQ.BrokerMemoryProfile.Tiny,
 *         Mode = AzureNative.IoTOperationsMQ.RunMode.Auto,
 *         MqName = "u229L1RZ5",
 *         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.NewBroker(ctx, "broker", &iotoperationsmq.BrokerArgs{
 * 			AuthImage: &iotoperationsmq.ContainerImageArgs{
 * 				PullPolicy:  pulumi.String("imfuzvqxgbdwliqnn"),
 * 				PullSecrets: pulumi.String("klnqimxqsrdwhcqldjvdtsrs"),
 * 				Repository:  pulumi.String("m"),
 * 				Tag:         pulumi.String("jygfdiamhhm"),
 * 			},
 * 			BrokerImage: &iotoperationsmq.ContainerImageArgs{
 * 				PullPolicy:  pulumi.String("imfuzvqxgbdwliqnn"),
 * 				PullSecrets: pulumi.String("klnqimxqsrdwhcqldjvdtsrs"),
 * 				Repository:  pulumi.String("m"),
 * 				Tag:         pulumi.String("jygfdiamhhm"),
 * 			},
 * 			BrokerName: pulumi.String("29tAwt4A2-aH6nP"),
 * 			BrokerNodeTolerations: &iotoperationsmq.NodeTolerationsArgs{
 * 				Effect:   pulumi.String("eeswvciblqmmaeesjoflyvxqbz"),
 * 				Key:      pulumi.String("wbrstdwxgm"),
 * 				Operator: pulumi.String("lbegegneekwnyodtzraarivtwhmzep"),
 * 				Value:    pulumi.String("sfafsjdcezdmkwibxeluukxgl"),
 * 			},
 * 			Cardinality: &iotoperationsmq.CardinalityArgs{
 * 				BackendChain: &iotoperationsmq.BackendChainArgs{
 * 					Partitions:                                pulumi.Int(34721),
 * 					RedundancyFactor:                          pulumi.Int(468),
 * 					TemporaryDiskTransferEnabled:              pulumi.Bool(true),
 * 					TemporaryDiskTransferHighWatermarkPercent: pulumi.Int(79),
 * 					TemporaryDiskTransferLowWatermarkPercent:  pulumi.Int(94),
 * 					TemporaryMaxBackendMemUsagePercent:        pulumi.Int(54),
 * 					TemporaryResourceLimits: &iotoperationsmq.TemporaryResourceLimitsConfigArgs{
 * 						MaxInflightMessages:         pulumi.Int(33208),
 * 						MaxInflightPatches:          pulumi.Int(3410),
 * 						MaxInflightPatchesPerClient: pulumi.Int(58933),
 * 						MaxMessageExpirySecs:        pulumi.Float64(2036532516),
 * 						MaxQueuedMessages:           pulumi.Float64(8083241696687839232),
 * 						MaxQueuedQos0Messages:       pulumi.Float64(6545343433569253376),
 * 						MaxSessionExpirySecs:        pulumi.Float64(2526293894),
 * 					},
 * 					Workers: pulumi.Int(15754),
 * 				},
 * 				Frontend: &iotoperationsmq.FrontendArgs{
 * 					Replicas: pulumi.Int(38165),
 * 					TemporaryResourceLimits: &iotoperationsmq.TemporaryResourceLimitsConfigArgs{
 * 						MaxInflightMessages:         pulumi.Int(33208),
 * 						MaxInflightPatches:          pulumi.Int(3410),
 * 						MaxInflightPatchesPerClient: pulumi.Int(58933),
 * 						MaxMessageExpirySecs:        pulumi.Float64(2036532516),
 * 						MaxQueuedMessages:           pulumi.Float64(8083241696687839232),
 * 						MaxQueuedQos0Messages:       pulumi.Float64(6545343433569253376),
 * 						MaxSessionExpirySecs:        pulumi.Float64(2526293894),
 * 					},
 * 					Workers: pulumi.Int(38),
 * 				},
 * 			},
 * 			Diagnostics: &iotoperationsmq.BrokerDiagnosticsArgs{
 * 				DiagnosticServiceEndpoint:    pulumi.String("cdvelitwasofaaqhdb"),
 * 				EnableMetrics:                pulumi.Bool(true),
 * 				EnableSelfCheck:              pulumi.Bool(true),
 * 				EnableSelfTracing:            pulumi.Bool(true),
 * 				EnableTracing:                pulumi.Bool(true),
 * 				LogFormat:                    pulumi.String("tcivnlakxcajynypbz"),
 * 				LogLevel:                     pulumi.String("zdjh"),
 * 				MaxCellMapLifetime:           pulumi.Float64(997099872515057664),
 * 				MetricUpdateFrequencySeconds: pulumi.Float64(6156703238506293248),
 * 				ProbeImage:                   pulumi.String("uzizubdxsgcpjwly"),
 * 				SelfCheckFrequencySeconds:    pulumi.Float64(579622483050303872),
 * 				SelfCheckTimeoutSeconds:      pulumi.Float64(7847246333600883712),
 * 				SelfTraceFrequencySeconds:    pulumi.Float64(6527612490765174784),
 * 				SpanChannelCapacity:          pulumi.Float64(5533451650716961792),
 * 			},
 * 			DiskBackedMessageBufferSettings: &iotoperationsmq.DiskBackedMessageBufferSettingsArgs{
 * 				EphemeralVolumeClaimSpec: &iotoperationsmq.VolumeClaimSpecArgs{
 * 					AccessModes: pulumi.StringArray{
 * 						pulumi.String("cly"),
 * 					},
 * 					DataSource: &iotoperationsmq.VolumeClaimDataSourceArgs{
 * 						ApiGroup: pulumi.String("v"),
 * 						Kind:     pulumi.String("pvzbnjebkoslzzucpaem"),
 * 						Name:     pulumi.String("bgzdfwfpdrubbbnfwzyr"),
 * 					},
 * 					DataSourceRef: &iotoperationsmq.VolumeClaimDataSourceRefArgs{
 * 						ApiGroup: pulumi.String("e"),
 * 						Kind:     pulumi.String("hjbktqbtg"),
 * 						Name:     pulumi.String("losjjcujomepwhztzptrobavolc"),
 * 					},
 * 					Resources: &iotoperationsmq.VolumeClaimResourceRequirementsArgs{
 * 						Limits:   nil,
 * 						Requests: nil,
 * 					},
 * 					Selector: &iotoperationsmq.VolumeClaimSpecSelectorArgs{
 * 						MatchExpressions: iotoperationsmq.VolumeClaimSpecSelectorMatchExpressionsArray{
 * 							&iotoperationsmq.VolumeClaimSpecSelectorMatchExpressionsArgs{
 * 								Key:      pulumi.String("d"),
 * 								Operator: pulumi.String("fcfvoarytcdbtccjervsmdis"),
 * 								Values: pulumi.StringArray{
 * 									pulumi.String("y"),
 * 								},
 * 							},
 * 						},
 * 						MatchLabels: nil,
 * 					},
 * 					StorageClassName: pulumi.String("etajfhrtgatxi"),
 * 					VolumeMode:       pulumi.String("mipdeutsgidkzpxelbrqggjheplvmx"),
 * 					VolumeName:       pulumi.String("dacuvlvuullautxjxwdctvzlmd"),
 * 				},
 * 				MaxSize: pulumi.String("gnwxgqjypylz"),
 * 				PersistentVolumeClaimSpec: &iotoperationsmq.VolumeClaimSpecArgs{
 * 					AccessModes: pulumi.StringArray{
 * 						pulumi.String("cly"),
 * 					},
 * 					DataSource: &iotoperationsmq.VolumeClaimDataSourceArgs{
 * 						ApiGroup: pulumi.String("v"),
 * 						Kind:     pulumi.String("pvzbnjebkoslzzucpaem"),
 * 						Name:     pulumi.String("bgzdfwfpdrubbbnfwzyr"),
 * 					},
 * 					DataSourceRef: &iotoperationsmq.VolumeClaimDataSourceRefArgs{
 * 						ApiGroup: pulumi.String("e"),
 * 						Kind:     pulumi.String("hjbktqbtg"),
 * 						Name:     pulumi.String("losjjcujomepwhztzptrobavolc"),
 * 					},
 * 					Resources: &iotoperationsmq.VolumeClaimResourceRequirementsArgs{
 * 						Limits:   nil,
 * 						Requests: nil,
 * 					},
 * 					Selector: &iotoperationsmq.VolumeClaimSpecSelectorArgs{
 * 						MatchExpressions: iotoperationsmq.VolumeClaimSpecSelectorMatchExpressionsArray{
 * 							&iotoperationsmq.VolumeClaimSpecSelectorMatchExpressionsArgs{
 * 								Key:      pulumi.String("d"),
 * 								Operator: pulumi.String("fcfvoarytcdbtccjervsmdis"),
 * 								Values: pulumi.StringArray{
 * 									pulumi.String("y"),
 * 								},
 * 							},
 * 						},
 * 						MatchLabels: nil,
 * 					},
 * 					StorageClassName: pulumi.String("etajfhrtgatxi"),
 * 					VolumeMode:       pulumi.String("mipdeutsgidkzpxelbrqggjheplvmx"),
 * 					VolumeName:       pulumi.String("dacuvlvuullautxjxwdctvzlmd"),
 * 				},
 * 			},
 * 			EncryptInternalTraffic: pulumi.Bool(true),
 * 			ExtendedLocation: &iotoperationsmq.ExtendedLocationPropertyArgs{
 * 				Name: pulumi.String("an"),
 * 				Type: pulumi.String(iotoperationsmq.ExtendedLocationTypeCustomLocation),
 * 			},
 * 			HealthManagerImage: &iotoperationsmq.ContainerImageArgs{
 * 				PullPolicy:  pulumi.String("imfuzvqxgbdwliqnn"),
 * 				PullSecrets: pulumi.String("klnqimxqsrdwhcqldjvdtsrs"),
 * 				Repository:  pulumi.String("m"),
 * 				Tag:         pulumi.String("jygfdiamhhm"),
 * 			},
 * 			HealthManagerNodeTolerations: &iotoperationsmq.NodeTolerationsArgs{
 * 				Effect:   pulumi.String("eeswvciblqmmaeesjoflyvxqbz"),
 * 				Key:      pulumi.String("wbrstdwxgm"),
 * 				Operator: pulumi.String("lbegegneekwnyodtzraarivtwhmzep"),
 * 				Value:    pulumi.String("sfafsjdcezdmkwibxeluukxgl"),
 * 			},
 * 			InternalCerts: &iotoperationsmq.CertManagerCertOptionsArgs{
 * 				Duration: pulumi.String("xjjmzq"),
 * 				PrivateKey: &iotoperationsmq.CertManagerPrivateKeyArgs{
 * 					Algorithm:      pulumi.String("wwewfsddymjefuhxzqybwvay"),
 * 					RotationPolicy: pulumi.String("jxmpyvfneckopjiakjtous"),
 * 					Size:           pulumi.Int(63427),
 * 				},
 * 				RenewBefore: pulumi.String("zkajhllevrxkfmfyzasmbllvd"),
 * 			},
 * 			Location:          pulumi.String("ltzfwqzs"),
 * 			MemoryProfile:     pulumi.String(iotoperationsmq.BrokerMemoryProfileTiny),
 * 			Mode:              pulumi.String(iotoperationsmq.RunModeAuto),
 * 			MqName:            pulumi.String("u229L1RZ5"),
 * 			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.Broker;
 * import com.pulumi.azurenative.iotoperationsmq.BrokerArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.ContainerImageArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.NodeTolerationsArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.CardinalityArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.BackendChainArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.TemporaryResourceLimitsConfigArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.FrontendArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.BrokerDiagnosticsArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.DiskBackedMessageBufferSettingsArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.VolumeClaimSpecArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.VolumeClaimDataSourceArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.VolumeClaimDataSourceRefArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.VolumeClaimResourceRequirementsArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.VolumeClaimSpecSelectorArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.ExtendedLocationPropertyArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.CertManagerCertOptionsArgs;
 * import com.pulumi.azurenative.iotoperationsmq.inputs.CertManagerPrivateKeyArgs;
 * 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 broker = new Broker("broker", BrokerArgs.builder()
 *             .authImage(ContainerImageArgs.builder()
 *                 .pullPolicy("imfuzvqxgbdwliqnn")
 *                 .pullSecrets("klnqimxqsrdwhcqldjvdtsrs")
 *                 .repository("m")
 *                 .tag("jygfdiamhhm")
 *                 .build())
 *             .brokerImage(ContainerImageArgs.builder()
 *                 .pullPolicy("imfuzvqxgbdwliqnn")
 *                 .pullSecrets("klnqimxqsrdwhcqldjvdtsrs")
 *                 .repository("m")
 *                 .tag("jygfdiamhhm")
 *                 .build())
 *             .brokerName("29tAwt4A2-aH6nP")
 *             .brokerNodeTolerations(NodeTolerationsArgs.builder()
 *                 .effect("eeswvciblqmmaeesjoflyvxqbz")
 *                 .key("wbrstdwxgm")
 *                 .operator("lbegegneekwnyodtzraarivtwhmzep")
 *                 .value("sfafsjdcezdmkwibxeluukxgl")
 *                 .build())
 *             .cardinality(CardinalityArgs.builder()
 *                 .backendChain(BackendChainArgs.builder()
 *                     .partitions(34721)
 *                     .redundancyFactor(468)
 *                     .temporaryDiskTransferEnabled(true)
 *                     .temporaryDiskTransferHighWatermarkPercent(79)
 *                     .temporaryDiskTransferLowWatermarkPercent(94)
 *                     .temporaryMaxBackendMemUsagePercent(54)
 *                     .temporaryResourceLimits(TemporaryResourceLimitsConfigArgs.builder()
 *                         .maxInflightMessages(33208)
 *                         .maxInflightPatches(3410)
 *                         .maxInflightPatchesPerClient(58933)
 *                         .maxMessageExpirySecs(2036532516)
 *                         .maxQueuedMessages(8083241696687839232)
 *                         .maxQueuedQos0Messages(6545343433569253376)
 *                         .maxSessionExpirySecs(2526293894)
 *                         .build())
 *                     .workers(15754)
 *                     .build())
 *                 .frontend(FrontendArgs.builder()
 *                     .replicas(38165)
 *                     .temporaryResourceLimits(TemporaryResourceLimitsConfigArgs.builder()
 *                         .maxInflightMessages(33208)
 *                         .maxInflightPatches(3410)
 *                         .maxInflightPatchesPerClient(58933)
 *                         .maxMessageExpirySecs(2036532516)
 *                         .maxQueuedMessages(8083241696687839232)
 *                         .maxQueuedQos0Messages(6545343433569253376)
 *                         .maxSessionExpirySecs(2526293894)
 *                         .build())
 *                     .workers(38)
 *                     .build())
 *                 .build())
 *             .diagnostics(BrokerDiagnosticsArgs.builder()
 *                 .diagnosticServiceEndpoint("cdvelitwasofaaqhdb")
 *                 .enableMetrics(true)
 *                 .enableSelfCheck(true)
 *                 .enableSelfTracing(true)
 *                 .enableTracing(true)
 *                 .logFormat("tcivnlakxcajynypbz")
 *                 .logLevel("zdjh")
 *                 .maxCellMapLifetime(997099872515057664)
 *                 .metricUpdateFrequencySeconds(6156703238506293248)
 *                 .probeImage("uzizubdxsgcpjwly")
 *                 .selfCheckFrequencySeconds(579622483050303872)
 *                 .selfCheckTimeoutSeconds(7847246333600883712)
 *                 .selfTraceFrequencySeconds(6527612490765174784)
 *                 .spanChannelCapacity(5533451650716961792)
 *                 .build())
 *             .diskBackedMessageBufferSettings(DiskBackedMessageBufferSettingsArgs.builder()
 *                 .ephemeralVolumeClaimSpec(VolumeClaimSpecArgs.builder()
 *                     .accessModes("cly")
 *                     .dataSource(VolumeClaimDataSourceArgs.builder()
 *                         .apiGroup("v")
 *                         .kind("pvzbnjebkoslzzucpaem")
 *                         .name("bgzdfwfpdrubbbnfwzyr")
 *                         .build())
 *                     .dataSourceRef(VolumeClaimDataSourceRefArgs.builder()
 *                         .apiGroup("e")
 *                         .kind("hjbktqbtg")
 *                         .name("losjjcujomepwhztzptrobavolc")
 *                         .build())
 *                     .resources(VolumeClaimResourceRequirementsArgs.builder()
 *                         .limits()
 *                         .requests()
 *                         .build())
 *                     .selector(VolumeClaimSpecSelectorArgs.builder()
 *                         .matchExpressions(VolumeClaimSpecSelectorMatchExpressionsArgs.builder()
 *                             .key("d")
 *                             .operator("fcfvoarytcdbtccjervsmdis")
 *                             .values("y")
 *                             .build())
 *                         .matchLabels()
 *                         .build())
 *                     .storageClassName("etajfhrtgatxi")
 *                     .volumeMode("mipdeutsgidkzpxelbrqggjheplvmx")
 *                     .volumeName("dacuvlvuullautxjxwdctvzlmd")
 *                     .build())
 *                 .maxSize("gnwxgqjypylz")
 *                 .persistentVolumeClaimSpec(VolumeClaimSpecArgs.builder()
 *                     .accessModes("cly")
 *                     .dataSource(VolumeClaimDataSourceArgs.builder()
 *                         .apiGroup("v")
 *                         .kind("pvzbnjebkoslzzucpaem")
 *                         .name("bgzdfwfpdrubbbnfwzyr")
 *                         .build())
 *                     .dataSourceRef(VolumeClaimDataSourceRefArgs.builder()
 *                         .apiGroup("e")
 *                         .kind("hjbktqbtg")
 *                         .name("losjjcujomepwhztzptrobavolc")
 *                         .build())
 *                     .resources(VolumeClaimResourceRequirementsArgs.builder()
 *                         .limits()
 *                         .requests()
 *                         .build())
 *                     .selector(VolumeClaimSpecSelectorArgs.builder()
 *                         .matchExpressions(VolumeClaimSpecSelectorMatchExpressionsArgs.builder()
 *                             .key("d")
 *                             .operator("fcfvoarytcdbtccjervsmdis")
 *                             .values("y")
 *                             .build())
 *                         .matchLabels()
 *                         .build())
 *                     .storageClassName("etajfhrtgatxi")
 *                     .volumeMode("mipdeutsgidkzpxelbrqggjheplvmx")
 *                     .volumeName("dacuvlvuullautxjxwdctvzlmd")
 *                     .build())
 *                 .build())
 *             .encryptInternalTraffic(true)
 *             .extendedLocation(ExtendedLocationPropertyArgs.builder()
 *                 .name("an")
 *                 .type("CustomLocation")
 *                 .build())
 *             .healthManagerImage(ContainerImageArgs.builder()
 *                 .pullPolicy("imfuzvqxgbdwliqnn")
 *                 .pullSecrets("klnqimxqsrdwhcqldjvdtsrs")
 *                 .repository("m")
 *                 .tag("jygfdiamhhm")
 *                 .build())
 *             .healthManagerNodeTolerations(NodeTolerationsArgs.builder()
 *                 .effect("eeswvciblqmmaeesjoflyvxqbz")
 *                 .key("wbrstdwxgm")
 *                 .operator("lbegegneekwnyodtzraarivtwhmzep")
 *                 .value("sfafsjdcezdmkwibxeluukxgl")
 *                 .build())
 *             .internalCerts(CertManagerCertOptionsArgs.builder()
 *                 .duration("xjjmzq")
 *                 .privateKey(CertManagerPrivateKeyArgs.builder()
 *                     .algorithm("wwewfsddymjefuhxzqybwvay")
 *                     .rotationPolicy("jxmpyvfneckopjiakjtous")
 *                     .size(63427)
 *                     .build())
 *                 .renewBefore("zkajhllevrxkfmfyzasmbllvd")
 *                 .build())
 *             .location("ltzfwqzs")
 *             .memoryProfile("tiny")
 *             .mode("auto")
 *             .mqName("u229L1RZ5")
 *             .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:Broker blyxqmvmwlzftkvi /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTOperationsMQ/mq/{mqName}/broker/{brokerName}
 * ```
 * @property authImage The details of Authentication Docker Image.
 * @property brokerImage The details of Broker Docker Image.
 * @property brokerName Name of MQ broker resource
 * @property brokerNodeTolerations The details of Node Tolerations for Broker Pods.
 * @property cardinality The cardinality details of the broker.
 * @property diagnostics The diagnostic details of the broker deployment.
 * @property diskBackedMessageBufferSettings The settings of the disk-backed message buffer.
 * @property encryptInternalTraffic The setting to enable or disable encryption of internal Traffic.
 * @property extendedLocation Extended Location
 * @property healthManagerImage The details of Health Manager Docker Image.
 * @property healthManagerNodeTolerations The details of Node Tolerations for Health Manager Pods.
 * @property internalCerts Details of the internal CA cert that will be used to secure communication between pods.
 * @property location The geo-location where the resource lives
 * @property memoryProfile Memory profile of broker.
 * @property mode The Running Mode of the Broker Deployment.
 * @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 BrokerArgs(
    public val authImage: Output? = null,
    public val brokerImage: Output? = null,
    public val brokerName: Output? = null,
    public val brokerNodeTolerations: Output? = null,
    public val cardinality: Output? = null,
    public val diagnostics: Output? = null,
    public val diskBackedMessageBufferSettings: Output? = null,
    public val encryptInternalTraffic: Output? = null,
    public val extendedLocation: Output? = null,
    public val healthManagerImage: Output? = null,
    public val healthManagerNodeTolerations: Output? = null,
    public val internalCerts: Output? = null,
    public val location: Output? = null,
    public val memoryProfile: Output>? = null,
    public val mode: 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.BrokerArgs =
        com.pulumi.azurenative.iotoperationsmq.BrokerArgs.builder()
            .authImage(authImage?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .brokerImage(brokerImage?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .brokerName(brokerName?.applyValue({ args0 -> args0 }))
            .brokerNodeTolerations(
                brokerNodeTolerations?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .cardinality(cardinality?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .diagnostics(diagnostics?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .diskBackedMessageBufferSettings(
                diskBackedMessageBufferSettings?.applyValue({ args0 ->
                    args0.let({ args0 -> args0.toJava() })
                }),
            )
            .encryptInternalTraffic(encryptInternalTraffic?.applyValue({ args0 -> args0 }))
            .extendedLocation(extendedLocation?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .healthManagerImage(
                healthManagerImage?.applyValue({ args0 ->
                    args0.let({ args0 ->
                        args0.toJava()
                    })
                }),
            )
            .healthManagerNodeTolerations(
                healthManagerNodeTolerations?.applyValue({ args0 ->
                    args0.let({ args0 -> args0.toJava() })
                }),
            )
            .internalCerts(internalCerts?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .location(location?.applyValue({ args0 -> args0 }))
            .memoryProfile(
                memoryProfile?.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .mode(
                mode?.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .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 [BrokerArgs].
 */
@PulumiTagMarker
public class BrokerArgsBuilder internal constructor() {
    private var authImage: Output? = null

    private var brokerImage: Output? = null

    private var brokerName: Output? = null

    private var brokerNodeTolerations: Output? = null

    private var cardinality: Output? = null

    private var diagnostics: Output? = null

    private var diskBackedMessageBufferSettings: Output? = null

    private var encryptInternalTraffic: Output? = null

    private var extendedLocation: Output? = null

    private var healthManagerImage: Output? = null

    private var healthManagerNodeTolerations: Output? = null

    private var internalCerts: Output? = null

    private var location: Output? = null

    private var memoryProfile: Output>? = null

    private var mode: Output>? = null

    private var mqName: Output? = null

    private var resourceGroupName: Output? = null

    private var tags: Output>? = null

    /**
     * @param value The details of Authentication Docker Image.
     */
    @JvmName("aihphnunnuafvdgm")
    public suspend fun authImage(`value`: Output) {
        this.authImage = value
    }

    /**
     * @param value The details of Broker Docker Image.
     */
    @JvmName("ansocyitglyosldc")
    public suspend fun brokerImage(`value`: Output) {
        this.brokerImage = value
    }

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

    /**
     * @param value The details of Node Tolerations for Broker Pods.
     */
    @JvmName("nwdnpseogyeodsng")
    public suspend fun brokerNodeTolerations(`value`: Output) {
        this.brokerNodeTolerations = value
    }

    /**
     * @param value The cardinality details of the broker.
     */
    @JvmName("hmslofrmtxqadnhi")
    public suspend fun cardinality(`value`: Output) {
        this.cardinality = value
    }

    /**
     * @param value The diagnostic details of the broker deployment.
     */
    @JvmName("arsbuctwdjleergq")
    public suspend fun diagnostics(`value`: Output) {
        this.diagnostics = value
    }

    /**
     * @param value The settings of the disk-backed message buffer.
     */
    @JvmName("wvxqoxacdxojphyj")
    public suspend fun diskBackedMessageBufferSettings(`value`: Output) {
        this.diskBackedMessageBufferSettings = value
    }

    /**
     * @param value The setting to enable or disable encryption of internal Traffic.
     */
    @JvmName("olcqrpdhgyuobasv")
    public suspend fun encryptInternalTraffic(`value`: Output) {
        this.encryptInternalTraffic = value
    }

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

    /**
     * @param value The details of Health Manager Docker Image.
     */
    @JvmName("sqvuwgxcppecbwvy")
    public suspend fun healthManagerImage(`value`: Output) {
        this.healthManagerImage = value
    }

    /**
     * @param value The details of Node Tolerations for Health Manager Pods.
     */
    @JvmName("lmvacjshmbikdftl")
    public suspend fun healthManagerNodeTolerations(`value`: Output) {
        this.healthManagerNodeTolerations = value
    }

    /**
     * @param value Details of the internal CA cert that will be used to secure communication between pods.
     */
    @JvmName("xqmmqcmfmywsirwl")
    public suspend fun internalCerts(`value`: Output) {
        this.internalCerts = value
    }

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

    /**
     * @param value Memory profile of broker.
     */
    @JvmName("fooivhlurugienwb")
    public suspend fun memoryProfile(`value`: Output>) {
        this.memoryProfile = value
    }

    /**
     * @param value The Running Mode of the Broker Deployment.
     */
    @JvmName("uoednkljfkhanjtx")
    public suspend fun mode(`value`: Output>) {
        this.mode = value
    }

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

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

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

    /**
     * @param value The details of Authentication Docker Image.
     */
    @JvmName("fmeptoffqroucdoy")
    public suspend fun authImage(`value`: ContainerImageArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.authImage = mapped
    }

    /**
     * @param argument The details of Authentication Docker Image.
     */
    @JvmName("tavimahrohokpgeq")
    public suspend fun authImage(argument: suspend ContainerImageArgsBuilder.() -> Unit) {
        val toBeMapped = ContainerImageArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.authImage = mapped
    }

    /**
     * @param value The details of Broker Docker Image.
     */
    @JvmName("bhvataeabcvrglne")
    public suspend fun brokerImage(`value`: ContainerImageArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.brokerImage = mapped
    }

    /**
     * @param argument The details of Broker Docker Image.
     */
    @JvmName("tfqxewrtaglwlciw")
    public suspend fun brokerImage(argument: suspend ContainerImageArgsBuilder.() -> Unit) {
        val toBeMapped = ContainerImageArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.brokerImage = mapped
    }

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

    /**
     * @param value The details of Node Tolerations for Broker Pods.
     */
    @JvmName("srgxvohnaqqfdfeo")
    public suspend fun brokerNodeTolerations(`value`: NodeTolerationsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.brokerNodeTolerations = mapped
    }

    /**
     * @param argument The details of Node Tolerations for Broker Pods.
     */
    @JvmName("atklxcstjurgvsab")
    public suspend fun brokerNodeTolerations(argument: suspend NodeTolerationsArgsBuilder.() -> Unit) {
        val toBeMapped = NodeTolerationsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.brokerNodeTolerations = mapped
    }

    /**
     * @param value The cardinality details of the broker.
     */
    @JvmName("hpbxvthfuohvhipl")
    public suspend fun cardinality(`value`: CardinalityArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cardinality = mapped
    }

    /**
     * @param argument The cardinality details of the broker.
     */
    @JvmName("itcumyeqbsecdnxp")
    public suspend fun cardinality(argument: suspend CardinalityArgsBuilder.() -> Unit) {
        val toBeMapped = CardinalityArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.cardinality = mapped
    }

    /**
     * @param value The diagnostic details of the broker deployment.
     */
    @JvmName("wcqxkfjmqifbbxsh")
    public suspend fun diagnostics(`value`: BrokerDiagnosticsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.diagnostics = mapped
    }

    /**
     * @param argument The diagnostic details of the broker deployment.
     */
    @JvmName("smiifujybtraaxqw")
    public suspend fun diagnostics(argument: suspend BrokerDiagnosticsArgsBuilder.() -> Unit) {
        val toBeMapped = BrokerDiagnosticsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.diagnostics = mapped
    }

    /**
     * @param value The settings of the disk-backed message buffer.
     */
    @JvmName("chwonkresqqaoqmp")
    public suspend fun diskBackedMessageBufferSettings(`value`: DiskBackedMessageBufferSettingsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.diskBackedMessageBufferSettings = mapped
    }

    /**
     * @param argument The settings of the disk-backed message buffer.
     */
    @JvmName("ijoecqayigfvtjcp")
    public suspend fun diskBackedMessageBufferSettings(argument: suspend DiskBackedMessageBufferSettingsArgsBuilder.() -> Unit) {
        val toBeMapped = DiskBackedMessageBufferSettingsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.diskBackedMessageBufferSettings = mapped
    }

    /**
     * @param value The setting to enable or disable encryption of internal Traffic.
     */
    @JvmName("rgewjxmkfpooojxo")
    public suspend fun encryptInternalTraffic(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.encryptInternalTraffic = mapped
    }

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

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

    /**
     * @param value The details of Health Manager Docker Image.
     */
    @JvmName("qglbxhtbjhyuxoqv")
    public suspend fun healthManagerImage(`value`: ContainerImageArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.healthManagerImage = mapped
    }

    /**
     * @param argument The details of Health Manager Docker Image.
     */
    @JvmName("dbbnrhpiyoritdtt")
    public suspend fun healthManagerImage(argument: suspend ContainerImageArgsBuilder.() -> Unit) {
        val toBeMapped = ContainerImageArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.healthManagerImage = mapped
    }

    /**
     * @param value The details of Node Tolerations for Health Manager Pods.
     */
    @JvmName("pojlqpikfrhxjybi")
    public suspend fun healthManagerNodeTolerations(`value`: NodeTolerationsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.healthManagerNodeTolerations = mapped
    }

    /**
     * @param argument The details of Node Tolerations for Health Manager Pods.
     */
    @JvmName("kbvesuocfitvlolx")
    public suspend fun healthManagerNodeTolerations(argument: suspend NodeTolerationsArgsBuilder.() -> Unit) {
        val toBeMapped = NodeTolerationsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.healthManagerNodeTolerations = mapped
    }

    /**
     * @param value Details of the internal CA cert that will be used to secure communication between pods.
     */
    @JvmName("lqednglnxkkvklow")
    public suspend fun internalCerts(`value`: CertManagerCertOptionsArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.internalCerts = mapped
    }

    /**
     * @param argument Details of the internal CA cert that will be used to secure communication between pods.
     */
    @JvmName("ykckwqgkjpaesmpp")
    public suspend fun internalCerts(argument: suspend CertManagerCertOptionsArgsBuilder.() -> Unit) {
        val toBeMapped = CertManagerCertOptionsArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.internalCerts = mapped
    }

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

    /**
     * @param value Memory profile of broker.
     */
    @JvmName("gbmambgdpqpxyrkp")
    public suspend fun memoryProfile(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.memoryProfile = mapped
    }

    /**
     * @param value Memory profile of broker.
     */
    @JvmName("ifbvyljeeyverrqt")
    public fun memoryProfile(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.memoryProfile = mapped
    }

    /**
     * @param value Memory profile of broker.
     */
    @JvmName("xkqxaajjakstcofx")
    public fun memoryProfile(`value`: BrokerMemoryProfile) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.memoryProfile = mapped
    }

    /**
     * @param value The Running Mode of the Broker Deployment.
     */
    @JvmName("rgvagjmbamukrhcj")
    public suspend fun mode(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.mode = mapped
    }

    /**
     * @param value The Running Mode of the Broker Deployment.
     */
    @JvmName("thwuqtsirxweddcp")
    public fun mode(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.mode = mapped
    }

    /**
     * @param value The Running Mode of the Broker Deployment.
     */
    @JvmName("qwnbuqirmyuxpigf")
    public fun mode(`value`: RunMode) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.mode = mapped
    }

    /**
     * @param value Name of MQ resource
     */
    @JvmName("ticgyiqlvfxiwvkn")
    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("tlpkhulgsgwybbmp")
    public suspend fun resourceGroupName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceGroupName = mapped
    }

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

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

    internal fun build(): BrokerArgs = BrokerArgs(
        authImage = authImage,
        brokerImage = brokerImage,
        brokerName = brokerName,
        brokerNodeTolerations = brokerNodeTolerations,
        cardinality = cardinality,
        diagnostics = diagnostics,
        diskBackedMessageBufferSettings = diskBackedMessageBufferSettings,
        encryptInternalTraffic = encryptInternalTraffic,
        extendedLocation = extendedLocation,
        healthManagerImage = healthManagerImage,
        healthManagerNodeTolerations = healthManagerNodeTolerations,
        internalCerts = internalCerts,
        location = location,
        memoryProfile = memoryProfile,
        mode = mode,
        mqName = mqName,
        resourceGroupName = resourceGroupName,
        tags = tags,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy