
com.pulumi.azure.streamanalytics.kotlin.StreamInputIotHub.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.streamanalytics.kotlin
import com.pulumi.azure.streamanalytics.kotlin.outputs.StreamInputIotHubSerialization
import com.pulumi.azure.streamanalytics.kotlin.outputs.StreamInputIotHubSerialization.Companion.toKotlin
import com.pulumi.core.Output
import com.pulumi.kotlin.KotlinCustomResource
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.ResourceMapper
import com.pulumi.kotlin.options.CustomResourceOptions
import com.pulumi.kotlin.options.CustomResourceOptionsBuilder
import com.pulumi.resources.Resource
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
/**
* Builder for [StreamInputIotHub].
*/
@PulumiTagMarker
public class StreamInputIotHubResourceBuilder internal constructor() {
public var name: String? = null
public var args: StreamInputIotHubArgs = StreamInputIotHubArgs()
public var opts: CustomResourceOptions = CustomResourceOptions()
/**
* @param name The _unique_ name of the resulting resource.
*/
public fun name(`value`: String) {
this.name = value
}
/**
* @param block The arguments to use to populate this resource's properties.
*/
public suspend fun args(block: suspend StreamInputIotHubArgsBuilder.() -> Unit) {
val builder = StreamInputIotHubArgsBuilder()
block(builder)
this.args = builder.build()
}
/**
* @param block A bag of options that control this resource's behavior.
*/
public suspend fun opts(block: suspend CustomResourceOptionsBuilder.() -> Unit) {
this.opts = com.pulumi.kotlin.options.CustomResourceOptions.opts(block)
}
internal fun build(): StreamInputIotHub {
val builtJavaResource =
com.pulumi.azure.streamanalytics.StreamInputIotHub(
this.name,
this.args.toJava(),
this.opts.toJava(),
)
return StreamInputIotHub(builtJavaResource)
}
}
/**
* Manages a Stream Analytics Stream Input IoTHub.
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as azure from "@pulumi/azure";
* const exampleResourceGroup = new azure.core.ResourceGroup("example", {
* name: "example-resources",
* location: "West Europe",
* });
* const example = azure.streamanalytics.getJobOutput({
* name: "example-job",
* resourceGroupName: exampleResourceGroup.name,
* });
* const exampleIoTHub = new azure.iot.IoTHub("example", {
* name: "example-iothub",
* resourceGroupName: exampleResourceGroup.name,
* location: exampleResourceGroup.location,
* sku: {
* name: "S1",
* capacity: 1,
* },
* });
* const exampleStreamInputIotHub = new azure.streamanalytics.StreamInputIotHub("example", {
* name: "example-iothub-input",
* streamAnalyticsJobName: example.apply(example => example.name),
* resourceGroupName: example.apply(example => example.resourceGroupName),
* endpoint: "messages/events",
* eventhubConsumerGroupName: "$Default",
* iothubNamespace: exampleIoTHub.name,
* sharedAccessPolicyKey: exampleIoTHub.sharedAccessPolicies.apply(sharedAccessPolicies => sharedAccessPolicies[0].primaryKey),
* sharedAccessPolicyName: "iothubowner",
* serialization: {
* type: "Json",
* encoding: "UTF8",
* },
* });
* ```
* ```python
* import pulumi
* import pulumi_azure as azure
* example_resource_group = azure.core.ResourceGroup("example",
* name="example-resources",
* location="West Europe")
* example = azure.streamanalytics.get_job_output(name="example-job",
* resource_group_name=example_resource_group.name)
* example_io_t_hub = azure.iot.IoTHub("example",
* name="example-iothub",
* resource_group_name=example_resource_group.name,
* location=example_resource_group.location,
* sku=azure.iot.IoTHubSkuArgs(
* name="S1",
* capacity=1,
* ))
* example_stream_input_iot_hub = azure.streamanalytics.StreamInputIotHub("example",
* name="example-iothub-input",
* stream_analytics_job_name=example.name,
* resource_group_name=example.resource_group_name,
* endpoint="messages/events",
* eventhub_consumer_group_name="$Default",
* iothub_namespace=example_io_t_hub.name,
* shared_access_policy_key=example_io_t_hub.shared_access_policies[0].primary_key,
* shared_access_policy_name="iothubowner",
* serialization=azure.streamanalytics.StreamInputIotHubSerializationArgs(
* type="Json",
* encoding="UTF8",
* ))
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Azure = Pulumi.Azure;
* return await Deployment.RunAsync(() =>
* {
* var exampleResourceGroup = new Azure.Core.ResourceGroup("example", new()
* {
* Name = "example-resources",
* Location = "West Europe",
* });
* var example = Azure.StreamAnalytics.GetJob.Invoke(new()
* {
* Name = "example-job",
* ResourceGroupName = exampleResourceGroup.Name,
* });
* var exampleIoTHub = new Azure.Iot.IoTHub("example", new()
* {
* Name = "example-iothub",
* ResourceGroupName = exampleResourceGroup.Name,
* Location = exampleResourceGroup.Location,
* Sku = new Azure.Iot.Inputs.IoTHubSkuArgs
* {
* Name = "S1",
* Capacity = 1,
* },
* });
* var exampleStreamInputIotHub = new Azure.StreamAnalytics.StreamInputIotHub("example", new()
* {
* Name = "example-iothub-input",
* StreamAnalyticsJobName = example.Apply(getJobResult => getJobResult.Name),
* ResourceGroupName = example.Apply(getJobResult => getJobResult.ResourceGroupName),
* Endpoint = "messages/events",
* EventhubConsumerGroupName = "$Default",
* IothubNamespace = exampleIoTHub.Name,
* SharedAccessPolicyKey = exampleIoTHub.SharedAccessPolicies.Apply(sharedAccessPolicies => sharedAccessPolicies[0].PrimaryKey),
* SharedAccessPolicyName = "iothubowner",
* Serialization = new Azure.StreamAnalytics.Inputs.StreamInputIotHubSerializationArgs
* {
* Type = "Json",
* Encoding = "UTF8",
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/iot"
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/streamanalytics"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* exampleResourceGroup, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
* Name: pulumi.String("example-resources"),
* Location: pulumi.String("West Europe"),
* })
* if err != nil {
* return err
* }
* example := streamanalytics.LookupJobOutput(ctx, streamanalytics.GetJobOutputArgs{
* Name: pulumi.String("example-job"),
* ResourceGroupName: exampleResourceGroup.Name,
* }, nil)
* exampleIoTHub, err := iot.NewIoTHub(ctx, "example", &iot.IoTHubArgs{
* Name: pulumi.String("example-iothub"),
* ResourceGroupName: exampleResourceGroup.Name,
* Location: exampleResourceGroup.Location,
* Sku: &iot.IoTHubSkuArgs{
* Name: pulumi.String("S1"),
* Capacity: pulumi.Int(1),
* },
* })
* if err != nil {
* return err
* }
* _, err = streamanalytics.NewStreamInputIotHub(ctx, "example", &streamanalytics.StreamInputIotHubArgs{
* Name: pulumi.String("example-iothub-input"),
* StreamAnalyticsJobName: example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {
* return &example.Name, nil
* }).(pulumi.StringPtrOutput),
* ResourceGroupName: example.ApplyT(func(example streamanalytics.GetJobResult) (*string, error) {
* return &example.ResourceGroupName, nil
* }).(pulumi.StringPtrOutput),
* Endpoint: pulumi.String("messages/events"),
* EventhubConsumerGroupName: pulumi.String("$Default"),
* IothubNamespace: exampleIoTHub.Name,
* SharedAccessPolicyKey: exampleIoTHub.SharedAccessPolicies.ApplyT(func(sharedAccessPolicies []iot.IoTHubSharedAccessPolicy) (*string, error) {
* return &sharedAccessPolicies[0].PrimaryKey, nil
* }).(pulumi.StringPtrOutput),
* SharedAccessPolicyName: pulumi.String("iothubowner"),
* Serialization: &streamanalytics.StreamInputIotHubSerializationArgs{
* Type: pulumi.String("Json"),
* Encoding: pulumi.String("UTF8"),
* },
* })
* 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.azure.core.ResourceGroup;
* import com.pulumi.azure.core.ResourceGroupArgs;
* import com.pulumi.azure.streamanalytics.StreamanalyticsFunctions;
* import com.pulumi.azure.streamanalytics.inputs.GetJobArgs;
* import com.pulumi.azure.iot.IoTHub;
* import com.pulumi.azure.iot.IoTHubArgs;
* import com.pulumi.azure.iot.inputs.IoTHubSkuArgs;
* import com.pulumi.azure.streamanalytics.StreamInputIotHub;
* import com.pulumi.azure.streamanalytics.StreamInputIotHubArgs;
* import com.pulumi.azure.streamanalytics.inputs.StreamInputIotHubSerializationArgs;
* 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 exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
* .name("example-resources")
* .location("West Europe")
* .build());
* final var example = StreamanalyticsFunctions.getJob(GetJobArgs.builder()
* .name("example-job")
* .resourceGroupName(exampleResourceGroup.name())
* .build());
* var exampleIoTHub = new IoTHub("exampleIoTHub", IoTHubArgs.builder()
* .name("example-iothub")
* .resourceGroupName(exampleResourceGroup.name())
* .location(exampleResourceGroup.location())
* .sku(IoTHubSkuArgs.builder()
* .name("S1")
* .capacity("1")
* .build())
* .build());
* var exampleStreamInputIotHub = new StreamInputIotHub("exampleStreamInputIotHub", StreamInputIotHubArgs.builder()
* .name("example-iothub-input")
* .streamAnalyticsJobName(example.applyValue(getJobResult -> getJobResult).applyValue(example -> example.applyValue(getJobResult -> getJobResult.name())))
* .resourceGroupName(example.applyValue(getJobResult -> getJobResult).applyValue(example -> example.applyValue(getJobResult -> getJobResult.resourceGroupName())))
* .endpoint("messages/events")
* .eventhubConsumerGroupName("$Default")
* .iothubNamespace(exampleIoTHub.name())
* .sharedAccessPolicyKey(exampleIoTHub.sharedAccessPolicies().applyValue(sharedAccessPolicies -> sharedAccessPolicies[0].primaryKey()))
* .sharedAccessPolicyName("iothubowner")
* .serialization(StreamInputIotHubSerializationArgs.builder()
* .type("Json")
* .encoding("UTF8")
* .build())
* .build());
* }
* }
* ```
* ```yaml
* resources:
* exampleResourceGroup:
* type: azure:core:ResourceGroup
* name: example
* properties:
* name: example-resources
* location: West Europe
* exampleIoTHub:
* type: azure:iot:IoTHub
* name: example
* properties:
* name: example-iothub
* resourceGroupName: ${exampleResourceGroup.name}
* location: ${exampleResourceGroup.location}
* sku:
* name: S1
* capacity: '1'
* exampleStreamInputIotHub:
* type: azure:streamanalytics:StreamInputIotHub
* name: example
* properties:
* name: example-iothub-input
* streamAnalyticsJobName: ${example.name}
* resourceGroupName: ${example.resourceGroupName}
* endpoint: messages/events
* eventhubConsumerGroupName: $Default
* iothubNamespace: ${exampleIoTHub.name}
* sharedAccessPolicyKey: ${exampleIoTHub.sharedAccessPolicies[0].primaryKey}
* sharedAccessPolicyName: iothubowner
* serialization:
* type: Json
* encoding: UTF8
* variables:
* example:
* fn::invoke:
* Function: azure:streamanalytics:getJob
* Arguments:
* name: example-job
* resourceGroupName: ${exampleResourceGroup.name}
* ```
*
* ## Import
* Stream Analytics Stream Input IoTHub's can be imported using the `resource id`, e.g.
* ```sh
* $ pulumi import azure:streamanalytics/streamInputIotHub:StreamInputIotHub example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.StreamAnalytics/streamingJobs/job1/inputs/input1
* ```
*/
public class StreamInputIotHub internal constructor(
override val javaResource: com.pulumi.azure.streamanalytics.StreamInputIotHub,
) : KotlinCustomResource(javaResource, StreamInputIotHubMapper) {
/**
* The IoT Hub endpoint to connect to (ie. messages/events, messages/operationsMonitoringEvents, etc.).
*/
public val endpoint: Output
get() = javaResource.endpoint().applyValue({ args0 -> args0 })
/**
* The name of an Event Hub Consumer Group that should be used to read events from the Event Hub. Specifying distinct consumer group names for multiple inputs allows each of those inputs to receive the same events from the Event Hub.
*/
public val eventhubConsumerGroupName: Output
get() = javaResource.eventhubConsumerGroupName().applyValue({ args0 -> args0 })
/**
* The name or the URI of the IoT Hub.
*/
public val iothubNamespace: Output
get() = javaResource.iothubNamespace().applyValue({ args0 -> args0 })
/**
* The name of the Stream Input IoTHub. Changing this forces a new resource to be created.
*/
public val name: Output
get() = javaResource.name().applyValue({ args0 -> args0 })
/**
* The name of the Resource Group where the Stream Analytics Job exists. Changing this forces a new resource to be created.
*/
public val resourceGroupName: Output
get() = javaResource.resourceGroupName().applyValue({ args0 -> args0 })
/**
* A `serialization` block as defined below.
*/
public val serialization: Output
get() = javaResource.serialization().applyValue({ args0 ->
args0.let({ args0 ->
toKotlin(args0)
})
})
/**
* The shared access policy key for the specified shared access policy. Changing this forces a new resource to be created.
*/
public val sharedAccessPolicyKey: Output
get() = javaResource.sharedAccessPolicyKey().applyValue({ args0 -> args0 })
/**
* The shared access policy name for the Event Hub, Service Bus Queue, Service Bus Topic, etc.
*/
public val sharedAccessPolicyName: Output
get() = javaResource.sharedAccessPolicyName().applyValue({ args0 -> args0 })
/**
* The name of the Stream Analytics Job. Changing this forces a new resource to be created.
*/
public val streamAnalyticsJobName: Output
get() = javaResource.streamAnalyticsJobName().applyValue({ args0 -> args0 })
}
public object StreamInputIotHubMapper : ResourceMapper {
override fun supportsMappingOfType(javaResource: Resource): Boolean =
com.pulumi.azure.streamanalytics.StreamInputIotHub::class == javaResource::class
override fun map(javaResource: Resource): StreamInputIotHub = StreamInputIotHub(
javaResource as
com.pulumi.azure.streamanalytics.StreamInputIotHub,
)
}
/**
* @see [StreamInputIotHub].
* @param name The _unique_ name of the resulting resource.
* @param block Builder for [StreamInputIotHub].
*/
public suspend fun streamInputIotHub(
name: String,
block: suspend StreamInputIotHubResourceBuilder.() -> Unit,
): StreamInputIotHub {
val builder = StreamInputIotHubResourceBuilder()
builder.name(name)
block(builder)
return builder.build()
}
/**
* @see [StreamInputIotHub].
* @param name The _unique_ name of the resulting resource.
*/
public fun streamInputIotHub(name: String): StreamInputIotHub {
val builder = StreamInputIotHubResourceBuilder()
builder.name(name)
return builder.build()
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy