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

com.pulumi.azure.iot.kotlin.outputs.IoTHubEndpoint.kt Maven / Gradle / Ivy

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

package com.pulumi.azure.iot.kotlin.outputs

import kotlin.Int
import kotlin.String
import kotlin.Suppress

/**
 *
 * @property authenticationType The type used to authenticate against the endpoint. Possible values are `keyBased` and `identityBased`. Defaults to `keyBased`.
 * @property batchFrequencyInSeconds Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds. This attribute is applicable for endpoint type `AzureIotHub.StorageContainer`.
 * @property connectionString The connection string for the endpoint. This attribute is mandatory and can only be specified when `authentication_type` is `keyBased`.
 * @property containerName The name of storage container in the storage account. This attribute is mandatory for endpoint type `AzureIotHub.StorageContainer`.
 * @property encoding Encoding that is used to serialize messages to blobs. Supported values are `Avro`, `AvroDeflate` and `JSON`. Default value is `Avro`. This attribute is applicable for endpoint type `AzureIotHub.StorageContainer`. Changing this forces a new resource to be created.
 * @property endpointUri URI of the Service Bus or Event Hubs Namespace endpoint. This attribute can only be specified and is mandatory when `authentication_type` is `identityBased` for endpoint type `AzureIotHub.ServiceBusQueue`, `AzureIotHub.ServiceBusTopic` or `AzureIotHub.EventHub`.
 * @property entityPath Name of the Service Bus Queue/Topic or Event Hub. This attribute can only be specified and is mandatory when `authentication_type` is `identityBased` for endpoint type `AzureIotHub.ServiceBusQueue`, `AzureIotHub.ServiceBusTopic` or `AzureIotHub.EventHub`.
 * @property fileNameFormat File name format for the blob. All parameters are mandatory but can be reordered. This attribute is applicable for endpoint type `AzureIotHub.StorageContainer`. Defaults to `{iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}`.
 * @property identityId The ID of the User Managed Identity used to authenticate against the endpoint.
 * > **NOTE:** `identity_id` can only be specified when `authentication_type` is `identityBased`. It must be one of the `identity_ids` of the IoT Hub. If `identity_id` is omitted when `authentication_type` is `identityBased`, then the System-Assigned Managed Identity of the IoT Hub will be used.
 * > **NOTE:** An IoT Hub can only be updated to use the System-Assigned Managed Identity for `endpoint` since it is not possible to grant access to the endpoint until after creation. The extracted resources `azurerm_iothub_endpoint_*` can be used to configure Endpoints with the IoT Hub's System-Assigned Managed Identity without the need for an update.
 * @property maxChunkSizeInBytes Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB). This attribute is applicable for endpoint type `AzureIotHub.StorageContainer`.
 * @property name The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: `events`, `operationsMonitoringEvents`, `fileNotifications` and `$default`.
 * @property resourceGroupName The resource group in which the endpoint will be created.
 * @property type The type of the endpoint. Possible values are `AzureIotHub.StorageContainer`, `AzureIotHub.ServiceBusQueue`, `AzureIotHub.ServiceBusTopic` or `AzureIotHub.EventHub`.
 */
public data class IoTHubEndpoint(
    public val authenticationType: String? = null,
    public val batchFrequencyInSeconds: Int? = null,
    public val connectionString: String? = null,
    public val containerName: String? = null,
    public val encoding: String? = null,
    public val endpointUri: String? = null,
    public val entityPath: String? = null,
    public val fileNameFormat: String? = null,
    public val identityId: String? = null,
    public val maxChunkSizeInBytes: Int? = null,
    public val name: String,
    public val resourceGroupName: String? = null,
    public val type: String,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.azure.iot.outputs.IoTHubEndpoint): IoTHubEndpoint =
            IoTHubEndpoint(
                authenticationType = javaType.authenticationType().map({ args0 -> args0 }).orElse(null),
                batchFrequencyInSeconds = javaType.batchFrequencyInSeconds().map({ args0 -> args0 }).orElse(null),
                connectionString = javaType.connectionString().map({ args0 -> args0 }).orElse(null),
                containerName = javaType.containerName().map({ args0 -> args0 }).orElse(null),
                encoding = javaType.encoding().map({ args0 -> args0 }).orElse(null),
                endpointUri = javaType.endpointUri().map({ args0 -> args0 }).orElse(null),
                entityPath = javaType.entityPath().map({ args0 -> args0 }).orElse(null),
                fileNameFormat = javaType.fileNameFormat().map({ args0 -> args0 }).orElse(null),
                identityId = javaType.identityId().map({ args0 -> args0 }).orElse(null),
                maxChunkSizeInBytes = javaType.maxChunkSizeInBytes().map({ args0 -> args0 }).orElse(null),
                name = javaType.name(),
                resourceGroupName = javaType.resourceGroupName().map({ args0 -> args0 }).orElse(null),
                type = javaType.type(),
            )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy