EndpointStorageContainer
Manages an IotHub Storage Container Endpoint
NOTE: Endpoints can be defined either directly on the
azure.iot.IoTHubresource, or using theazurerm_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 aazurerm_iothub_endpoint_*resource and another endpoint of a different type directly on theazure.iot.IoTHubresource 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
new EndpointStorageContainer(name: string, args: EndpointStorageContainerArgs, opts?: CustomResourceOptions);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);func NewEndpointStorageContainer(ctx *Context, name string, args EndpointStorageContainerArgs, opts ...ResourceOption) (*EndpointStorageContainer, error)public EndpointStorageContainer(string name, EndpointStorageContainerArgs args, CustomResourceOptions? opts = null)- 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:
- Connection
String string The connection string for the endpoint.
- Container
Name string The name of storage container in the storage account. *
- Iothub
Name string The name of the IoTHub to which this Storage Container Endpoint belongs. Changing this forces a new resource to be created.
- Resource
Group stringName 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 intIn Seconds 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’.
- File
Name stringFormat 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 intSize In Bytes 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,fileNotificationsand$default.
- Connection
String string The connection string for the endpoint.
- Container
Name string The name of storage container in the storage account. *
- Iothub
Name string The name of the IoTHub to which this Storage Container Endpoint belongs. Changing this forces a new resource to be created.
- Resource
Group stringName 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 intIn Seconds 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’.
- File
Name stringFormat 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 intSize In Bytes 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,fileNotificationsand$default.
- connection
String string The connection string for the endpoint.
- container
Name string The name of storage container in the storage account. *
- iothub
Name string The name of the IoTHub to which this Storage Container Endpoint belongs. Changing this forces a new resource to be created.
- resource
Group stringName 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 numberIn Seconds 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’.
- file
Name stringFormat 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 numberSize In Bytes 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,fileNotificationsand$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_ strname 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_ floatin_ seconds 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_ strformat 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_ floatsize_ in_ bytes 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,fileNotificationsand$default.
Outputs
All input properties are implicitly available as output properties. Additionally, the EndpointStorageContainer resource produces the following output properties:
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.
public static get(name: string, id: Input<ID>, state?: EndpointStorageContainerState, opts?: CustomResourceOptions): EndpointStorageContainerstatic 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)public static EndpointStorageContainer Get(string name, Input<string> id, EndpointStorageContainerState? state, CustomResourceOptions? opts = null)- 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:
- Batch
Frequency intIn Seconds Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.
- Connection
String string The connection string for the endpoint.
- Container
Name 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’.
- File
Name stringFormat 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 string The name of the IoTHub to which this Storage Container Endpoint belongs. Changing this forces a new resource to be created.
- Max
Chunk intSize In Bytes 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,fileNotificationsand$default.- Resource
Group stringName 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 intIn Seconds Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.
- Connection
String string The connection string for the endpoint.
- Container
Name 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’.
- File
Name stringFormat 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 string The name of the IoTHub to which this Storage Container Endpoint belongs. Changing this forces a new resource to be created.
- Max
Chunk intSize In Bytes 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,fileNotificationsand$default.- Resource
Group stringName 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 numberIn Seconds Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.
- connection
String string The connection string for the endpoint.
- container
Name 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’.
- file
Name stringFormat 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 string The name of the IoTHub to which this Storage Container Endpoint belongs. Changing this forces a new resource to be created.
- max
Chunk numberSize In Bytes 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,fileNotificationsand$default.- resource
Group stringName 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_ floatin_ seconds 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_ strformat 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_ floatsize_ in_ bytes 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,fileNotificationsand$default.- resource_
group_ strname 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
azurermTerraform Provider.