EndpointStorageContainer

Manages an IotHub Storage Container Endpoint

NOTE: Endpoints can be defined either directly on the azure.iot.IoTHub resource, or using the azurerm_iothub_endpoint_* resources - but the two ways of defining the endpoints cannot be used together. If both are used against the same IoTHub, spurious changes will occur. Also, defining a azurerm_iothub_endpoint_* resource and another endpoint of a different type directly on the azure.iot.IoTHub resource is not supported.

Example Usage

using Pulumi;
using Azure = Pulumi.Azure;

class MyStack : Stack
{
    public MyStack()
    {
        var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
        {
            Location = "West US",
        });
        var exampleAccount = new Azure.Storage.Account("exampleAccount", new Azure.Storage.AccountArgs
        {
            ResourceGroupName = exampleResourceGroup.Name,
            Location = exampleResourceGroup.Location,
            AccountTier = "Standard",
            AccountReplicationType = "LRS",
        });
        var exampleContainer = new Azure.Storage.Container("exampleContainer", new Azure.Storage.ContainerArgs
        {
            StorageAccountName = exampleAccount.Name,
            ContainerAccessType = "private",
        });
        var exampleIoTHub = new Azure.Iot.IoTHub("exampleIoTHub", new Azure.Iot.IoTHubArgs
        {
            ResourceGroupName = exampleResourceGroup.Name,
            Location = exampleResourceGroup.Location,
            Sku = new Azure.Iot.Inputs.IoTHubSkuArgs
            {
                Name = "S1",
                Capacity = 1,
            },
        });
        var exampleEndpointStorageContainer = new Azure.Iot.EndpointStorageContainer("exampleEndpointStorageContainer", new Azure.Iot.EndpointStorageContainerArgs
        {
            ResourceGroupName = exampleResourceGroup.Name,
            IothubName = exampleIoTHub.Name,
            ContainerName = "acctestcont",
            ConnectionString = exampleAccount.PrimaryBlobConnectionString,
            FileNameFormat = "{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}",
            BatchFrequencyInSeconds = 60,
            MaxChunkSizeInBytes = 10485760,
            Encoding = "JSON",
        });
    }

}
package main

import (
    "github.com/pulumi/pulumi-azure/sdk/v3/go/azure/core"
    "github.com/pulumi/pulumi-azure/sdk/v3/go/azure/iot"
    "github.com/pulumi/pulumi-azure/sdk/v3/go/azure/storage"
    "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)

func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
        exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
            Location: pulumi.String("West US"),
        })
        if err != nil {
            return err
        }
        exampleAccount, err := storage.NewAccount(ctx, "exampleAccount", &storage.AccountArgs{
            ResourceGroupName:      exampleResourceGroup.Name,
            Location:               exampleResourceGroup.Location,
            AccountTier:            pulumi.String("Standard"),
            AccountReplicationType: pulumi.String("LRS"),
        })
        if err != nil {
            return err
        }
        _, err = storage.NewContainer(ctx, "exampleContainer", &storage.ContainerArgs{
            StorageAccountName:  exampleAccount.Name,
            ContainerAccessType: pulumi.String("private"),
        })
        if err != nil {
            return err
        }
        exampleIoTHub, err := iot.NewIoTHub(ctx, "exampleIoTHub", &iot.IoTHubArgs{
            ResourceGroupName: exampleResourceGroup.Name,
            Location:          exampleResourceGroup.Location,
            Sku: &iot.IoTHubSkuArgs{
                Name:     pulumi.String("S1"),
                Capacity: pulumi.Int(1),
            },
        })
        if err != nil {
            return err
        }
        _, err = iot.NewEndpointStorageContainer(ctx, "exampleEndpointStorageContainer", &iot.EndpointStorageContainerArgs{
            ResourceGroupName:       exampleResourceGroup.Name,
            IothubName:              exampleIoTHub.Name,
            ContainerName:           pulumi.String("acctestcont"),
            ConnectionString:        exampleAccount.PrimaryBlobConnectionString,
            FileNameFormat:          pulumi.String("{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}"),
            BatchFrequencyInSeconds: pulumi.Int(60),
            MaxChunkSizeInBytes:     pulumi.Int(10485760),
            Encoding:                pulumi.String("JSON"),
        })
        if err != nil {
            return err
        }
        return nil
    })
}
import pulumi
import pulumi_azure as azure

example_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="West US")
example_account = azure.storage.Account("exampleAccount",
    resource_group_name=example_resource_group.name,
    location=example_resource_group.location,
    account_tier="Standard",
    account_replication_type="LRS")
example_container = azure.storage.Container("exampleContainer",
    storage_account_name=example_account.name,
    container_access_type="private")
example_io_t_hub = azure.iot.IoTHub("exampleIoTHub",
    resource_group_name=example_resource_group.name,
    location=example_resource_group.location,
    sku={
        "name": "S1",
        "capacity": "1",
    })
example_endpoint_storage_container = azure.iot.EndpointStorageContainer("exampleEndpointStorageContainer",
    resource_group_name=example_resource_group.name,
    iothub_name=example_io_t_hub.name,
    container_name="acctestcont",
    connection_string=example_account.primary_blob_connection_string,
    file_name_format="{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}",
    batch_frequency_in_seconds=60,
    max_chunk_size_in_bytes=10485760,
    encoding="JSON")
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West US"});
const exampleAccount = new azure.storage.Account("exampleAccount", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    accountTier: "Standard",
    accountReplicationType: "LRS",
});
const exampleContainer = new azure.storage.Container("exampleContainer", {
    storageAccountName: exampleAccount.name,
    containerAccessType: "private",
});
const exampleIoTHub = new azure.iot.IoTHub("exampleIoTHub", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    sku: {
        name: "S1",
        capacity: "1",
    },
});
const exampleEndpointStorageContainer = new azure.iot.EndpointStorageContainer("exampleEndpointStorageContainer", {
    resourceGroupName: exampleResourceGroup.name,
    iothubName: exampleIoTHub.name,
    containerName: "acctestcont",
    connectionString: exampleAccount.primaryBlobConnectionString,
    fileNameFormat: "{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}",
    batchFrequencyInSeconds: 60,
    maxChunkSizeInBytes: 10485760,
    encoding: "JSON",
});

Create a EndpointStorageContainer Resource

def EndpointStorageContainer(resource_name, opts=None, batch_frequency_in_seconds=None, connection_string=None, container_name=None, encoding=None, file_name_format=None, iothub_name=None, max_chunk_size_in_bytes=None, name=None, resource_group_name=None, __props__=None);
name string
The unique name of the resource.
args EndpointStorageContainerArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
opts ResourceOptions
A bag of options that control this resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args EndpointStorageContainerArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args EndpointStorageContainerArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

EndpointStorageContainer Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model docs.

Inputs

The EndpointStorageContainer resource accepts the following input properties:

ConnectionString string

The connection string for the endpoint.

ContainerName string

The name of storage container in the storage account. *

IothubName string

The name of the IoTHub to which this Storage Container Endpoint belongs. Changing this forces a new resource to be created.

ResourceGroupName string

The name of the resource group under which the IotHub Storage Container Endpoint resource has to be created. Changing this forces a new resource to be created.

BatchFrequencyInSeconds int

Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.

Encoding string

Encoding that is used to serialize messages to blobs. Supported values are ‘avro’ and ‘avrodeflate’. Default value is ‘avro’.

FileNameFormat string

File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered.

MaxChunkSizeInBytes int

Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).

Name string

The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: events, operationsMonitoringEvents, fileNotifications and $default.

ConnectionString string

The connection string for the endpoint.

ContainerName string

The name of storage container in the storage account. *

IothubName string

The name of the IoTHub to which this Storage Container Endpoint belongs. Changing this forces a new resource to be created.

ResourceGroupName string

The name of the resource group under which the IotHub Storage Container Endpoint resource has to be created. Changing this forces a new resource to be created.

BatchFrequencyInSeconds int

Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.

Encoding string

Encoding that is used to serialize messages to blobs. Supported values are ‘avro’ and ‘avrodeflate’. Default value is ‘avro’.

FileNameFormat string

File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered.

MaxChunkSizeInBytes int

Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).

Name string

The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: events, operationsMonitoringEvents, fileNotifications and $default.

connectionString string

The connection string for the endpoint.

containerName string

The name of storage container in the storage account. *

iothubName string

The name of the IoTHub to which this Storage Container Endpoint belongs. Changing this forces a new resource to be created.

resourceGroupName string

The name of the resource group under which the IotHub Storage Container Endpoint resource has to be created. Changing this forces a new resource to be created.

batchFrequencyInSeconds number

Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.

encoding string

Encoding that is used to serialize messages to blobs. Supported values are ‘avro’ and ‘avrodeflate’. Default value is ‘avro’.

fileNameFormat string

File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered.

maxChunkSizeInBytes number

Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).

name string

The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: events, operationsMonitoringEvents, fileNotifications and $default.

connection_string str

The connection string for the endpoint.

container_name str

The name of storage container in the storage account. *

iothub_name str

The name of the IoTHub to which this Storage Container Endpoint belongs. Changing this forces a new resource to be created.

resource_group_name str

The name of the resource group under which the IotHub Storage Container Endpoint resource has to be created. Changing this forces a new resource to be created.

batch_frequency_in_seconds float

Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.

encoding str

Encoding that is used to serialize messages to blobs. Supported values are ‘avro’ and ‘avrodeflate’. Default value is ‘avro’.

file_name_format str

File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered.

max_chunk_size_in_bytes float

Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).

name str

The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: events, operationsMonitoringEvents, fileNotifications and $default.

Outputs

All input properties are implicitly available as output properties. Additionally, the EndpointStorageContainer resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
Id string
The provider-assigned unique ID for this managed resource.
id string
The provider-assigned unique ID for this managed resource.
id str
The provider-assigned unique ID for this managed resource.

Look up an Existing EndpointStorageContainer Resource

Get an existing EndpointStorageContainer resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

static get(resource_name, id, opts=None, batch_frequency_in_seconds=None, connection_string=None, container_name=None, encoding=None, file_name_format=None, iothub_name=None, max_chunk_size_in_bytes=None, name=None, resource_group_name=None, __props__=None);
func GetEndpointStorageContainer(ctx *Context, name string, id IDInput, state *EndpointStorageContainerState, opts ...ResourceOption) (*EndpointStorageContainer, error)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

BatchFrequencyInSeconds int

Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.

ConnectionString string

The connection string for the endpoint.

ContainerName string

The name of storage container in the storage account. *

Encoding string

Encoding that is used to serialize messages to blobs. Supported values are ‘avro’ and ‘avrodeflate’. Default value is ‘avro’.

FileNameFormat string

File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered.

IothubName string

The name of the IoTHub to which this Storage Container Endpoint belongs. Changing this forces a new resource to be created.

MaxChunkSizeInBytes int

Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).

Name string

The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: events, operationsMonitoringEvents, fileNotifications and $default.

ResourceGroupName string

The name of the resource group under which the IotHub Storage Container Endpoint resource has to be created. Changing this forces a new resource to be created.

BatchFrequencyInSeconds int

Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.

ConnectionString string

The connection string for the endpoint.

ContainerName string

The name of storage container in the storage account. *

Encoding string

Encoding that is used to serialize messages to blobs. Supported values are ‘avro’ and ‘avrodeflate’. Default value is ‘avro’.

FileNameFormat string

File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered.

IothubName string

The name of the IoTHub to which this Storage Container Endpoint belongs. Changing this forces a new resource to be created.

MaxChunkSizeInBytes int

Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).

Name string

The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: events, operationsMonitoringEvents, fileNotifications and $default.

ResourceGroupName string

The name of the resource group under which the IotHub Storage Container Endpoint resource has to be created. Changing this forces a new resource to be created.

batchFrequencyInSeconds number

Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.

connectionString string

The connection string for the endpoint.

containerName string

The name of storage container in the storage account. *

encoding string

Encoding that is used to serialize messages to blobs. Supported values are ‘avro’ and ‘avrodeflate’. Default value is ‘avro’.

fileNameFormat string

File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered.

iothubName string

The name of the IoTHub to which this Storage Container Endpoint belongs. Changing this forces a new resource to be created.

maxChunkSizeInBytes number

Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).

name string

The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: events, operationsMonitoringEvents, fileNotifications and $default.

resourceGroupName string

The name of the resource group under which the IotHub Storage Container Endpoint resource has to be created. Changing this forces a new resource to be created.

batch_frequency_in_seconds float

Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.

connection_string str

The connection string for the endpoint.

container_name str

The name of storage container in the storage account. *

encoding str

Encoding that is used to serialize messages to blobs. Supported values are ‘avro’ and ‘avrodeflate’. Default value is ‘avro’.

file_name_format str

File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered.

iothub_name str

The name of the IoTHub to which this Storage Container Endpoint belongs. Changing this forces a new resource to be created.

max_chunk_size_in_bytes float

Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).

name str

The name of the endpoint. The name must be unique across endpoint types. The following names are reserved: events, operationsMonitoringEvents, fileNotifications and $default.

resource_group_name str

The name of the resource group under which the IotHub Storage Container Endpoint resource has to be created. Changing this forces a new resource to be created.

Package Details

Repository
https://github.com/pulumi/pulumi-azure
License
Apache-2.0
Notes
This Pulumi package is based on the azurerm Terraform Provider.