pspulumiyaml.azurenative.devices.psm1
using module @{ ModuleName = "PSPulumiYaml"; ModuleVersion = "0.0.3"; GUID = "909344e0-a08f-45f6-8177-80e36bb2ba58" } function Invoke-AzureNativeFunctionDevicesListIotDpsResourceKeys { param ( [parameter(mandatory=$False,HelpMessage='The provisioning service name to get the shared access keys for.)')] [string] $provisioningServiceName, [parameter(mandatory=$False,HelpMessage='resource group name)')] [string] $resourceGroupName ) 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-AzureNativeFunctionDevicesGetDpsCertificate { param ( [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, [parameter(mandatory=$False,HelpMessage='Resource group identifier.)')] [string] $resourceGroupName ) 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-AzureNativeFunctionDevicesListIotDpsResourceKeysForKeyName { param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the provisioning service.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the provisioning service.)')] [string] $provisioningServiceName, [parameter(mandatory=$False,HelpMessage='Logical key name to get key-values for.)')] [string] $keyName ) 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-AzureNativeFunctionDevicesGetIotHubResourceEventHubConsumerGroup { param ( [parameter(mandatory=$False,HelpMessage='The name of the consumer group to retrieve.)')] [string] $name, [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 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 } } function Invoke-AzureNativeFunctionDevicesGetPrivateEndpointConnection { 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 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-AzureNativeFunctionDevicesGetIotDpsResourcePrivateEndpointConnection { 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 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-AzureNativeFunctionDevicesGetCertificate { param ( [parameter(mandatory=$False,HelpMessage='The name of the certificate)')] [string] $certificateName, [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["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-AzureNativeFunctionDevicesGetIotDpsResource { param ( [parameter(mandatory=$False,HelpMessage='Name of the provisioning service to retrieve.)')] [string] $provisioningServiceName, [parameter(mandatory=$False,HelpMessage='Resource group name.)')] [string] $resourceGroupName ) 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-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-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 } } class PrivateLinkServiceConnectionState { [string] $description [ArgumentCompletions('Pending', 'Approved', 'Rejected', 'Disconnected')] [string] $status [string] $actionsRequired } 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='The status of a private endpoint connection)')] [string] [ArgumentCompletions('Pending', 'Approved', 'Rejected', 'Disconnected')] $status, [parameter(mandatory=$False,HelpMessage='Actions required for a private endpoint connection)')] [string] $actionsRequired ) 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-AzureNativeDevicesPrivateEndpointConnection { [Alias('azure_native_devices_privateendpointconnection')] param ( [parameter(mandatory=$False,HelpMessage='The properties of a private endpoint connection)')] [PrivateEndpointConnectionProperties] $properties, [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 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, [parameter(HelpMessage='Specifies a list of named output properties that should be treated as secrets, which means they will be encrypted. It augments the list of values that Pulumi detects, based on secret inputs to the resource.')] [string[]] $PulumiSecretOutputs, [parameter(HelpMessage='The aliases parameter provides a list of aliases for a resource or component resource. If youre changing the name, type, or parent path of a resource or component resource, you can add the old name to the list of aliases for a resource to ensure that existing resources will be migrated to the new name instead of being deleted and replaced with the new named resource.')] [string[]] $PulumiAliases, [parameter(HelpMessage='The customTimeouts parameter provides a set of custom timeouts for create, update, and delete operations on a resource. These timeouts are specified using a duration string such as 5m (5 minutes), 40s (40 seconds), or 1d (1 day). Supported duration units are ns, us (or µs), ms, s, m, and h (nanoseconds, microseconds, milliseconds, seconds, minutes, and hours, respectively).')] [pulumicustomtimeouts] $PulumiCustomTimeouts, [parameter(HelpMessage='Setting the PulumiDeleteBeforeReplace parameter to true means that Pulumi will delete the existing resource before creating its replacement. Be aware that this behavior has a cascading impact on dependencies so more resources may be replaced, which can lead to downtime. However, this option may be necessary for some resources that manage scarce resources behind the scenes, and/or resources that cannot exist side-by-side.')] [bool] $PulumiDeleteBeforeReplace, [parameter(HelpMessage='Creates a list of explicit dependencies between resources.The DependsOn parameter ensures that resource creation, update, and deletion operations are done in the correct order.')] [object[]] $PulumiDependsOn, [parameter(HelpMessage='Specifies a list of properties that Pulumi will ignore when it updates existing resources. Any properties specified in this list that are also specified in the resources arguments will only be used when creating the resource.')] [string[]] $PulumiIgnoreChanges, [parameter(HelpMessage='Imports an existing cloud resource so that Pulumi can manage it. To import a resource, first specify the PulumiImport parameter with the resources ID')] [string] $PulumiImport = [NullString]::Value, [parameter(HelpMessage='Specifies a parent for a resource. It is used to associate children with the parents that encapsulate or are responsible for them.')] [object] $PulumiParent = [NullString]::Value, [parameter(HelpMessage='Marks a resource as protected. A protected resource cannot be deleted directly, and it will be an error to do a Pulumi deployment which tries to delete a protected resource for any reason.')] [bool] $PulumiProtect, [parameter(HelpMessage='Sets a provider for the resource. The default is to inherit this value from the parent resource, and to use the ambient provider specified by Pulumi configuration for resources without a parent.')] [object] $PulumiProvider = [NullString]::Value, [parameter(HelpMessage='Sets a list of providers for the resource and its children. This list is combined with resource parents providers lists. If no value is provided, the providers list is identical to the parent. When determining which provider to use for a resource, the providers list is used if provider is not supplied.')] [object[]] $PulumiProviders, [parameter(HelpMessage='Used to indicate that changes to certain properties on a resource should force a replacement of the resource instead of an in-place update. Typically users rely on the resource provider to make this decision based on whether the input property is one that the provider knows how to update in place, or if not, requires a replacement to modify. However, there are cases where users want to replace a resource on a change to an input property even if the resource provider itself doesnt believe it has to replace the resource.')] [string[]] $PulumiReplaceOnChanges, [parameter(HelpMessage='Marks a resource to be retained. If this option is set then Pulumi will not call through to the resource providers Delete method when deleting or replacing the resource during pulumi up or pulumi destroy. As a result, the resource will not be deleted from the backing cloud provider, but will be removed from the Pulumi state.')] [bool] $PulumiRetainOnDelete, [parameter(HelpMessage='Specifies a provider version to use when operating on a resource. This version overrides the version information inferred from the current package. This option should be used rarely.')] [string] $PulumiProviderVersion = [NullString]::Value ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devices:PrivateEndpointConnection") $resource.options.additionalSecretOutputs = $PulumiSecretOutputs $resource.options.aliases = $PulumiAliases $resource.options.customTimeouts = $PulumiCustomTimeouts $resource.options.deleteBeforeReplace = $PulumiDeleteBeforeReplace $resource.options.ignoreChanges = $PulumiIgnoreChanges $resource.options.import = if([string]::IsNullOrEmpty($PulumiImport)) { [NullString]::Value } else { $PulumiImport } $resource.options.protect = $PulumiProtect $resource.options.replaceOnChanges = $PulumiReplaceOnChanges $resource.options.retainOnDelete = $PulumiRetainOnDelete $resource.options.version = if([string]::IsNullOrEmpty($PulumiProviderVersion)) { [NullString]::Value } else { $PulumiProviderVersion } foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.options.dependson += $Dependency.Reference() } else { $resource.options.dependson += $Dependency } } if($PulumiParent -is [pulumiresource]) { $resource.options.parent = $PulumiParent.Reference() } else { $resource.options.parent = $PulumiParent } foreach($provider in $PulumiProviders) { if($provider -is [pulumiprovider]) { $resource.options.providers += $provider.Reference() } else { $resource.options.providers += $provider } } if($PulumiProvider -is [pulumiprovider]) { $resource.options.provider = $PulumiProvider.Reference() } else { $resource.options.provider = $PulumiProvider } $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 } } class SharedAccessSignatureAuthorizationRuleAccessRightsDescription { [ArgumentCompletions('ServiceConfig', 'EnrollmentRead', 'EnrollmentWrite', 'DeviceConnect', 'RegistrationStatusRead', 'RegistrationStatusWrite')] [string] $rights [string] $primaryKey [string] $keyName [string] $secondaryKey } function New-AzureNativeTypeDevicesSharedAccessSignatureAuthorizationRuleAccessRightsDescription { param ( [parameter(mandatory=$False,HelpMessage='Rights that this key has.)')] [string] [ArgumentCompletions('ServiceConfig', 'EnrollmentRead', 'EnrollmentWrite', 'DeviceConnect', 'RegistrationStatusRead', 'RegistrationStatusWrite')] $rights, [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 ) process { return $([SharedAccessSignatureAuthorizationRuleAccessRightsDescription]$PSBoundParameters) } } class PrivateEndpointConnection { [PrivateEndpointConnectionProperties] $properties } function New-AzureNativeTypeDevicesPrivateEndpointConnection { param ( [parameter(mandatory=$False,HelpMessage='The properties of a private endpoint connection)')] [PrivateEndpointConnectionProperties] $properties ) process { return $([PrivateEndpointConnection]$PSBoundParameters) } } class IotHubDefinitionDescription { [string] $location [string] $connectionString [bool] $applyAllocationPolicy [int] $allocationWeight } function New-AzureNativeTypeDevicesIotHubDefinitionDescription { param ( [parameter(mandatory=$False,HelpMessage='ARM region of the IoT hub.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='Connection string of the IoT hub.)')] [string] $connectionString, [parameter(mandatory=$False,HelpMessage='flag for applying allocationPolicy or not for a given iot hub.)')] [bool] $applyAllocationPolicy, [parameter(mandatory=$False,HelpMessage='weight to apply for a given iot h.)')] [int] $allocationWeight ) process { return $([IotHubDefinitionDescription]$PSBoundParameters) } } class TargetIpFilterRule { [ArgumentCompletions('all', 'serviceApi', 'deviceApi')] [object] $target [string] $ipMask [string] $filterName [ArgumentCompletions('Accept', 'Reject')] [object] $action } function New-AzureNativeTypeDevicesTargetIpFilterRule { param ( [parameter(mandatory=$False,HelpMessage='Target for requests captured by this rule.)')] $target, [parameter(mandatory=$False,HelpMessage='A string that contains the IP address range in CIDR notation for the rule.)')] [string] $ipMask, [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 ) process { return $([TargetIpFilterRule]$PSBoundParameters) } } class IotDpsPropertiesDescription { [SharedAccessSignatureAuthorizationRuleAccessRightsDescription[]] $authorizationPolicies [ArgumentCompletions('Hashed', 'GeoLatency', 'Static')] [string] $allocationPolicy [ArgumentCompletions('Activating', 'Active', 'Deleting', 'Deleted', 'ActivationFailed', 'DeletionFailed', 'Transitioning', 'Suspending', 'Suspended', 'Resuming', 'FailingOver', 'FailoverFailed')] [string] $state [PrivateEndpointConnection[]] $privateEndpointConnections [ArgumentCompletions('Enabled', 'Disabled')] [string] $publicNetworkAccess [IotHubDefinitionDescription[]] $iotHubs [TargetIpFilterRule[]] $ipFilterRules [string] $provisioningState } function New-AzureNativeTypeDevicesIotDpsPropertiesDescription { param ( [parameter(mandatory=$False,HelpMessage='List of authorization keys for a provisioning service.)')] $authorizationPolicies, [parameter(mandatory=$False,HelpMessage='Allocation policy to be used by this provisioning service.)')] [string] [ArgumentCompletions('Hashed', 'GeoLatency', 'Static')] $allocationPolicy, [parameter(mandatory=$False,HelpMessage='Current state of the provisioning service.)')] [string] [ArgumentCompletions('Activating', 'Active', 'Deleting', 'Deleted', 'ActivationFailed', 'DeletionFailed', 'Transitioning', 'Suspending', 'Suspended', 'Resuming', 'FailingOver', 'FailoverFailed')] $state, [parameter(mandatory=$False,HelpMessage='Private endpoint connections created on this IotHub)')] $privateEndpointConnections, [parameter(mandatory=$False,HelpMessage='Whether requests from Public Network are allowed)')] [string] [ArgumentCompletions('Enabled', 'Disabled')] $publicNetworkAccess, [parameter(mandatory=$False,HelpMessage='List of IoT hubs associated with this provisioning service.)')] $iotHubs, [parameter(mandatory=$False,HelpMessage='The IP filter rules.)')] $ipFilterRules, [parameter(mandatory=$False,HelpMessage='The ARM provisioning state of the provisioning service.)')] [string] $provisioningState ) process { return $([IotDpsPropertiesDescription]$PSBoundParameters) } } class IotDpsSkuInfo { [int] $capacity [ArgumentCompletions('S1')] [string] $name } function New-AzureNativeTypeDevicesIotDpsSkuInfo { param ( [parameter(mandatory=$False,HelpMessage='The number of units to provision)')] [int] $capacity, [parameter(mandatory=$False,HelpMessage='Sku name.)')] [string] [ArgumentCompletions('S1')] $name ) process { return $([IotDpsSkuInfo]$PSBoundParameters) } } function New-AzureNativeDevicesIotDpsResource { [Alias('azure_native_devices_iotdpsresource')] param ( [parameter(mandatory=$False,HelpMessage='Resource group identifier.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The resource location.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='Name of provisioning service to create or update.)')] [string] $provisioningServiceName, [parameter(mandatory=$False,HelpMessage='Service specific properties for a provisioning service)')] [IotDpsPropertiesDescription] $properties, [parameter(mandatory=$False,HelpMessage='The resource tags.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='Sku info for a provisioning Service.)')] [IotDpsSkuInfo] $sku, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(HelpMessage='Specifies a list of named output properties that should be treated as secrets, which means they will be encrypted. It augments the list of values that Pulumi detects, based on secret inputs to the resource.')] [string[]] $PulumiSecretOutputs, [parameter(HelpMessage='The aliases parameter provides a list of aliases for a resource or component resource. If youre changing the name, type, or parent path of a resource or component resource, you can add the old name to the list of aliases for a resource to ensure that existing resources will be migrated to the new name instead of being deleted and replaced with the new named resource.')] [string[]] $PulumiAliases, [parameter(HelpMessage='The customTimeouts parameter provides a set of custom timeouts for create, update, and delete operations on a resource. These timeouts are specified using a duration string such as 5m (5 minutes), 40s (40 seconds), or 1d (1 day). Supported duration units are ns, us (or µs), ms, s, m, and h (nanoseconds, microseconds, milliseconds, seconds, minutes, and hours, respectively).')] [pulumicustomtimeouts] $PulumiCustomTimeouts, [parameter(HelpMessage='Setting the PulumiDeleteBeforeReplace parameter to true means that Pulumi will delete the existing resource before creating its replacement. Be aware that this behavior has a cascading impact on dependencies so more resources may be replaced, which can lead to downtime. However, this option may be necessary for some resources that manage scarce resources behind the scenes, and/or resources that cannot exist side-by-side.')] [bool] $PulumiDeleteBeforeReplace, [parameter(HelpMessage='Creates a list of explicit dependencies between resources.The DependsOn parameter ensures that resource creation, update, and deletion operations are done in the correct order.')] [object[]] $PulumiDependsOn, [parameter(HelpMessage='Specifies a list of properties that Pulumi will ignore when it updates existing resources. Any properties specified in this list that are also specified in the resources arguments will only be used when creating the resource.')] [string[]] $PulumiIgnoreChanges, [parameter(HelpMessage='Imports an existing cloud resource so that Pulumi can manage it. To import a resource, first specify the PulumiImport parameter with the resources ID')] [string] $PulumiImport = [NullString]::Value, [parameter(HelpMessage='Specifies a parent for a resource. It is used to associate children with the parents that encapsulate or are responsible for them.')] [object] $PulumiParent = [NullString]::Value, [parameter(HelpMessage='Marks a resource as protected. A protected resource cannot be deleted directly, and it will be an error to do a Pulumi deployment which tries to delete a protected resource for any reason.')] [bool] $PulumiProtect, [parameter(HelpMessage='Sets a provider for the resource. The default is to inherit this value from the parent resource, and to use the ambient provider specified by Pulumi configuration for resources without a parent.')] [object] $PulumiProvider = [NullString]::Value, [parameter(HelpMessage='Sets a list of providers for the resource and its children. This list is combined with resource parents providers lists. If no value is provided, the providers list is identical to the parent. When determining which provider to use for a resource, the providers list is used if provider is not supplied.')] [object[]] $PulumiProviders, [parameter(HelpMessage='Used to indicate that changes to certain properties on a resource should force a replacement of the resource instead of an in-place update. Typically users rely on the resource provider to make this decision based on whether the input property is one that the provider knows how to update in place, or if not, requires a replacement to modify. However, there are cases where users want to replace a resource on a change to an input property even if the resource provider itself doesnt believe it has to replace the resource.')] [string[]] $PulumiReplaceOnChanges, [parameter(HelpMessage='Marks a resource to be retained. If this option is set then Pulumi will not call through to the resource providers Delete method when deleting or replacing the resource during pulumi up or pulumi destroy. As a result, the resource will not be deleted from the backing cloud provider, but will be removed from the Pulumi state.')] [bool] $PulumiRetainOnDelete, [parameter(HelpMessage='Specifies a provider version to use when operating on a resource. This version overrides the version information inferred from the current package. This option should be used rarely.')] [string] $PulumiProviderVersion = [NullString]::Value ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devices:IotDpsResource") $resource.options.additionalSecretOutputs = $PulumiSecretOutputs $resource.options.aliases = $PulumiAliases $resource.options.customTimeouts = $PulumiCustomTimeouts $resource.options.deleteBeforeReplace = $PulumiDeleteBeforeReplace $resource.options.ignoreChanges = $PulumiIgnoreChanges $resource.options.import = if([string]::IsNullOrEmpty($PulumiImport)) { [NullString]::Value } else { $PulumiImport } $resource.options.protect = $PulumiProtect $resource.options.replaceOnChanges = $PulumiReplaceOnChanges $resource.options.retainOnDelete = $PulumiRetainOnDelete $resource.options.version = if([string]::IsNullOrEmpty($PulumiProviderVersion)) { [NullString]::Value } else { $PulumiProviderVersion } foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.options.dependson += $Dependency.Reference() } else { $resource.options.dependson += $Dependency } } if($PulumiParent -is [pulumiresource]) { $resource.options.parent = $PulumiParent.Reference() } else { $resource.options.parent = $PulumiParent } foreach($provider in $PulumiProviders) { if($provider -is [pulumiprovider]) { $resource.options.providers += $provider.Reference() } else { $resource.options.providers += $provider } } if($PulumiProvider -is [pulumiprovider]) { $resource.options.provider = $PulumiProvider.Reference() } else { $resource.options.provider = $PulumiProvider } $resource.properties["properties"] = $properties $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["sku"] = $sku if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'provisioningServiceName') { $resource.properties["provisioningServiceName"] = $provisioningServiceName } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } $global:pulumiresources += $resource return $resource } } class SharedAccessSignatureAuthorizationRule { [ArgumentCompletions('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 [string] $primaryKey [string] $keyName [string] $secondaryKey } function New-AzureNativeTypeDevicesSharedAccessSignatureAuthorizationRule { param ( [parameter(mandatory=$False,HelpMessage='The permissions assigned to the shared access policy.)')] $rights, [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 ) process { return $([SharedAccessSignatureAuthorizationRule]$PSBoundParameters) } } class NetworkRuleSetIpRule { [string] $ipMask [string] $filterName [ArgumentCompletions('Allow')] [string] $action } function New-AzureNativeTypeDevicesNetworkRuleSetIpRule { param ( [parameter(mandatory=$False,HelpMessage='A string that contains the IP address range in CIDR notation for the rule.)')] [string] $ipMask, [parameter(mandatory=$False,HelpMessage='Name of the IP filter rule.)')] [string] $filterName, [parameter(mandatory=$False,HelpMessage='IP Filter Action)')] [string] [ArgumentCompletions('Allow')] $action ) process { return $([NetworkRuleSetIpRule]$PSBoundParameters) } } class NetworkRuleSetProperties { [NetworkRuleSetIpRule[]] $ipRules [ArgumentCompletions('Deny', 'Allow')] [string] $defaultAction [bool] $applyToBuiltInEventHubEndpoint } function New-AzureNativeTypeDevicesNetworkRuleSetProperties { param ( [parameter(mandatory=$False,HelpMessage='List of IP Rules)')] $ipRules, [parameter(mandatory=$False,HelpMessage='Default Action for Network Rule Set)')] [string] [ArgumentCompletions('Deny', 'Allow')] $defaultAction, [parameter(mandatory=$False,HelpMessage='If True, then Network Rule Set is also applied to BuiltIn EventHub EndPoint of IotHub)')] [bool] $applyToBuiltInEventHubEndpoint ) process { return $([NetworkRuleSetProperties]$PSBoundParameters) } } class RouteProperties { [string] $condition [bool] $isEnabled [string[]] $endpointNames [ArgumentCompletions('Invalid', 'DeviceMessages', 'TwinChangeEvents', 'DeviceLifecycleEvents', 'DeviceJobLifecycleEvents')] [string] $source [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='Used to specify whether a route is enabled.)')] [bool] $isEnabled, [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] [ArgumentCompletions('Invalid', 'DeviceMessages', 'TwinChangeEvents', 'DeviceLifecycleEvents', 'DeviceJobLifecycleEvents')] $source, [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 FallbackRouteProperties { [string] $condition [bool] $isEnabled [string[]] $endpointNames [ArgumentCompletions('Invalid', 'DeviceMessages', 'TwinChangeEvents', 'DeviceLifecycleEvents', 'DeviceJobLifecycleEvents')] [string] $source [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='Used to specify whether the fallback route is enabled.)')] [bool] $isEnabled, [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] [ArgumentCompletions('Invalid', 'DeviceMessages', 'TwinChangeEvents', 'DeviceLifecycleEvents', 'DeviceJobLifecycleEvents')] $source, [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 RoutingEventHubProperties { [ArgumentCompletions('keyBased', 'identityBased')] [string] $authenticationType [string] $subscriptionId [string] $resourceGroup [string] $endpointUri [string] $connectionString [string] $name [string] $entityPath [string] $id } function New-AzureNativeTypeDevicesRoutingEventHubProperties { param ( [parameter(mandatory=$False,HelpMessage='Method used to authenticate against the event hub endpoint)')] [string] [ArgumentCompletions('keyBased', 'identityBased')] $authenticationType, [parameter(mandatory=$False,HelpMessage='The subscription identifier of the event hub endpoint.)')] [string] $subscriptionId, [parameter(mandatory=$False,HelpMessage='The name of the resource group of the event hub endpoint.)')] [string] $resourceGroup, [parameter(mandatory=$False,HelpMessage='The url of the event hub endpoint. It must include the protocol sb://)')] [string] $endpointUri, [parameter(mandatory=$False,HelpMessage='The connection string of the event hub endpoint. )')] [string] $connectionString, [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='Event hub name on the event hub namespace)')] [string] $entityPath, [parameter(mandatory=$False,HelpMessage='Id of the event hub endpoint)')] [string] $id ) process { return $([RoutingEventHubProperties]$PSBoundParameters) } } class RoutingServiceBusQueueEndpointProperties { [ArgumentCompletions('keyBased', 'identityBased')] [string] $authenticationType [string] $subscriptionId [string] $resourceGroup [string] $endpointUri [string] $connectionString [string] $name [string] $entityPath [string] $id } function New-AzureNativeTypeDevicesRoutingServiceBusQueueEndpointProperties { param ( [parameter(mandatory=$False,HelpMessage='Method used to authenticate against the service bus queue endpoint)')] [string] [ArgumentCompletions('keyBased', 'identityBased')] $authenticationType, [parameter(mandatory=$False,HelpMessage='The subscription identifier of the service bus queue endpoint.)')] [string] $subscriptionId, [parameter(mandatory=$False,HelpMessage='The name of the resource group of the service bus queue endpoint.)')] [string] $resourceGroup, [parameter(mandatory=$False,HelpMessage='The url of the service bus queue endpoint. It must include the protocol sb://)')] [string] $endpointUri, [parameter(mandatory=$False,HelpMessage='The connection string of the service bus queue endpoint.)')] [string] $connectionString, [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='Queue name on the service bus namespace)')] [string] $entityPath, [parameter(mandatory=$False,HelpMessage='Id of the service bus queue endpoint)')] [string] $id ) process { return $([RoutingServiceBusQueueEndpointProperties]$PSBoundParameters) } } class RoutingStorageContainerProperties { [string] $encoding [string] $containerName [ArgumentCompletions('keyBased', 'identityBased')] [string] $authenticationType [string] $id [string] $fileNameFormat [int] $maxChunkSizeInBytes [string] $resourceGroup [string] $connectionString [string] $endpointUri [string] $name [int] $batchFrequencyInSeconds [string] $subscriptionId } function New-AzureNativeTypeDevicesRoutingStorageContainerProperties { param ( [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='The name of storage container in the storage account.)')] [string] $containerName, [parameter(mandatory=$False,HelpMessage='Method used to authenticate against the storage endpoint)')] [string] [ArgumentCompletions('keyBased', 'identityBased')] $authenticationType, [parameter(mandatory=$False,HelpMessage='Id of the storage container endpoint)')] [string] $id, [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='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='The name of the resource group of the storage account.)')] [string] $resourceGroup, [parameter(mandatory=$False,HelpMessage='The connection string of the storage account.)')] [string] $connectionString, [parameter(mandatory=$False,HelpMessage='The url of the storage endpoint. It must include the protocol https://)')] [string] $endpointUri, [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='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='The subscription identifier of the storage account.)')] [string] $subscriptionId ) process { return $([RoutingStorageContainerProperties]$PSBoundParameters) } } class RoutingServiceBusTopicEndpointProperties { [ArgumentCompletions('keyBased', 'identityBased')] [string] $authenticationType [string] $subscriptionId [string] $resourceGroup [string] $endpointUri [string] $connectionString [string] $name [string] $entityPath [string] $id } function New-AzureNativeTypeDevicesRoutingServiceBusTopicEndpointProperties { param ( [parameter(mandatory=$False,HelpMessage='Method used to authenticate against the service bus topic endpoint)')] [string] [ArgumentCompletions('keyBased', 'identityBased')] $authenticationType, [parameter(mandatory=$False,HelpMessage='The subscription identifier of the service bus topic endpoint.)')] [string] $subscriptionId, [parameter(mandatory=$False,HelpMessage='The name of the resource group of the service bus topic endpoint.)')] [string] $resourceGroup, [parameter(mandatory=$False,HelpMessage='The url of the service bus topic endpoint. It must include the protocol sb://)')] [string] $endpointUri, [parameter(mandatory=$False,HelpMessage='The connection string of the service bus topic endpoint.)')] [string] $connectionString, [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='Queue name on the service bus topic)')] [string] $entityPath, [parameter(mandatory=$False,HelpMessage='Id of the service bus topic endpoint)')] [string] $id ) process { return $([RoutingServiceBusTopicEndpointProperties]$PSBoundParameters) } } class RoutingEndpoints { [RoutingEventHubProperties[]] $eventHubs [RoutingServiceBusQueueEndpointProperties[]] $serviceBusQueues [RoutingStorageContainerProperties[]] $storageContainers [RoutingServiceBusTopicEndpointProperties[]] $serviceBusTopics } function New-AzureNativeTypeDevicesRoutingEndpoints { param ( [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 storage container endpoints that IoT hub routes messages to, based on the routing rules.)')] $storageContainers, [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 EnrichmentProperties { [string[]] $endpointNames [string] $value [string] $key } function New-AzureNativeTypeDevicesEnrichmentProperties { param ( [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, [parameter(mandatory=$False,HelpMessage='The key or name for the enrichment property.)')] [string] $key ) process { return $([EnrichmentProperties]$PSBoundParameters) } } class RoutingProperties { [RouteProperties[]] $routes [FallbackRouteProperties] $fallbackRoute [RoutingEndpoints] $endpoints [EnrichmentProperties[]] $enrichments } function New-AzureNativeTypeDevicesRoutingProperties { param ( [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 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, [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 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 ) process { return $([RoutingProperties]$PSBoundParameters) } } class FeedbackProperties { [string] $lockDurationAsIso8601 [string] $ttlAsIso8601 [int] $maxDeliveryCount } function New-AzureNativeTypeDevicesFeedbackProperties { param ( [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, [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 ) process { return $([FeedbackProperties]$PSBoundParameters) } } class CloudToDeviceProperties { [string] $defaultTtlAsIso8601 [FeedbackProperties] $feedback [int] $maxDeliveryCount } function New-AzureNativeTypeDevicesCloudToDeviceProperties { param ( [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, [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 ) process { return $([CloudToDeviceProperties]$PSBoundParameters) } } class IpFilterRule { [string] $ipMask [string] $filterName [ArgumentCompletions('Accept', 'Reject')] [object] $action } function New-AzureNativeTypeDevicesIpFilterRule { param ( [parameter(mandatory=$False,HelpMessage='A string that contains the IP address range in CIDR notation for the rule.)')] [string] $ipMask, [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 ) process { return $([IpFilterRule]$PSBoundParameters) } } class IotHubProperties { [SharedAccessSignatureAuthorizationRule[]] $authorizationPolicies [NetworkRuleSetProperties] $networkRuleSets [object] $storageEndpoints [object] $messagingEndpoints [object] $eventHubEndpoints [string] $minTlsVersion [bool] $enableFileUploadNotifications [PrivateEndpointConnection[]] $privateEndpointConnections [ArgumentCompletions('None', 'DeviceManagement')] [string] $features [RoutingProperties] $routing [ArgumentCompletions('Enabled', 'Disabled')] [string] $publicNetworkAccess [CloudToDeviceProperties] $cloudToDevice [string] $comments [IpFilterRule[]] $ipFilterRules } class StorageEndpointProperties { [string] $connectionString [ArgumentCompletions('keyBased', 'identityBased')] [string] $authenticationType [string] $sasTtlAsIso8601 [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='Specifies authentication type being used for connecting to the storage account.)')] [string] [ArgumentCompletions('keyBased', 'identityBased')] $authenticationType, [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='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 { [string] $lockDurationAsIso8601 [string] $ttlAsIso8601 [int] $maxDeliveryCount } function New-AzureNativeTypeDevicesMessagingEndpointProperties { param ( [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, [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 ) 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='The shared access policies you can use to secure a connection to the IoT hub.)')] $authorizationPolicies, [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 messaging endpoint properties for the file upload notification queue.)')] [MessagingEndpointProperties] $messagingEndpoints, [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, [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='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 capabilities and features enabled for the IoT hub.)')] [string] [ArgumentCompletions('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='Whether requests from Public Network are allowed)')] [string] [ArgumentCompletions('Enabled', 'Disabled')] $publicNetworkAccess, [parameter(mandatory=$False,HelpMessage='The IoT hub cloud-to-device messaging properties.)')] [CloudToDeviceProperties] $cloudToDevice, [parameter(mandatory=$False,HelpMessage='IoT hub comments.)')] [string] $comments, [parameter(mandatory=$False,HelpMessage='The IP filter rules.)')] $ipFilterRules ) process { return $([IotHubProperties]$PSBoundParameters) } } class IotHubSkuInfo { [int] $capacity [ArgumentCompletions('F1', 'S1', 'S2', 'S3', 'B1', 'B2', 'B3')] [string] $name } function New-AzureNativeTypeDevicesIotHubSkuInfo { param ( [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, [parameter(mandatory=$False,HelpMessage='The name of the SKU.)')] [string] [ArgumentCompletions('F1', 'S1', 'S2', 'S3', 'B1', 'B2', 'B3')] $name ) process { return $([IotHubSkuInfo]$PSBoundParameters) } } function New-AzureNativeDevicesIotHubResource { [Alias('azure_native_devices_iothubresource')] param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group that contains the IoT hub.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The resource location.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='The name of the IoT hub.)')] [string] $resourceName, [parameter(mandatory=$False,HelpMessage='IotHub properties)')] [IotHubProperties] $properties, [parameter(mandatory=$False,HelpMessage='The resource tags.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='IotHub SKU info)')] [IotHubSkuInfo] $sku, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(HelpMessage='Specifies a list of named output properties that should be treated as secrets, which means they will be encrypted. It augments the list of values that Pulumi detects, based on secret inputs to the resource.')] [string[]] $PulumiSecretOutputs, [parameter(HelpMessage='The aliases parameter provides a list of aliases for a resource or component resource. If youre changing the name, type, or parent path of a resource or component resource, you can add the old name to the list of aliases for a resource to ensure that existing resources will be migrated to the new name instead of being deleted and replaced with the new named resource.')] [string[]] $PulumiAliases, [parameter(HelpMessage='The customTimeouts parameter provides a set of custom timeouts for create, update, and delete operations on a resource. These timeouts are specified using a duration string such as 5m (5 minutes), 40s (40 seconds), or 1d (1 day). Supported duration units are ns, us (or µs), ms, s, m, and h (nanoseconds, microseconds, milliseconds, seconds, minutes, and hours, respectively).')] [pulumicustomtimeouts] $PulumiCustomTimeouts, [parameter(HelpMessage='Setting the PulumiDeleteBeforeReplace parameter to true means that Pulumi will delete the existing resource before creating its replacement. Be aware that this behavior has a cascading impact on dependencies so more resources may be replaced, which can lead to downtime. However, this option may be necessary for some resources that manage scarce resources behind the scenes, and/or resources that cannot exist side-by-side.')] [bool] $PulumiDeleteBeforeReplace, [parameter(HelpMessage='Creates a list of explicit dependencies between resources.The DependsOn parameter ensures that resource creation, update, and deletion operations are done in the correct order.')] [object[]] $PulumiDependsOn, [parameter(HelpMessage='Specifies a list of properties that Pulumi will ignore when it updates existing resources. Any properties specified in this list that are also specified in the resources arguments will only be used when creating the resource.')] [string[]] $PulumiIgnoreChanges, [parameter(HelpMessage='Imports an existing cloud resource so that Pulumi can manage it. To import a resource, first specify the PulumiImport parameter with the resources ID')] [string] $PulumiImport = [NullString]::Value, [parameter(HelpMessage='Specifies a parent for a resource. It is used to associate children with the parents that encapsulate or are responsible for them.')] [object] $PulumiParent = [NullString]::Value, [parameter(HelpMessage='Marks a resource as protected. A protected resource cannot be deleted directly, and it will be an error to do a Pulumi deployment which tries to delete a protected resource for any reason.')] [bool] $PulumiProtect, [parameter(HelpMessage='Sets a provider for the resource. The default is to inherit this value from the parent resource, and to use the ambient provider specified by Pulumi configuration for resources without a parent.')] [object] $PulumiProvider = [NullString]::Value, [parameter(HelpMessage='Sets a list of providers for the resource and its children. This list is combined with resource parents providers lists. If no value is provided, the providers list is identical to the parent. When determining which provider to use for a resource, the providers list is used if provider is not supplied.')] [object[]] $PulumiProviders, [parameter(HelpMessage='Used to indicate that changes to certain properties on a resource should force a replacement of the resource instead of an in-place update. Typically users rely on the resource provider to make this decision based on whether the input property is one that the provider knows how to update in place, or if not, requires a replacement to modify. However, there are cases where users want to replace a resource on a change to an input property even if the resource provider itself doesnt believe it has to replace the resource.')] [string[]] $PulumiReplaceOnChanges, [parameter(HelpMessage='Marks a resource to be retained. If this option is set then Pulumi will not call through to the resource providers Delete method when deleting or replacing the resource during pulumi up or pulumi destroy. As a result, the resource will not be deleted from the backing cloud provider, but will be removed from the Pulumi state.')] [bool] $PulumiRetainOnDelete, [parameter(HelpMessage='Specifies a provider version to use when operating on a resource. This version overrides the version information inferred from the current package. This option should be used rarely.')] [string] $PulumiProviderVersion = [NullString]::Value ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devices:IotHubResource") $resource.options.additionalSecretOutputs = $PulumiSecretOutputs $resource.options.aliases = $PulumiAliases $resource.options.customTimeouts = $PulumiCustomTimeouts $resource.options.deleteBeforeReplace = $PulumiDeleteBeforeReplace $resource.options.ignoreChanges = $PulumiIgnoreChanges $resource.options.import = if([string]::IsNullOrEmpty($PulumiImport)) { [NullString]::Value } else { $PulumiImport } $resource.options.protect = $PulumiProtect $resource.options.replaceOnChanges = $PulumiReplaceOnChanges $resource.options.retainOnDelete = $PulumiRetainOnDelete $resource.options.version = if([string]::IsNullOrEmpty($PulumiProviderVersion)) { [NullString]::Value } else { $PulumiProviderVersion } foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.options.dependson += $Dependency.Reference() } else { $resource.options.dependson += $Dependency } } if($PulumiParent -is [pulumiresource]) { $resource.options.parent = $PulumiParent.Reference() } else { $resource.options.parent = $PulumiParent } foreach($provider in $PulumiProviders) { if($provider -is [pulumiprovider]) { $resource.options.providers += $provider.Reference() } else { $resource.options.providers += $provider } } if($PulumiProvider -is [pulumiprovider]) { $resource.options.provider = $PulumiProvider.Reference() } else { $resource.options.provider = $PulumiProvider } $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["sku"] = $sku if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'resourceName') { $resource.properties["resourceName"] = $resourceName } if($PSBoundParameters.Keys -icontains 'properties') { $resource.properties["properties"] = $properties } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } $global:pulumiresources += $resource return $resource } } function New-AzureNativeDevicesIotDpsResourcePrivateEndpointConnection { [Alias('azure_native_devices_iotdpsresourceprivateendpointconnection')] param ( [parameter(mandatory=$False,HelpMessage='The properties of a private endpoint connection)')] [PrivateEndpointConnectionProperties] $properties, [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 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, [parameter(HelpMessage='Specifies a list of named output properties that should be treated as secrets, which means they will be encrypted. It augments the list of values that Pulumi detects, based on secret inputs to the resource.')] [string[]] $PulumiSecretOutputs, [parameter(HelpMessage='The aliases parameter provides a list of aliases for a resource or component resource. If youre changing the name, type, or parent path of a resource or component resource, you can add the old name to the list of aliases for a resource to ensure that existing resources will be migrated to the new name instead of being deleted and replaced with the new named resource.')] [string[]] $PulumiAliases, [parameter(HelpMessage='The customTimeouts parameter provides a set of custom timeouts for create, update, and delete operations on a resource. These timeouts are specified using a duration string such as 5m (5 minutes), 40s (40 seconds), or 1d (1 day). Supported duration units are ns, us (or µs), ms, s, m, and h (nanoseconds, microseconds, milliseconds, seconds, minutes, and hours, respectively).')] [pulumicustomtimeouts] $PulumiCustomTimeouts, [parameter(HelpMessage='Setting the PulumiDeleteBeforeReplace parameter to true means that Pulumi will delete the existing resource before creating its replacement. Be aware that this behavior has a cascading impact on dependencies so more resources may be replaced, which can lead to downtime. However, this option may be necessary for some resources that manage scarce resources behind the scenes, and/or resources that cannot exist side-by-side.')] [bool] $PulumiDeleteBeforeReplace, [parameter(HelpMessage='Creates a list of explicit dependencies between resources.The DependsOn parameter ensures that resource creation, update, and deletion operations are done in the correct order.')] [object[]] $PulumiDependsOn, [parameter(HelpMessage='Specifies a list of properties that Pulumi will ignore when it updates existing resources. Any properties specified in this list that are also specified in the resources arguments will only be used when creating the resource.')] [string[]] $PulumiIgnoreChanges, [parameter(HelpMessage='Imports an existing cloud resource so that Pulumi can manage it. To import a resource, first specify the PulumiImport parameter with the resources ID')] [string] $PulumiImport = [NullString]::Value, [parameter(HelpMessage='Specifies a parent for a resource. It is used to associate children with the parents that encapsulate or are responsible for them.')] [object] $PulumiParent = [NullString]::Value, [parameter(HelpMessage='Marks a resource as protected. A protected resource cannot be deleted directly, and it will be an error to do a Pulumi deployment which tries to delete a protected resource for any reason.')] [bool] $PulumiProtect, [parameter(HelpMessage='Sets a provider for the resource. The default is to inherit this value from the parent resource, and to use the ambient provider specified by Pulumi configuration for resources without a parent.')] [object] $PulumiProvider = [NullString]::Value, [parameter(HelpMessage='Sets a list of providers for the resource and its children. This list is combined with resource parents providers lists. If no value is provided, the providers list is identical to the parent. When determining which provider to use for a resource, the providers list is used if provider is not supplied.')] [object[]] $PulumiProviders, [parameter(HelpMessage='Used to indicate that changes to certain properties on a resource should force a replacement of the resource instead of an in-place update. Typically users rely on the resource provider to make this decision based on whether the input property is one that the provider knows how to update in place, or if not, requires a replacement to modify. However, there are cases where users want to replace a resource on a change to an input property even if the resource provider itself doesnt believe it has to replace the resource.')] [string[]] $PulumiReplaceOnChanges, [parameter(HelpMessage='Marks a resource to be retained. If this option is set then Pulumi will not call through to the resource providers Delete method when deleting or replacing the resource during pulumi up or pulumi destroy. As a result, the resource will not be deleted from the backing cloud provider, but will be removed from the Pulumi state.')] [bool] $PulumiRetainOnDelete, [parameter(HelpMessage='Specifies a provider version to use when operating on a resource. This version overrides the version information inferred from the current package. This option should be used rarely.')] [string] $PulumiProviderVersion = [NullString]::Value ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devices:IotDpsResourcePrivateEndpointConnection") $resource.options.additionalSecretOutputs = $PulumiSecretOutputs $resource.options.aliases = $PulumiAliases $resource.options.customTimeouts = $PulumiCustomTimeouts $resource.options.deleteBeforeReplace = $PulumiDeleteBeforeReplace $resource.options.ignoreChanges = $PulumiIgnoreChanges $resource.options.import = if([string]::IsNullOrEmpty($PulumiImport)) { [NullString]::Value } else { $PulumiImport } $resource.options.protect = $PulumiProtect $resource.options.replaceOnChanges = $PulumiReplaceOnChanges $resource.options.retainOnDelete = $PulumiRetainOnDelete $resource.options.version = if([string]::IsNullOrEmpty($PulumiProviderVersion)) { [NullString]::Value } else { $PulumiProviderVersion } foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.options.dependson += $Dependency.Reference() } else { $resource.options.dependson += $Dependency } } if($PulumiParent -is [pulumiresource]) { $resource.options.parent = $PulumiParent.Reference() } else { $resource.options.parent = $PulumiParent } foreach($provider in $PulumiProviders) { if($provider -is [pulumiprovider]) { $resource.options.providers += $provider.Reference() } else { $resource.options.providers += $provider } } if($PulumiProvider -is [pulumiprovider]) { $resource.options.provider = $PulumiProvider.Reference() } else { $resource.options.provider = $PulumiProvider } $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 provisioning service.)')] [string] $provisioningServiceName, [parameter(mandatory=$False,HelpMessage='The name of the certificate create or update.)')] [string] $certificateName, [parameter(mandatory=$False,HelpMessage='Base-64 representation of the X509 leaf certificate .cer file or just .pem file content.)')] [string] $certificate, [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='Resource group identifier.)')] [string] $resourceGroupName, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(HelpMessage='Specifies a list of named output properties that should be treated as secrets, which means they will be encrypted. It augments the list of values that Pulumi detects, based on secret inputs to the resource.')] [string[]] $PulumiSecretOutputs, [parameter(HelpMessage='The aliases parameter provides a list of aliases for a resource or component resource. If youre changing the name, type, or parent path of a resource or component resource, you can add the old name to the list of aliases for a resource to ensure that existing resources will be migrated to the new name instead of being deleted and replaced with the new named resource.')] [string[]] $PulumiAliases, [parameter(HelpMessage='The customTimeouts parameter provides a set of custom timeouts for create, update, and delete operations on a resource. These timeouts are specified using a duration string such as 5m (5 minutes), 40s (40 seconds), or 1d (1 day). Supported duration units are ns, us (or µs), ms, s, m, and h (nanoseconds, microseconds, milliseconds, seconds, minutes, and hours, respectively).')] [pulumicustomtimeouts] $PulumiCustomTimeouts, [parameter(HelpMessage='Setting the PulumiDeleteBeforeReplace parameter to true means that Pulumi will delete the existing resource before creating its replacement. Be aware that this behavior has a cascading impact on dependencies so more resources may be replaced, which can lead to downtime. However, this option may be necessary for some resources that manage scarce resources behind the scenes, and/or resources that cannot exist side-by-side.')] [bool] $PulumiDeleteBeforeReplace, [parameter(HelpMessage='Creates a list of explicit dependencies between resources.The DependsOn parameter ensures that resource creation, update, and deletion operations are done in the correct order.')] [object[]] $PulumiDependsOn, [parameter(HelpMessage='Specifies a list of properties that Pulumi will ignore when it updates existing resources. Any properties specified in this list that are also specified in the resources arguments will only be used when creating the resource.')] [string[]] $PulumiIgnoreChanges, [parameter(HelpMessage='Imports an existing cloud resource so that Pulumi can manage it. To import a resource, first specify the PulumiImport parameter with the resources ID')] [string] $PulumiImport = [NullString]::Value, [parameter(HelpMessage='Specifies a parent for a resource. It is used to associate children with the parents that encapsulate or are responsible for them.')] [object] $PulumiParent = [NullString]::Value, [parameter(HelpMessage='Marks a resource as protected. A protected resource cannot be deleted directly, and it will be an error to do a Pulumi deployment which tries to delete a protected resource for any reason.')] [bool] $PulumiProtect, [parameter(HelpMessage='Sets a provider for the resource. The default is to inherit this value from the parent resource, and to use the ambient provider specified by Pulumi configuration for resources without a parent.')] [object] $PulumiProvider = [NullString]::Value, [parameter(HelpMessage='Sets a list of providers for the resource and its children. This list is combined with resource parents providers lists. If no value is provided, the providers list is identical to the parent. When determining which provider to use for a resource, the providers list is used if provider is not supplied.')] [object[]] $PulumiProviders, [parameter(HelpMessage='Used to indicate that changes to certain properties on a resource should force a replacement of the resource instead of an in-place update. Typically users rely on the resource provider to make this decision based on whether the input property is one that the provider knows how to update in place, or if not, requires a replacement to modify. However, there are cases where users want to replace a resource on a change to an input property even if the resource provider itself doesnt believe it has to replace the resource.')] [string[]] $PulumiReplaceOnChanges, [parameter(HelpMessage='Marks a resource to be retained. If this option is set then Pulumi will not call through to the resource providers Delete method when deleting or replacing the resource during pulumi up or pulumi destroy. As a result, the resource will not be deleted from the backing cloud provider, but will be removed from the Pulumi state.')] [bool] $PulumiRetainOnDelete, [parameter(HelpMessage='Specifies a provider version to use when operating on a resource. This version overrides the version information inferred from the current package. This option should be used rarely.')] [string] $PulumiProviderVersion = [NullString]::Value ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devices:DpsCertificate") $resource.options.additionalSecretOutputs = $PulumiSecretOutputs $resource.options.aliases = $PulumiAliases $resource.options.customTimeouts = $PulumiCustomTimeouts $resource.options.deleteBeforeReplace = $PulumiDeleteBeforeReplace $resource.options.ignoreChanges = $PulumiIgnoreChanges $resource.options.import = if([string]::IsNullOrEmpty($PulumiImport)) { [NullString]::Value } else { $PulumiImport } $resource.options.protect = $PulumiProtect $resource.options.replaceOnChanges = $PulumiReplaceOnChanges $resource.options.retainOnDelete = $PulumiRetainOnDelete $resource.options.version = if([string]::IsNullOrEmpty($PulumiProviderVersion)) { [NullString]::Value } else { $PulumiProviderVersion } foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.options.dependson += $Dependency.Reference() } else { $resource.options.dependson += $Dependency } } if($PulumiParent -is [pulumiresource]) { $resource.options.parent = $PulumiParent.Reference() } else { $resource.options.parent = $PulumiParent } foreach($provider in $PulumiProviders) { if($provider -is [pulumiprovider]) { $resource.options.providers += $provider.Reference() } else { $resource.options.providers += $provider } } if($PulumiProvider -is [pulumiprovider]) { $resource.options.provider = $PulumiProvider.Reference() } else { $resource.options.provider = $PulumiProvider } $resource.properties["provisioningServiceName"] = $provisioningServiceName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'certificateName') { $resource.properties["certificateName"] = $certificateName } if($PSBoundParameters.Keys -icontains 'certificate') { $resource.properties["certificate"] = $certificate } if($PSBoundParameters.Keys -icontains 'isVerified') { $resource.properties["isVerified"] = $isVerified } $global:pulumiresources += $resource return $resource } } 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 IoT hub.)')] [string] $resourceName, [parameter(mandatory=$False,HelpMessage='The name of the consumer group to add.)')] [string] $name, [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 Event Hub-compatible endpoint in the IoT hub.)')] [string] $eventHubEndpointName, [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, [parameter(HelpMessage='Specifies a list of named output properties that should be treated as secrets, which means they will be encrypted. It augments the list of values that Pulumi detects, based on secret inputs to the resource.')] [string[]] $PulumiSecretOutputs, [parameter(HelpMessage='The aliases parameter provides a list of aliases for a resource or component resource. If youre changing the name, type, or parent path of a resource or component resource, you can add the old name to the list of aliases for a resource to ensure that existing resources will be migrated to the new name instead of being deleted and replaced with the new named resource.')] [string[]] $PulumiAliases, [parameter(HelpMessage='The customTimeouts parameter provides a set of custom timeouts for create, update, and delete operations on a resource. These timeouts are specified using a duration string such as 5m (5 minutes), 40s (40 seconds), or 1d (1 day). Supported duration units are ns, us (or µs), ms, s, m, and h (nanoseconds, microseconds, milliseconds, seconds, minutes, and hours, respectively).')] [pulumicustomtimeouts] $PulumiCustomTimeouts, [parameter(HelpMessage='Setting the PulumiDeleteBeforeReplace parameter to true means that Pulumi will delete the existing resource before creating its replacement. Be aware that this behavior has a cascading impact on dependencies so more resources may be replaced, which can lead to downtime. However, this option may be necessary for some resources that manage scarce resources behind the scenes, and/or resources that cannot exist side-by-side.')] [bool] $PulumiDeleteBeforeReplace, [parameter(HelpMessage='Creates a list of explicit dependencies between resources.The DependsOn parameter ensures that resource creation, update, and deletion operations are done in the correct order.')] [object[]] $PulumiDependsOn, [parameter(HelpMessage='Specifies a list of properties that Pulumi will ignore when it updates existing resources. Any properties specified in this list that are also specified in the resources arguments will only be used when creating the resource.')] [string[]] $PulumiIgnoreChanges, [parameter(HelpMessage='Imports an existing cloud resource so that Pulumi can manage it. To import a resource, first specify the PulumiImport parameter with the resources ID')] [string] $PulumiImport = [NullString]::Value, [parameter(HelpMessage='Specifies a parent for a resource. It is used to associate children with the parents that encapsulate or are responsible for them.')] [object] $PulumiParent = [NullString]::Value, [parameter(HelpMessage='Marks a resource as protected. A protected resource cannot be deleted directly, and it will be an error to do a Pulumi deployment which tries to delete a protected resource for any reason.')] [bool] $PulumiProtect, [parameter(HelpMessage='Sets a provider for the resource. The default is to inherit this value from the parent resource, and to use the ambient provider specified by Pulumi configuration for resources without a parent.')] [object] $PulumiProvider = [NullString]::Value, [parameter(HelpMessage='Sets a list of providers for the resource and its children. This list is combined with resource parents providers lists. If no value is provided, the providers list is identical to the parent. When determining which provider to use for a resource, the providers list is used if provider is not supplied.')] [object[]] $PulumiProviders, [parameter(HelpMessage='Used to indicate that changes to certain properties on a resource should force a replacement of the resource instead of an in-place update. Typically users rely on the resource provider to make this decision based on whether the input property is one that the provider knows how to update in place, or if not, requires a replacement to modify. However, there are cases where users want to replace a resource on a change to an input property even if the resource provider itself doesnt believe it has to replace the resource.')] [string[]] $PulumiReplaceOnChanges, [parameter(HelpMessage='Marks a resource to be retained. If this option is set then Pulumi will not call through to the resource providers Delete method when deleting or replacing the resource during pulumi up or pulumi destroy. As a result, the resource will not be deleted from the backing cloud provider, but will be removed from the Pulumi state.')] [bool] $PulumiRetainOnDelete, [parameter(HelpMessage='Specifies a provider version to use when operating on a resource. This version overrides the version information inferred from the current package. This option should be used rarely.')] [string] $PulumiProviderVersion = [NullString]::Value ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devices:IotHubResourceEventHubConsumerGroup") $resource.options.additionalSecretOutputs = $PulumiSecretOutputs $resource.options.aliases = $PulumiAliases $resource.options.customTimeouts = $PulumiCustomTimeouts $resource.options.deleteBeforeReplace = $PulumiDeleteBeforeReplace $resource.options.ignoreChanges = $PulumiIgnoreChanges $resource.options.import = if([string]::IsNullOrEmpty($PulumiImport)) { [NullString]::Value } else { $PulumiImport } $resource.options.protect = $PulumiProtect $resource.options.replaceOnChanges = $PulumiReplaceOnChanges $resource.options.retainOnDelete = $PulumiRetainOnDelete $resource.options.version = if([string]::IsNullOrEmpty($PulumiProviderVersion)) { [NullString]::Value } else { $PulumiProviderVersion } foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.options.dependson += $Dependency.Reference() } else { $resource.options.dependson += $Dependency } } if($PulumiParent -is [pulumiresource]) { $resource.options.parent = $PulumiParent.Reference() } else { $resource.options.parent = $PulumiParent } foreach($provider in $PulumiProviders) { if($provider -is [pulumiprovider]) { $resource.options.providers += $provider.Reference() } else { $resource.options.providers += $provider } } if($PulumiProvider -is [pulumiprovider]) { $resource.options.provider = $PulumiProvider.Reference() } else { $resource.options.provider = $PulumiProvider } $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 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 certificate)')] [string] $certificateName, [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 description of an X509 CA Certificate.)')] [CertificateProperties] $properties, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(HelpMessage='Specifies a list of named output properties that should be treated as secrets, which means they will be encrypted. It augments the list of values that Pulumi detects, based on secret inputs to the resource.')] [string[]] $PulumiSecretOutputs, [parameter(HelpMessage='The aliases parameter provides a list of aliases for a resource or component resource. If youre changing the name, type, or parent path of a resource or component resource, you can add the old name to the list of aliases for a resource to ensure that existing resources will be migrated to the new name instead of being deleted and replaced with the new named resource.')] [string[]] $PulumiAliases, [parameter(HelpMessage='The customTimeouts parameter provides a set of custom timeouts for create, update, and delete operations on a resource. These timeouts are specified using a duration string such as 5m (5 minutes), 40s (40 seconds), or 1d (1 day). Supported duration units are ns, us (or µs), ms, s, m, and h (nanoseconds, microseconds, milliseconds, seconds, minutes, and hours, respectively).')] [pulumicustomtimeouts] $PulumiCustomTimeouts, [parameter(HelpMessage='Setting the PulumiDeleteBeforeReplace parameter to true means that Pulumi will delete the existing resource before creating its replacement. Be aware that this behavior has a cascading impact on dependencies so more resources may be replaced, which can lead to downtime. However, this option may be necessary for some resources that manage scarce resources behind the scenes, and/or resources that cannot exist side-by-side.')] [bool] $PulumiDeleteBeforeReplace, [parameter(HelpMessage='Creates a list of explicit dependencies between resources.The DependsOn parameter ensures that resource creation, update, and deletion operations are done in the correct order.')] [object[]] $PulumiDependsOn, [parameter(HelpMessage='Specifies a list of properties that Pulumi will ignore when it updates existing resources. Any properties specified in this list that are also specified in the resources arguments will only be used when creating the resource.')] [string[]] $PulumiIgnoreChanges, [parameter(HelpMessage='Imports an existing cloud resource so that Pulumi can manage it. To import a resource, first specify the PulumiImport parameter with the resources ID')] [string] $PulumiImport = [NullString]::Value, [parameter(HelpMessage='Specifies a parent for a resource. It is used to associate children with the parents that encapsulate or are responsible for them.')] [object] $PulumiParent = [NullString]::Value, [parameter(HelpMessage='Marks a resource as protected. A protected resource cannot be deleted directly, and it will be an error to do a Pulumi deployment which tries to delete a protected resource for any reason.')] [bool] $PulumiProtect, [parameter(HelpMessage='Sets a provider for the resource. The default is to inherit this value from the parent resource, and to use the ambient provider specified by Pulumi configuration for resources without a parent.')] [object] $PulumiProvider = [NullString]::Value, [parameter(HelpMessage='Sets a list of providers for the resource and its children. This list is combined with resource parents providers lists. If no value is provided, the providers list is identical to the parent. When determining which provider to use for a resource, the providers list is used if provider is not supplied.')] [object[]] $PulumiProviders, [parameter(HelpMessage='Used to indicate that changes to certain properties on a resource should force a replacement of the resource instead of an in-place update. Typically users rely on the resource provider to make this decision based on whether the input property is one that the provider knows how to update in place, or if not, requires a replacement to modify. However, there are cases where users want to replace a resource on a change to an input property even if the resource provider itself doesnt believe it has to replace the resource.')] [string[]] $PulumiReplaceOnChanges, [parameter(HelpMessage='Marks a resource to be retained. If this option is set then Pulumi will not call through to the resource providers Delete method when deleting or replacing the resource during pulumi up or pulumi destroy. As a result, the resource will not be deleted from the backing cloud provider, but will be removed from the Pulumi state.')] [bool] $PulumiRetainOnDelete, [parameter(HelpMessage='Specifies a provider version to use when operating on a resource. This version overrides the version information inferred from the current package. This option should be used rarely.')] [string] $PulumiProviderVersion = [NullString]::Value ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:devices:Certificate") $resource.options.additionalSecretOutputs = $PulumiSecretOutputs $resource.options.aliases = $PulumiAliases $resource.options.customTimeouts = $PulumiCustomTimeouts $resource.options.deleteBeforeReplace = $PulumiDeleteBeforeReplace $resource.options.ignoreChanges = $PulumiIgnoreChanges $resource.options.import = if([string]::IsNullOrEmpty($PulumiImport)) { [NullString]::Value } else { $PulumiImport } $resource.options.protect = $PulumiProtect $resource.options.replaceOnChanges = $PulumiReplaceOnChanges $resource.options.retainOnDelete = $PulumiRetainOnDelete $resource.options.version = if([string]::IsNullOrEmpty($PulumiProviderVersion)) { [NullString]::Value } else { $PulumiProviderVersion } foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.options.dependson += $Dependency.Reference() } else { $resource.options.dependson += $Dependency } } if($PulumiParent -is [pulumiresource]) { $resource.options.parent = $PulumiParent.Reference() } else { $resource.options.parent = $PulumiParent } foreach($provider in $PulumiProviders) { if($provider -is [pulumiprovider]) { $resource.options.providers += $provider.Reference() } else { $resource.options.providers += $provider } } if($PulumiProvider -is [pulumiprovider]) { $resource.options.provider = $PulumiProvider.Reference() } else { $resource.options.provider = $PulumiProvider } $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["resourceName"] = $resourceName if($PSBoundParameters.Keys -icontains 'certificateName') { $resource.properties["certificateName"] = $certificateName } if($PSBoundParameters.Keys -icontains 'properties') { $resource.properties["properties"] = $properties } $global:pulumiresources += $resource return $resource } } |