pspulumiyaml.azurenative.devices.psm1
using module pspulumiyaml function Invoke-AzureNativeFunctionDevicesGetCertificate { param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the IoT hub.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the IoT hub.)')] [string] $resourceName, [parameter(mandatory=$False,HelpMessage='The name of the certificate)')] [string] $certificateName ) process { $arguments = @{} $arguments["certificateName"] = $certificateName $arguments["resourceGroupName"] = $resourceGroupName $arguments["resourceName"] = $resourceName $functionObject = Invoke-PulumiFunction -Name azure-native:devices:getCertificate -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevicesListIotDpsResourceKeysForKeyName { param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the provisioning service.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Logical key name to get key-values for.)')] [string] $keyName, [parameter(mandatory=$False,HelpMessage='Name of the provisioning service.)')] [string] $provisioningServiceName ) process { $arguments = @{} $arguments["keyName"] = $keyName $arguments["provisioningServiceName"] = $provisioningServiceName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:devices:listIotDpsResourceKeysForKeyName -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevicesListIotHubResourceKeysForKeyName { param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the IoT hub.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the shared access policy.)')] [string] $keyName, [parameter(mandatory=$False,HelpMessage='The name of the IoT hub.)')] [string] $resourceName ) process { $arguments = @{} $arguments["keyName"] = $keyName $arguments["resourceGroupName"] = $resourceGroupName $arguments["resourceName"] = $resourceName $functionObject = Invoke-PulumiFunction -Name azure-native:devices:listIotHubResourceKeysForKeyName -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevicesGetPrivateEndpointConnection { param ( [parameter(mandatory=$False,HelpMessage='The name of the private endpoint connection)')] [string] $privateEndpointConnectionName, [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the IoT hub.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the IoT hub.)')] [string] $resourceName ) process { $arguments = @{} $arguments["privateEndpointConnectionName"] = $privateEndpointConnectionName $arguments["resourceGroupName"] = $resourceGroupName $arguments["resourceName"] = $resourceName $functionObject = Invoke-PulumiFunction -Name azure-native:devices:getPrivateEndpointConnection -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevicesListIotDpsResourceKeys { param ( [parameter(mandatory=$False,HelpMessage='resource group name)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The provisioning service name to get the shared access keys for.)')] [string] $provisioningServiceName ) process { $arguments = @{} $arguments["provisioningServiceName"] = $provisioningServiceName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:devices:listIotDpsResourceKeys -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevicesGetIotHubResource { param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the IoT hub.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the IoT hub.)')] [string] $resourceName ) process { $arguments = @{} $arguments["resourceGroupName"] = $resourceGroupName $arguments["resourceName"] = $resourceName $functionObject = Invoke-PulumiFunction -Name azure-native:devices:getIotHubResource -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevicesGetDpsCertificate { param ( [parameter(mandatory=$False,HelpMessage='Resource group identifier.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the provisioning service the certificate is associated with.)')] [string] $provisioningServiceName, [parameter(mandatory=$False,HelpMessage='Name of the certificate to retrieve.)')] [string] $certificateName ) process { $arguments = @{} $arguments["certificateName"] = $certificateName $arguments["provisioningServiceName"] = $provisioningServiceName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:devices:getDpsCertificate -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevicesGetIotDpsResourcePrivateEndpointConnection { param ( [parameter(mandatory=$False,HelpMessage='The name of the private endpoint connection)')] [string] $privateEndpointConnectionName, [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the provisioning service.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the provisioning service.)')] [string] $resourceName ) process { $arguments = @{} $arguments["privateEndpointConnectionName"] = $privateEndpointConnectionName $arguments["resourceGroupName"] = $resourceGroupName $arguments["resourceName"] = $resourceName $functionObject = Invoke-PulumiFunction -Name azure-native:devices:getIotDpsResourcePrivateEndpointConnection -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevicesListIotHubResourceKeys { param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the IoT hub.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the IoT hub.)')] [string] $resourceName ) process { $arguments = @{} $arguments["resourceGroupName"] = $resourceGroupName $arguments["resourceName"] = $resourceName $functionObject = Invoke-PulumiFunction -Name azure-native:devices:listIotHubResourceKeys -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevicesGetIotDpsResource { param ( [parameter(mandatory=$False,HelpMessage='Resource group name.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the provisioning service to retrieve.)')] [string] $provisioningServiceName ) process { $arguments = @{} $arguments["provisioningServiceName"] = $provisioningServiceName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:devices:getIotDpsResource -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDevicesGetIotHubResourceEventHubConsumerGroup { param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the IoT hub.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the consumer group to retrieve.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of the Event Hub-compatible endpoint in the IoT hub.)')] [string] $eventHubEndpointName, [parameter(mandatory=$False,HelpMessage='The name of the IoT hub.)')] [string] $resourceName ) process { $arguments = @{} $arguments["eventHubEndpointName"] = $eventHubEndpointName $arguments["name"] = $name $arguments["resourceGroupName"] = $resourceGroupName $arguments["resourceName"] = $resourceName $functionObject = Invoke-PulumiFunction -Name azure-native:devices:getIotHubResourceEventHubConsumerGroup -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } class EventHubConsumerGroupName { [string] $name } function New-AzureNativeTypeDevicesEventHubConsumerGroupName { param ( [parameter(mandatory=$False,HelpMessage='EventHub consumer group name)')] [string] $name ) process { return $([EventHubConsumerGroupName]$PSBoundParameters) } } function New-AzureNativeDevicesIotHubResourceEventHubConsumerGroup { [Alias('azure_native_devices_iothubresourceeventhubconsumergroup')] param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the IoT hub.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the consumer group to add.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of the Event Hub-compatible endpoint in the IoT hub.)')] [string] $eventHubEndpointName, [parameter(mandatory=$False,HelpMessage='The name of the IoT hub.)')] [string] $resourceName, [parameter(mandatory=$False,HelpMessage='The EventHub consumer group name.)')] [EventHubConsumerGroupName] $properties, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devices:IotHubResourceEventHubConsumerGroup") $resource.properties["eventHubEndpointName"] = $eventHubEndpointName $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["resourceName"] = $resourceName if($PSBoundParameters.Keys -icontains 'name') { $resource.properties["name"] = $name } if($PSBoundParameters.Keys -icontains 'properties') { $resource.properties["properties"] = $properties } $global:pulumiresources += $resource return $resource } } class PrivateLinkServiceConnectionState { [string] $description [string] $actionsRequired [ValidateSet('Pending', 'Approved', 'Rejected', 'Disconnected')] [string] $status } function New-AzureNativeTypeDevicesPrivateLinkServiceConnectionState { param ( [parameter(mandatory=$False,HelpMessage='The description for the current state of a private endpoint connection)')] [string] $description, [parameter(mandatory=$False,HelpMessage='Actions required for a private endpoint connection)')] [string] $actionsRequired, [parameter(mandatory=$False,HelpMessage='The status of a private endpoint connection)')] [string] [ValidateSet('Pending', 'Approved', 'Rejected', 'Disconnected')] $status ) process { return $([PrivateLinkServiceConnectionState]$PSBoundParameters) } } class PrivateEndpointConnectionProperties { [PrivateLinkServiceConnectionState] $privateLinkServiceConnectionState } function New-AzureNativeTypeDevicesPrivateEndpointConnectionProperties { param ( [parameter(mandatory=$False,HelpMessage='The current state of a private endpoint connection)')] [PrivateLinkServiceConnectionState] $privateLinkServiceConnectionState ) process { return $([PrivateEndpointConnectionProperties]$PSBoundParameters) } } function New-AzureNativeDevicesIotDpsResourcePrivateEndpointConnection { [Alias('azure_native_devices_iotdpsresourceprivateendpointconnection')] param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the provisioning service.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the private endpoint connection)')] [string] $privateEndpointConnectionName, [parameter(mandatory=$False,HelpMessage='The properties of a private endpoint connection)')] [PrivateEndpointConnectionProperties] $properties, [parameter(mandatory=$False,HelpMessage='The name of the provisioning service.)')] [string] $resourceName, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devices:IotDpsResourcePrivateEndpointConnection") $resource.properties["properties"] = $properties $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["resourceName"] = $resourceName if($PSBoundParameters.Keys -icontains 'privateEndpointConnectionName') { $resource.properties["privateEndpointConnectionName"] = $privateEndpointConnectionName } $global:pulumiresources += $resource return $resource } } function New-AzureNativeDevicesPrivateEndpointConnection { [Alias('azure_native_devices_privateendpointconnection')] param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the IoT hub.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the private endpoint connection)')] [string] $privateEndpointConnectionName, [parameter(mandatory=$False,HelpMessage='The properties of a private endpoint connection)')] [PrivateEndpointConnectionProperties] $properties, [parameter(mandatory=$False,HelpMessage='The name of the IoT hub.)')] [string] $resourceName, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devices:PrivateEndpointConnection") $resource.properties["properties"] = $properties $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["resourceName"] = $resourceName if($PSBoundParameters.Keys -icontains 'privateEndpointConnectionName') { $resource.properties["privateEndpointConnectionName"] = $privateEndpointConnectionName } $global:pulumiresources += $resource return $resource } } function New-AzureNativeDevicesDpsCertificate { [Alias('azure_native_devices_dpscertificate')] param ( [parameter(mandatory=$False,HelpMessage='The name of the certificate create or update.)')] [string] $certificateName, [parameter(mandatory=$False,HelpMessage='Resource group identifier.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='True indicates that the certificate will be created in verified state and proof of possession will not be required.)')] [bool] $isVerified, [parameter(mandatory=$False,HelpMessage='The name of the provisioning service.)')] [string] $provisioningServiceName, [parameter(mandatory=$False,HelpMessage='Base-64 representation of the X509 leaf certificate .cer file or just .pem file content.)')] [string] $certificate, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devices:DpsCertificate") $resource.properties["provisioningServiceName"] = $provisioningServiceName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'certificateName') { $resource.properties["certificateName"] = $certificateName } if($PSBoundParameters.Keys -icontains 'isVerified') { $resource.properties["isVerified"] = $isVerified } if($PSBoundParameters.Keys -icontains 'certificate') { $resource.properties["certificate"] = $certificate } $global:pulumiresources += $resource return $resource } } class IotDpsSkuInfo { [ValidateSet('S1')] [string] $name [ValidateSet('S1')] [int] $capacity } function New-AzureNativeTypeDevicesIotDpsSkuInfo { param ( [parameter(mandatory=$False,HelpMessage='Sku name.)')] [string] [ValidateSet('S1')] $name, [parameter(mandatory=$False,HelpMessage='The number of units to provision)')] [int] $capacity ) process { return $([IotDpsSkuInfo]$PSBoundParameters) } } class SharedAccessSignatureAuthorizationRuleAccessRightsDescription { [ValidateSet('Hashed', 'GeoLatency', 'Static')] [string] $primaryKey [ValidateSet('Hashed', 'GeoLatency', 'Static')] [string] $keyName [ValidateSet('Hashed', 'GeoLatency', 'Static')] [string] $secondaryKey [ValidateSet('ServiceConfig', 'EnrollmentRead', 'EnrollmentWrite', 'DeviceConnect', 'RegistrationStatusRead', 'RegistrationStatusWrite')] [string] $rights } function New-AzureNativeTypeDevicesSharedAccessSignatureAuthorizationRuleAccessRightsDescription { param ( [parameter(mandatory=$False,HelpMessage='Primary SAS key value.)')] [string] $primaryKey, [parameter(mandatory=$False,HelpMessage='Name of the key.)')] [string] $keyName, [parameter(mandatory=$False,HelpMessage='Secondary SAS key value.)')] [string] $secondaryKey, [parameter(mandatory=$False,HelpMessage='Rights that this key has.)')] [string] [ValidateSet('ServiceConfig', 'EnrollmentRead', 'EnrollmentWrite', 'DeviceConnect', 'RegistrationStatusRead', 'RegistrationStatusWrite')] $rights ) process { return $([SharedAccessSignatureAuthorizationRuleAccessRightsDescription]$PSBoundParameters) } } class PrivateEndpointConnection { [ValidateSet('Enabled', 'Disabled')] [PrivateEndpointConnectionProperties] $properties } function New-AzureNativeTypeDevicesPrivateEndpointConnection { param ( [parameter(mandatory=$False,HelpMessage='The properties of a private endpoint connection)')] [PrivateEndpointConnectionProperties] $properties ) process { return $([PrivateEndpointConnection]$PSBoundParameters) } } class TargetIpFilterRule { [ValidateSet('Enabled', 'Disabled')] [string] $filterName [ValidateSet('all', 'serviceApi', 'deviceApi')] [object] $target [ValidateSet('Accept', 'Reject')] [object] $action [ValidateSet('Accept', 'Reject')] [string] $ipMask } function New-AzureNativeTypeDevicesTargetIpFilterRule { param ( [parameter(mandatory=$False,HelpMessage='The name of the IP filter rule.)')] [string] $filterName, [parameter(mandatory=$False,HelpMessage='Target for requests captured by this rule.)')] $target, [parameter(mandatory=$False,HelpMessage='The desired action for requests captured by this rule.)')] $action, [parameter(mandatory=$False,HelpMessage='A string that contains the IP address range in CIDR notation for the rule.)')] [string] $ipMask ) process { return $([TargetIpFilterRule]$PSBoundParameters) } } class IotHubDefinitionDescription { [ValidateSet('Activating', 'Active', 'Deleting', 'Deleted', 'ActivationFailed', 'DeletionFailed', 'Transitioning', 'Suspending', 'Suspended', 'Resuming', 'FailingOver', 'FailoverFailed')] [bool] $applyAllocationPolicy [ValidateSet('Activating', 'Active', 'Deleting', 'Deleted', 'ActivationFailed', 'DeletionFailed', 'Transitioning', 'Suspending', 'Suspended', 'Resuming', 'FailingOver', 'FailoverFailed')] [string] $connectionString [ValidateSet('Activating', 'Active', 'Deleting', 'Deleted', 'ActivationFailed', 'DeletionFailed', 'Transitioning', 'Suspending', 'Suspended', 'Resuming', 'FailingOver', 'FailoverFailed')] [int] $allocationWeight [ValidateSet('Activating', 'Active', 'Deleting', 'Deleted', 'ActivationFailed', 'DeletionFailed', 'Transitioning', 'Suspending', 'Suspended', 'Resuming', 'FailingOver', 'FailoverFailed')] [string] $location } function New-AzureNativeTypeDevicesIotHubDefinitionDescription { param ( [parameter(mandatory=$False,HelpMessage='flag for applying allocationPolicy or not for a given iot hub.)')] [bool] $applyAllocationPolicy, [parameter(mandatory=$False,HelpMessage='Connection string of the IoT hub.)')] [string] $connectionString, [parameter(mandatory=$False,HelpMessage='weight to apply for a given iot h.)')] [int] $allocationWeight, [parameter(mandatory=$False,HelpMessage='ARM region of the IoT hub.)')] [string] $location ) process { return $([IotHubDefinitionDescription]$PSBoundParameters) } } class IotDpsPropertiesDescription { [ValidateSet('Hashed', 'GeoLatency', 'Static')] [string] $allocationPolicy [ValidateSet('Hashed', 'GeoLatency', 'Static')] [SharedAccessSignatureAuthorizationRuleAccessRightsDescription[]] $authorizationPolicies [ValidateSet('Enabled', 'Disabled')] [string] $publicNetworkAccess [ValidateSet('Enabled', 'Disabled')] [PrivateEndpointConnection[]] $privateEndpointConnections [ValidateSet('Enabled', 'Disabled')] [string] $provisioningState [ValidateSet('Enabled', 'Disabled')] [TargetIpFilterRule[]] $ipFilterRules [ValidateSet('Activating', 'Active', 'Deleting', 'Deleted', 'ActivationFailed', 'DeletionFailed', 'Transitioning', 'Suspending', 'Suspended', 'Resuming', 'FailingOver', 'FailoverFailed')] [string] $state [ValidateSet('Activating', 'Active', 'Deleting', 'Deleted', 'ActivationFailed', 'DeletionFailed', 'Transitioning', 'Suspending', 'Suspended', 'Resuming', 'FailingOver', 'FailoverFailed')] [IotHubDefinitionDescription[]] $iotHubs } function New-AzureNativeTypeDevicesIotDpsPropertiesDescription { param ( [parameter(mandatory=$False,HelpMessage='Allocation policy to be used by this provisioning service.)')] [string] [ValidateSet('Hashed', 'GeoLatency', 'Static')] $allocationPolicy, [parameter(mandatory=$False,HelpMessage='List of authorization keys for a provisioning service.)')] $authorizationPolicies, [parameter(mandatory=$False,HelpMessage='Whether requests from Public Network are allowed)')] [string] [ValidateSet('Enabled', 'Disabled')] $publicNetworkAccess, [parameter(mandatory=$False,HelpMessage='Private endpoint connections created on this IotHub)')] $privateEndpointConnections, [parameter(mandatory=$False,HelpMessage='The ARM provisioning state of the provisioning service.)')] [string] $provisioningState, [parameter(mandatory=$False,HelpMessage='The IP filter rules.)')] $ipFilterRules, [parameter(mandatory=$False,HelpMessage='Current state of the provisioning service.)')] [string] [ValidateSet('Activating', 'Active', 'Deleting', 'Deleted', 'ActivationFailed', 'DeletionFailed', 'Transitioning', 'Suspending', 'Suspended', 'Resuming', 'FailingOver', 'FailoverFailed')] $state, [parameter(mandatory=$False,HelpMessage='List of IoT hubs associated with this provisioning service.)')] $iotHubs ) process { return $([IotDpsPropertiesDescription]$PSBoundParameters) } } function New-AzureNativeDevicesIotDpsResource { [Alias('azure_native_devices_iotdpsresource')] param ( [parameter(mandatory=$False,HelpMessage='Name of provisioning service to create or update.)')] [string] $provisioningServiceName, [parameter(mandatory=$False,HelpMessage='Sku info for a provisioning Service.)')] [IotDpsSkuInfo] $sku, [parameter(mandatory=$False,HelpMessage='Resource group identifier.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The resource tags.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='Service specific properties for a provisioning service)')] [IotDpsPropertiesDescription] $properties, [parameter(mandatory=$False,HelpMessage='The resource location.)')] [string] $location, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devices:IotDpsResource") $resource.properties["properties"] = $properties $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["sku"] = $sku if($PSBoundParameters.Keys -icontains 'provisioningServiceName') { $resource.properties["provisioningServiceName"] = $provisioningServiceName } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } $global:pulumiresources += $resource return $resource } } class IotHubSkuInfo { [ValidateSet('F1', 'S1', 'S2', 'S3', 'B1', 'B2', 'B3')] [string] $name [ValidateSet('F1', 'S1', 'S2', 'S3', 'B1', 'B2', 'B3')] [int] $capacity } function New-AzureNativeTypeDevicesIotHubSkuInfo { param ( [parameter(mandatory=$False,HelpMessage='The name of the SKU.)')] [string] [ValidateSet('F1', 'S1', 'S2', 'S3', 'B1', 'B2', 'B3')] $name, [parameter(mandatory=$False,HelpMessage='The number of provisioned IoT Hub units. See: https://docs.microsoft.com/azure/azure-subscription-service-limits#iot-hub-limits.)')] [int] $capacity ) process { return $([IotHubSkuInfo]$PSBoundParameters) } } class NetworkRuleSetIpRule { [ValidateSet('Deny', 'Allow')] [string] $filterName [ValidateSet('Allow')] [string] $action [ValidateSet('Allow')] [string] $ipMask } function New-AzureNativeTypeDevicesNetworkRuleSetIpRule { param ( [parameter(mandatory=$False,HelpMessage='Name of the IP filter rule.)')] [string] $filterName, [parameter(mandatory=$False,HelpMessage='IP Filter Action)')] [string] [ValidateSet('Allow')] $action, [parameter(mandatory=$False,HelpMessage='A string that contains the IP address range in CIDR notation for the rule.)')] [string] $ipMask ) process { return $([NetworkRuleSetIpRule]$PSBoundParameters) } } class NetworkRuleSetProperties { [bool] $applyToBuiltInEventHubEndpoint [ValidateSet('Deny', 'Allow')] [string] $defaultAction [ValidateSet('Deny', 'Allow')] [NetworkRuleSetIpRule[]] $ipRules } function New-AzureNativeTypeDevicesNetworkRuleSetProperties { param ( [parameter(mandatory=$False,HelpMessage='If True, then Network Rule Set is also applied to BuiltIn EventHub EndPoint of IotHub)')] [bool] $applyToBuiltInEventHubEndpoint, [parameter(mandatory=$False,HelpMessage='Default Action for Network Rule Set)')] [string] [ValidateSet('Deny', 'Allow')] $defaultAction, [parameter(mandatory=$False,HelpMessage='List of IP Rules)')] $ipRules ) process { return $([NetworkRuleSetProperties]$PSBoundParameters) } } class EnrichmentProperties { [ValidateSet('None', 'DeviceManagement')] [string] $key [ValidateSet('None', 'DeviceManagement')] [string[]] $endpointNames [ValidateSet('None', 'DeviceManagement')] [string] $value } function New-AzureNativeTypeDevicesEnrichmentProperties { param ( [parameter(mandatory=$False,HelpMessage='The key or name for the enrichment property.)')] [string] $key, [parameter(mandatory=$False,HelpMessage='The list of endpoints for which the enrichment is applied to the message.)')] [string[]] $endpointNames, [parameter(mandatory=$False,HelpMessage='The value for the enrichment property.)')] [string] $value ) process { return $([EnrichmentProperties]$PSBoundParameters) } } class RouteProperties { [ValidateSet('None', 'DeviceManagement')] [string] $condition [ValidateSet('None', 'DeviceManagement')] [string[]] $endpointNames [ValidateSet('Invalid', 'DeviceMessages', 'TwinChangeEvents', 'DeviceLifecycleEvents', 'DeviceJobLifecycleEvents')] [string] $source [ValidateSet('Invalid', 'DeviceMessages', 'TwinChangeEvents', 'DeviceLifecycleEvents', 'DeviceJobLifecycleEvents')] [bool] $isEnabled [ValidateSet('Invalid', 'DeviceMessages', 'TwinChangeEvents', 'DeviceLifecycleEvents', 'DeviceJobLifecycleEvents')] [string] $name } function New-AzureNativeTypeDevicesRouteProperties { param ( [parameter(mandatory=$False,HelpMessage='The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to true by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language)')] [string] $condition, [parameter(mandatory=$False,HelpMessage='The list of endpoints to which messages that satisfy the condition are routed. Currently only one endpoint is allowed.)')] [string[]] $endpointNames, [parameter(mandatory=$False,HelpMessage='The source that the routing rule is to be applied to, such as DeviceMessages.)')] [string] [ValidateSet('Invalid', 'DeviceMessages', 'TwinChangeEvents', 'DeviceLifecycleEvents', 'DeviceJobLifecycleEvents')] $source, [parameter(mandatory=$False,HelpMessage='Used to specify whether a route is enabled.)')] [bool] $isEnabled, [parameter(mandatory=$False,HelpMessage='The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique.)')] [string] $name ) process { return $([RouteProperties]$PSBoundParameters) } } class RoutingStorageContainerProperties { [ValidateSet('None', 'DeviceManagement')] [int] $maxChunkSizeInBytes [ValidateSet('None', 'DeviceManagement')] [string] $encoding [ValidateSet('keyBased', 'identityBased')] [string] $authenticationType [ValidateSet('keyBased', 'identityBased')] [string] $subscriptionId [ValidateSet('keyBased', 'identityBased')] [string] $fileNameFormat [ValidateSet('keyBased', 'identityBased')] [int] $batchFrequencyInSeconds [ValidateSet('keyBased', 'identityBased')] [string] $id [ValidateSet('keyBased', 'identityBased')] [string] $name [ValidateSet('keyBased', 'identityBased')] [string] $containerName [ValidateSet('keyBased', 'identityBased')] [string] $endpointUri [ValidateSet('keyBased', 'identityBased')] [string] $connectionString [ValidateSet('keyBased', 'identityBased')] [string] $resourceGroup } function New-AzureNativeTypeDevicesRoutingStorageContainerProperties { param ( [parameter(mandatory=$False,HelpMessage='Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).)')] [int] $maxChunkSizeInBytes, [parameter(mandatory=$False,HelpMessage='Encoding that is used to serialize messages to blobs. Supported values are ''avro'', ''avrodeflate'', and ''JSON''. Default value is ''avro''.)')] [string] $encoding, [parameter(mandatory=$False,HelpMessage='Method used to authenticate against the storage endpoint)')] [string] [ValidateSet('keyBased', 'identityBased')] $authenticationType, [parameter(mandatory=$False,HelpMessage='The subscription identifier of the storage account.)')] [string] $subscriptionId, [parameter(mandatory=$False,HelpMessage='File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered.)')] [string] $fileNameFormat, [parameter(mandatory=$False,HelpMessage='Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.)')] [int] $batchFrequencyInSeconds, [parameter(mandatory=$False,HelpMessage='Id of the storage container endpoint)')] [string] $id, [parameter(mandatory=$False,HelpMessage='The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='The name of storage container in the storage account.)')] [string] $containerName, [parameter(mandatory=$False,HelpMessage='The url of the storage endpoint. It must include the protocol https://)')] [string] $endpointUri, [parameter(mandatory=$False,HelpMessage='The connection string of the storage account.)')] [string] $connectionString, [parameter(mandatory=$False,HelpMessage='The name of the resource group of the storage account.)')] [string] $resourceGroup ) process { return $([RoutingStorageContainerProperties]$PSBoundParameters) } } class RoutingEventHubProperties { [ValidateSet('None', 'DeviceManagement')] [string] $resourceGroup [ValidateSet('None', 'DeviceManagement')] [string] $subscriptionId [ValidateSet('None', 'DeviceManagement')] [string] $connectionString [ValidateSet('keyBased', 'identityBased')] [string] $authenticationType [ValidateSet('keyBased', 'identityBased')] [string] $endpointUri [ValidateSet('keyBased', 'identityBased')] [string] $entityPath [ValidateSet('keyBased', 'identityBased')] [string] $name [ValidateSet('keyBased', 'identityBased')] [string] $id } function New-AzureNativeTypeDevicesRoutingEventHubProperties { param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group of the event hub endpoint.)')] [string] $resourceGroup, [parameter(mandatory=$False,HelpMessage='The subscription identifier of the event hub endpoint.)')] [string] $subscriptionId, [parameter(mandatory=$False,HelpMessage='The connection string of the event hub endpoint. )')] [string] $connectionString, [parameter(mandatory=$False,HelpMessage='Method used to authenticate against the event hub endpoint)')] [string] [ValidateSet('keyBased', 'identityBased')] $authenticationType, [parameter(mandatory=$False,HelpMessage='The url of the event hub endpoint. It must include the protocol sb://)')] [string] $endpointUri, [parameter(mandatory=$False,HelpMessage='Event hub name on the event hub namespace)')] [string] $entityPath, [parameter(mandatory=$False,HelpMessage='The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='Id of the event hub endpoint)')] [string] $id ) process { return $([RoutingEventHubProperties]$PSBoundParameters) } } class RoutingServiceBusQueueEndpointProperties { [ValidateSet('None', 'DeviceManagement')] [string] $resourceGroup [ValidateSet('None', 'DeviceManagement')] [string] $subscriptionId [ValidateSet('None', 'DeviceManagement')] [string] $connectionString [ValidateSet('keyBased', 'identityBased')] [string] $authenticationType [ValidateSet('keyBased', 'identityBased')] [string] $endpointUri [ValidateSet('keyBased', 'identityBased')] [string] $entityPath [ValidateSet('keyBased', 'identityBased')] [string] $name [ValidateSet('keyBased', 'identityBased')] [string] $id } function New-AzureNativeTypeDevicesRoutingServiceBusQueueEndpointProperties { param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group of the service bus queue endpoint.)')] [string] $resourceGroup, [parameter(mandatory=$False,HelpMessage='The subscription identifier of the service bus queue endpoint.)')] [string] $subscriptionId, [parameter(mandatory=$False,HelpMessage='The connection string of the service bus queue endpoint.)')] [string] $connectionString, [parameter(mandatory=$False,HelpMessage='Method used to authenticate against the service bus queue endpoint)')] [string] [ValidateSet('keyBased', 'identityBased')] $authenticationType, [parameter(mandatory=$False,HelpMessage='The url of the service bus queue endpoint. It must include the protocol sb://)')] [string] $endpointUri, [parameter(mandatory=$False,HelpMessage='Queue name on the service bus namespace)')] [string] $entityPath, [parameter(mandatory=$False,HelpMessage='The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual queue name.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='Id of the service bus queue endpoint)')] [string] $id ) process { return $([RoutingServiceBusQueueEndpointProperties]$PSBoundParameters) } } class RoutingServiceBusTopicEndpointProperties { [ValidateSet('None', 'DeviceManagement')] [string] $resourceGroup [ValidateSet('None', 'DeviceManagement')] [string] $subscriptionId [ValidateSet('None', 'DeviceManagement')] [string] $connectionString [ValidateSet('keyBased', 'identityBased')] [string] $authenticationType [ValidateSet('keyBased', 'identityBased')] [string] $endpointUri [ValidateSet('keyBased', 'identityBased')] [string] $entityPath [ValidateSet('keyBased', 'identityBased')] [string] $name [ValidateSet('keyBased', 'identityBased')] [string] $id } function New-AzureNativeTypeDevicesRoutingServiceBusTopicEndpointProperties { param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group of the service bus topic endpoint.)')] [string] $resourceGroup, [parameter(mandatory=$False,HelpMessage='The subscription identifier of the service bus topic endpoint.)')] [string] $subscriptionId, [parameter(mandatory=$False,HelpMessage='The connection string of the service bus topic endpoint.)')] [string] $connectionString, [parameter(mandatory=$False,HelpMessage='Method used to authenticate against the service bus topic endpoint)')] [string] [ValidateSet('keyBased', 'identityBased')] $authenticationType, [parameter(mandatory=$False,HelpMessage='The url of the service bus topic endpoint. It must include the protocol sb://)')] [string] $endpointUri, [parameter(mandatory=$False,HelpMessage='Queue name on the service bus topic)')] [string] $entityPath, [parameter(mandatory=$False,HelpMessage='The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual topic name.)')] [string] $name, [parameter(mandatory=$False,HelpMessage='Id of the service bus topic endpoint)')] [string] $id ) process { return $([RoutingServiceBusTopicEndpointProperties]$PSBoundParameters) } } class RoutingEndpoints { [ValidateSet('None', 'DeviceManagement')] [RoutingStorageContainerProperties[]] $storageContainers [ValidateSet('None', 'DeviceManagement')] [RoutingEventHubProperties[]] $eventHubs [ValidateSet('None', 'DeviceManagement')] [RoutingServiceBusQueueEndpointProperties[]] $serviceBusQueues [ValidateSet('None', 'DeviceManagement')] [RoutingServiceBusTopicEndpointProperties[]] $serviceBusTopics } function New-AzureNativeTypeDevicesRoutingEndpoints { param ( [parameter(mandatory=$False,HelpMessage='The list of storage container endpoints that IoT hub routes messages to, based on the routing rules.)')] $storageContainers, [parameter(mandatory=$False,HelpMessage='The list of Event Hubs endpoints that IoT hub routes messages to, based on the routing rules. This list does not include the built-in Event Hubs endpoint.)')] $eventHubs, [parameter(mandatory=$False,HelpMessage='The list of Service Bus queue endpoints that IoT hub routes the messages to, based on the routing rules.)')] $serviceBusQueues, [parameter(mandatory=$False,HelpMessage='The list of Service Bus topic endpoints that the IoT hub routes the messages to, based on the routing rules.)')] $serviceBusTopics ) process { return $([RoutingEndpoints]$PSBoundParameters) } } class FallbackRouteProperties { [ValidateSet('None', 'DeviceManagement')] [string] $condition [ValidateSet('None', 'DeviceManagement')] [string[]] $endpointNames [ValidateSet('Invalid', 'DeviceMessages', 'TwinChangeEvents', 'DeviceLifecycleEvents', 'DeviceJobLifecycleEvents')] [string] $source [ValidateSet('Invalid', 'DeviceMessages', 'TwinChangeEvents', 'DeviceLifecycleEvents', 'DeviceJobLifecycleEvents')] [bool] $isEnabled [ValidateSet('Invalid', 'DeviceMessages', 'TwinChangeEvents', 'DeviceLifecycleEvents', 'DeviceJobLifecycleEvents')] [string] $name } function New-AzureNativeTypeDevicesFallbackRouteProperties { param ( [parameter(mandatory=$False,HelpMessage='The condition which is evaluated in order to apply the fallback route. If the condition is not provided it will evaluate to true by default. For grammar, See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language)')] [string] $condition, [parameter(mandatory=$False,HelpMessage='The list of endpoints to which the messages that satisfy the condition are routed to. Currently only 1 endpoint is allowed.)')] [string[]] $endpointNames, [parameter(mandatory=$False,HelpMessage='The source to which the routing rule is to be applied to. For example, DeviceMessages)')] [string] [ValidateSet('Invalid', 'DeviceMessages', 'TwinChangeEvents', 'DeviceLifecycleEvents', 'DeviceJobLifecycleEvents')] $source, [parameter(mandatory=$False,HelpMessage='Used to specify whether the fallback route is enabled.)')] [bool] $isEnabled, [parameter(mandatory=$False,HelpMessage='The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique.)')] [string] $name ) process { return $([FallbackRouteProperties]$PSBoundParameters) } } class RoutingProperties { [ValidateSet('None', 'DeviceManagement')] [EnrichmentProperties[]] $enrichments [ValidateSet('None', 'DeviceManagement')] [RouteProperties[]] $routes [ValidateSet('None', 'DeviceManagement')] [RoutingEndpoints] $endpoints [ValidateSet('None', 'DeviceManagement')] [FallbackRouteProperties] $fallbackRoute } function New-AzureNativeTypeDevicesRoutingProperties { param ( [parameter(mandatory=$False,HelpMessage='The list of user-provided enrichments that the IoT hub applies to messages to be delivered to built-in and custom endpoints. See: https://aka.ms/telemetryoneventgrid)')] $enrichments, [parameter(mandatory=$False,HelpMessage='The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for free hubs.)')] $routes, [parameter(mandatory=$False,HelpMessage='The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed across all endpoint types for free hubs.)')] [RoutingEndpoints] $endpoints, [parameter(mandatory=$False,HelpMessage='The properties of the route that is used as a fall-back route when none of the conditions specified in the ''routes'' section are met. This is an optional parameter. When this property is not set, the messages which do not meet any of the conditions specified in the ''routes'' section get routed to the built-in eventhub endpoint.)')] [FallbackRouteProperties] $fallbackRoute ) process { return $([RoutingProperties]$PSBoundParameters) } } class SharedAccessSignatureAuthorizationRule { [ValidateSet('None', 'DeviceManagement')] [string] $primaryKey [ValidateSet('None', 'DeviceManagement')] [string] $keyName [ValidateSet('None', 'DeviceManagement')] [string] $secondaryKey [ValidateSet('RegistryRead', 'RegistryWrite', 'ServiceConnect', 'DeviceConnect', 'RegistryRead, RegistryWrite', 'RegistryRead, ServiceConnect', 'RegistryRead, DeviceConnect', 'RegistryWrite, ServiceConnect', 'RegistryWrite, DeviceConnect', 'ServiceConnect, DeviceConnect', 'RegistryRead, RegistryWrite, ServiceConnect', 'RegistryRead, RegistryWrite, DeviceConnect', 'RegistryRead, ServiceConnect, DeviceConnect', 'RegistryWrite, ServiceConnect, DeviceConnect', 'RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect')] [object] $rights } function New-AzureNativeTypeDevicesSharedAccessSignatureAuthorizationRule { param ( [parameter(mandatory=$False,HelpMessage='The primary key.)')] [string] $primaryKey, [parameter(mandatory=$False,HelpMessage='The name of the shared access policy.)')] [string] $keyName, [parameter(mandatory=$False,HelpMessage='The secondary key.)')] [string] $secondaryKey, [parameter(mandatory=$False,HelpMessage='The permissions assigned to the shared access policy.)')] $rights ) process { return $([SharedAccessSignatureAuthorizationRule]$PSBoundParameters) } } class IpFilterRule { [ValidateSet('Enabled', 'Disabled')] [string] $filterName [ValidateSet('Accept', 'Reject')] [object] $action [ValidateSet('Accept', 'Reject')] [string] $ipMask } function New-AzureNativeTypeDevicesIpFilterRule { param ( [parameter(mandatory=$False,HelpMessage='The name of the IP filter rule.)')] [string] $filterName, [parameter(mandatory=$False,HelpMessage='The desired action for requests captured by this rule.)')] $action, [parameter(mandatory=$False,HelpMessage='A string that contains the IP address range in CIDR notation for the rule.)')] [string] $ipMask ) process { return $([IpFilterRule]$PSBoundParameters) } } class FeedbackProperties { [ValidateSet('Enabled', 'Disabled')] [int] $maxDeliveryCount [ValidateSet('Enabled', 'Disabled')] [string] $lockDurationAsIso8601 [ValidateSet('Enabled', 'Disabled')] [string] $ttlAsIso8601 } function New-AzureNativeTypeDevicesFeedbackProperties { param ( [parameter(mandatory=$False,HelpMessage='The number of times the IoT hub attempts to deliver a message on the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.)')] [int] $maxDeliveryCount, [parameter(mandatory=$False,HelpMessage='The lock duration for the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.)')] [string] $lockDurationAsIso8601, [parameter(mandatory=$False,HelpMessage='The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.)')] [string] $ttlAsIso8601 ) process { return $([FeedbackProperties]$PSBoundParameters) } } class CloudToDeviceProperties { [ValidateSet('Enabled', 'Disabled')] [FeedbackProperties] $feedback [ValidateSet('Enabled', 'Disabled')] [int] $maxDeliveryCount [ValidateSet('Enabled', 'Disabled')] [string] $defaultTtlAsIso8601 } function New-AzureNativeTypeDevicesCloudToDeviceProperties { param ( [parameter(mandatory=$False,HelpMessage='The properties of the feedback queue for cloud-to-device messages.)')] [FeedbackProperties] $feedback, [parameter(mandatory=$False,HelpMessage='The max delivery count for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.)')] [int] $maxDeliveryCount, [parameter(mandatory=$False,HelpMessage='The default time to live for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.)')] [string] $defaultTtlAsIso8601 ) process { return $([CloudToDeviceProperties]$PSBoundParameters) } } class IotHubProperties { [NetworkRuleSetProperties] $networkRuleSets [object] $storageEndpoints [ValidateSet('None', 'DeviceManagement')] [string] $features [ValidateSet('None', 'DeviceManagement')] [RoutingProperties] $routing [ValidateSet('None', 'DeviceManagement')] [SharedAccessSignatureAuthorizationRule[]] $authorizationPolicies [ValidateSet('Enabled', 'Disabled')] [string] $publicNetworkAccess [ValidateSet('Enabled', 'Disabled')] [bool] $enableFileUploadNotifications [ValidateSet('Enabled', 'Disabled')] [PrivateEndpointConnection[]] $privateEndpointConnections [ValidateSet('Enabled', 'Disabled')] [IpFilterRule[]] $ipFilterRules [ValidateSet('Enabled', 'Disabled')] [object] $messagingEndpoints [ValidateSet('Enabled', 'Disabled')] [string] $comments [ValidateSet('Enabled', 'Disabled')] [string] $minTlsVersion [ValidateSet('Enabled', 'Disabled')] [CloudToDeviceProperties] $cloudToDevice [ValidateSet('Enabled', 'Disabled')] [object] $eventHubEndpoints } class StorageEndpointProperties { [string] $connectionString [string] $sasTtlAsIso8601 [ValidateSet('keyBased', 'identityBased')] [string] $authenticationType [ValidateSet('keyBased', 'identityBased')] [string] $containerName } function New-AzureNativeTypeDevicesStorageEndpointProperties { param ( [parameter(mandatory=$False,HelpMessage='The connection string for the Azure Storage account to which files are uploaded.)')] [string] $connectionString, [parameter(mandatory=$False,HelpMessage='The period of time for which the SAS URI generated by IoT Hub for file upload is valid. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options.)')] [string] $sasTtlAsIso8601, [parameter(mandatory=$False,HelpMessage='Specifies authentication type being used for connecting to the storage account.)')] [string] [ValidateSet('keyBased', 'identityBased')] $authenticationType, [parameter(mandatory=$False,HelpMessage='The name of the root container where you upload files. The container need not exist but should be creatable using the connectionString specified.)')] [string] $containerName ) process { return $([StorageEndpointProperties]$PSBoundParameters) } } class MessagingEndpointProperties { [int] $maxDeliveryCount [string] $lockDurationAsIso8601 [string] $ttlAsIso8601 } function New-AzureNativeTypeDevicesMessagingEndpointProperties { param ( [parameter(mandatory=$False,HelpMessage='The number of times the IoT hub attempts to deliver a message. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.)')] [int] $maxDeliveryCount, [parameter(mandatory=$False,HelpMessage='The lock duration. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.)')] [string] $lockDurationAsIso8601, [parameter(mandatory=$False,HelpMessage='The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.)')] [string] $ttlAsIso8601 ) process { return $([MessagingEndpointProperties]$PSBoundParameters) } } class EventHubProperties { [int] $partitionCount [int] $retentionTimeInDays } function New-AzureNativeTypeDevicesEventHubProperties { param ( [parameter(mandatory=$False,HelpMessage='The number of partitions for receiving device-to-cloud messages in the Event Hub-compatible endpoint. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages.)')] [int] $partitionCount, [parameter(mandatory=$False,HelpMessage='The retention time for device-to-cloud messages in days. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages)')] [int] $retentionTimeInDays ) process { return $([EventHubProperties]$PSBoundParameters) } } function New-AzureNativeTypeDevicesIotHubProperties { param ( [parameter(mandatory=$False,HelpMessage='Network Rule Set Properties of IotHub)')] [NetworkRuleSetProperties] $networkRuleSets, [parameter(mandatory=$False,HelpMessage='The list of Azure Storage endpoints where you can upload files. Currently you can configure only one Azure Storage account and that MUST have its key as $default. Specifying more than one storage account causes an error to be thrown. Not specifying a value for this property when the enableFileUploadNotifications property is set to True, causes an error to be thrown.)')] [StorageEndpointProperties] $storageEndpoints, [parameter(mandatory=$False,HelpMessage='The capabilities and features enabled for the IoT hub.)')] [string] [ValidateSet('None', 'DeviceManagement')] $features, [parameter(mandatory=$False,HelpMessage='The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging)')] [RoutingProperties] $routing, [parameter(mandatory=$False,HelpMessage='The shared access policies you can use to secure a connection to the IoT hub.)')] $authorizationPolicies, [parameter(mandatory=$False,HelpMessage='Whether requests from Public Network are allowed)')] [string] [ValidateSet('Enabled', 'Disabled')] $publicNetworkAccess, [parameter(mandatory=$False,HelpMessage='If True, file upload notifications are enabled.)')] [bool] $enableFileUploadNotifications, [parameter(mandatory=$False,HelpMessage='Private endpoint connections created on this IotHub)')] $privateEndpointConnections, [parameter(mandatory=$False,HelpMessage='The IP filter rules.)')] $ipFilterRules, [parameter(mandatory=$False,HelpMessage='The messaging endpoint properties for the file upload notification queue.)')] [MessagingEndpointProperties] $messagingEndpoints, [parameter(mandatory=$False,HelpMessage='IoT hub comments.)')] [string] $comments, [parameter(mandatory=$False,HelpMessage='Specifies the minimum TLS version to support for this hub. Can be set to "1.2" to have clients that use a TLS version below 1.2 to be rejected.)')] [string] $minTlsVersion, [parameter(mandatory=$False,HelpMessage='The IoT hub cloud-to-device messaging properties.)')] [CloudToDeviceProperties] $cloudToDevice, [parameter(mandatory=$False,HelpMessage='The Event Hub-compatible endpoint properties. The only possible keys to this dictionary is events. This key has to be present in the dictionary while making create or update calls for the IoT hub.)')] [EventHubProperties] $eventHubEndpoints ) process { return $([IotHubProperties]$PSBoundParameters) } } function New-AzureNativeDevicesIotHubResource { [Alias('azure_native_devices_iothubresource')] param ( [parameter(mandatory=$False,HelpMessage='IotHub SKU info)')] [IotHubSkuInfo] $sku, [parameter(mandatory=$False,HelpMessage='The name of the IoT hub.)')] [string] $resourceName, [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the IoT hub.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The resource tags.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='IotHub properties)')] [IotHubProperties] $properties, [parameter(mandatory=$False,HelpMessage='The resource location.)')] [string] $location, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devices:IotHubResource") $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["sku"] = $sku if($PSBoundParameters.Keys -icontains 'resourceName') { $resource.properties["resourceName"] = $resourceName } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'properties') { $resource.properties["properties"] = $properties } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } $global:pulumiresources += $resource return $resource } } class CertificateProperties { [string] $certificate } function New-AzureNativeTypeDevicesCertificateProperties { param ( [parameter(mandatory=$False,HelpMessage='The certificate content)')] [string] $certificate ) process { return $([CertificateProperties]$PSBoundParameters) } } function New-AzureNativeDevicesCertificate { [Alias('azure_native_devices_certificate')] param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the IoT hub.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The description of an X509 CA Certificate.)')] [CertificateProperties] $properties, [parameter(mandatory=$False,HelpMessage='The name of the IoT hub.)')] [string] $resourceName, [parameter(mandatory=$False,HelpMessage='The name of the certificate)')] [string] $certificateName, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devices:Certificate") $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["resourceName"] = $resourceName if($PSBoundParameters.Keys -icontains 'properties') { $resource.properties["properties"] = $properties } if($PSBoundParameters.Keys -icontains 'certificateName') { $resource.properties["certificateName"] = $certificateName } $global:pulumiresources += $resource return $resource } } |