pspulumiyaml.azurenative.netapp.psm1
using module @{ ModuleName = "PSPulumiYaml"; ModuleVersion = "0.0.3"; GUID = "909344e0-a08f-45f6-8177-80e36bb2ba58" } function Invoke-AzureNativeFunctionNetappListVolumeReplications { param ( [parameter(mandatory=$False,HelpMessage='The name of the NetApp account)')] [string] $accountName, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the volume)')] [string] $volumeName, [parameter(mandatory=$False,HelpMessage='The name of the capacity pool)')] [string] $poolName ) process { $arguments = @{} $arguments["accountName"] = $accountName $arguments["poolName"] = $poolName $arguments["resourceGroupName"] = $resourceGroupName $arguments["volumeName"] = $volumeName $functionObject = Invoke-PulumiFunction -Name azure-native:netapp:listVolumeReplications -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionNetappGetPool { param ( [parameter(mandatory=$False,HelpMessage='The name of the NetApp account)')] [string] $accountName, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the capacity pool)')] [string] $poolName ) process { $arguments = @{} $arguments["accountName"] = $accountName $arguments["poolName"] = $poolName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:netapp:getPool -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionNetappGetBackup { param ( [parameter(mandatory=$False,HelpMessage='The name of the NetApp account)')] [string] $accountName, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the backup)')] [string] $backupName, [parameter(mandatory=$False,HelpMessage='The name of the volume)')] [string] $volumeName, [parameter(mandatory=$False,HelpMessage='The name of the capacity pool)')] [string] $poolName ) process { $arguments = @{} $arguments["accountName"] = $accountName $arguments["backupName"] = $backupName $arguments["poolName"] = $poolName $arguments["resourceGroupName"] = $resourceGroupName $arguments["volumeName"] = $volumeName $functionObject = Invoke-PulumiFunction -Name azure-native:netapp:getBackup -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionNetappGetAccount { param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the NetApp account)')] [string] $accountName ) process { $arguments = @{} $arguments["accountName"] = $accountName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:netapp:getAccount -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionNetappGetSubvolume { param ( [parameter(mandatory=$False,HelpMessage='The name of the NetApp account)')] [string] $accountName, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the subvolume.)')] [string] $subvolumeName, [parameter(mandatory=$False,HelpMessage='The name of the volume)')] [string] $volumeName, [parameter(mandatory=$False,HelpMessage='The name of the capacity pool)')] [string] $poolName ) process { $arguments = @{} $arguments["accountName"] = $accountName $arguments["poolName"] = $poolName $arguments["resourceGroupName"] = $resourceGroupName $arguments["subvolumeName"] = $subvolumeName $arguments["volumeName"] = $volumeName $functionObject = Invoke-PulumiFunction -Name azure-native:netapp:getSubvolume -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionNetappGetVolume { param ( [parameter(mandatory=$False,HelpMessage='The name of the NetApp account)')] [string] $accountName, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the volume)')] [string] $volumeName, [parameter(mandatory=$False,HelpMessage='The name of the capacity pool)')] [string] $poolName ) process { $arguments = @{} $arguments["accountName"] = $accountName $arguments["poolName"] = $poolName $arguments["resourceGroupName"] = $resourceGroupName $arguments["volumeName"] = $volumeName $functionObject = Invoke-PulumiFunction -Name azure-native:netapp:getVolume -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionNetappGetVolumeGroup { param ( [parameter(mandatory=$False,HelpMessage='The name of the NetApp account)')] [string] $accountName, [parameter(mandatory=$False,HelpMessage='The name of the volumeGroup)')] [string] $volumeGroupName, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["accountName"] = $accountName $arguments["resourceGroupName"] = $resourceGroupName $arguments["volumeGroupName"] = $volumeGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:netapp:getVolumeGroup -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionNetappGetSnapshot { param ( [parameter(mandatory=$False,HelpMessage='The name of the NetApp account)')] [string] $accountName, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the snapshot)')] [string] $snapshotName, [parameter(mandatory=$False,HelpMessage='The name of the volume)')] [string] $volumeName, [parameter(mandatory=$False,HelpMessage='The name of the capacity pool)')] [string] $poolName ) process { $arguments = @{} $arguments["accountName"] = $accountName $arguments["poolName"] = $poolName $arguments["resourceGroupName"] = $resourceGroupName $arguments["snapshotName"] = $snapshotName $arguments["volumeName"] = $volumeName $functionObject = Invoke-PulumiFunction -Name azure-native:netapp:getSnapshot -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionNetappGetVolumeQuotaRule { param ( [parameter(mandatory=$False,HelpMessage='The name of the NetApp account)')] [string] $accountName, [parameter(mandatory=$False,HelpMessage='The name of volume quota rule)')] [string] $volumeQuotaRuleName, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the volume)')] [string] $volumeName, [parameter(mandatory=$False,HelpMessage='The name of the capacity pool)')] [string] $poolName ) process { $arguments = @{} $arguments["accountName"] = $accountName $arguments["poolName"] = $poolName $arguments["resourceGroupName"] = $resourceGroupName $arguments["volumeName"] = $volumeName $arguments["volumeQuotaRuleName"] = $volumeQuotaRuleName $functionObject = Invoke-PulumiFunction -Name azure-native:netapp:getVolumeQuotaRule -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionNetappGetSubvolumeMetadata { param ( [parameter(mandatory=$False,HelpMessage='The name of the NetApp account)')] [string] $accountName, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the subvolume.)')] [string] $subvolumeName, [parameter(mandatory=$False,HelpMessage='The name of the volume)')] [string] $volumeName, [parameter(mandatory=$False,HelpMessage='The name of the capacity pool)')] [string] $poolName ) process { $arguments = @{} $arguments["accountName"] = $accountName $arguments["poolName"] = $poolName $arguments["resourceGroupName"] = $resourceGroupName $arguments["subvolumeName"] = $subvolumeName $arguments["volumeName"] = $volumeName $functionObject = Invoke-PulumiFunction -Name azure-native:netapp:getSubvolumeMetadata -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionNetappGetSnapshotPolicy { param ( [parameter(mandatory=$False,HelpMessage='The name of the NetApp account)')] [string] $accountName, [parameter(mandatory=$False,HelpMessage='The name of the snapshot policy)')] [string] $snapshotPolicyName, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName ) process { $arguments = @{} $arguments["accountName"] = $accountName $arguments["resourceGroupName"] = $resourceGroupName $arguments["snapshotPolicyName"] = $snapshotPolicyName $functionObject = Invoke-PulumiFunction -Name azure-native:netapp:getSnapshotPolicy -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionNetappGetBackupPolicy { param ( [parameter(mandatory=$False,HelpMessage='The name of the NetApp account)')] [string] $accountName, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Backup policy Name which uniquely identify backup policy.)')] [string] $backupPolicyName ) process { $arguments = @{} $arguments["accountName"] = $accountName $arguments["backupPolicyName"] = $backupPolicyName $arguments["resourceGroupName"] = $resourceGroupName $functionObject = Invoke-PulumiFunction -Name azure-native:netapp:getBackupPolicy -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function New-AzureNativeNetappSnapshot { [Alias('azure_native_netapp_snapshot')] param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Resource location)')] [string] $location, [parameter(mandatory=$False,HelpMessage='The name of the snapshot)')] [string] $snapshotName, [parameter(mandatory=$False,HelpMessage='The name of the NetApp account)')] [string] $accountName, [parameter(mandatory=$False,HelpMessage='The name of the volume)')] [string] $volumeName, [parameter(mandatory=$False,HelpMessage='The name of the capacity pool)')] [string] $poolName, [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:netapp:Snapshot") $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["accountName"] = $accountName $resource.properties["poolName"] = $poolName $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["volumeName"] = $volumeName if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'snapshotName') { $resource.properties["snapshotName"] = $snapshotName } $global:pulumiresources += $resource return $resource } } class AccountEncryption { [string] $keySource } function New-AzureNativeTypeNetappAccountEncryption { param ( [parameter(mandatory=$False,HelpMessage='Encryption Key Source. Possible values are: ''Microsoft.NetApp''.)')] [string] $keySource ) process { return $([AccountEncryption]$PSBoundParameters) } } function New-AzureNativeNetappAccount { [Alias('azure_native_netapp_account')] param ( [parameter(mandatory=$False,HelpMessage='Encryption settings)')] [AccountEncryption] $encryption, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Resource location)')] [string] $location, [parameter(mandatory=$False,HelpMessage='The name of the NetApp account)')] [string] $accountName, [parameter(mandatory=$False,HelpMessage='Active Directories)')] $activeDirectories, [parameter(mandatory=$False,HelpMessage='Resource tags)')] [hashtable] $tags, [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:netapp:Account") $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 if($PSBoundParameters.Keys -icontains 'encryption') { $resource.properties["encryption"] = $encryption } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'accountName') { $resource.properties["accountName"] = $accountName } if($PSBoundParameters.Keys -icontains 'activeDirectories') { $resource.properties["activeDirectories"] = $activeDirectories } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } $global:pulumiresources += $resource return $resource } } function New-AzureNativeNetappBackup { [Alias('azure_native_netapp_backup')] param ( [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Resource location)')] [string] $location, [parameter(mandatory=$False,HelpMessage='The name of the NetApp account)')] [string] $accountName, [parameter(mandatory=$False,HelpMessage='The name of the backup)')] [string] $backupName, [parameter(mandatory=$False,HelpMessage='Label for backup)')] [string] $label, [parameter(mandatory=$False,HelpMessage='The name of the capacity pool)')] [string] $poolName, [parameter(mandatory=$False,HelpMessage='The name of the volume)')] [string] $volumeName, [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:netapp:Backup") $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["accountName"] = $accountName $resource.properties["poolName"] = $poolName $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["volumeName"] = $volumeName if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'backupName') { $resource.properties["backupName"] = $backupName } if($PSBoundParameters.Keys -icontains 'label') { $resource.properties["label"] = $label } $global:pulumiresources += $resource return $resource } } function New-AzureNativeNetappVolumeQuotaRule { [Alias('azure_native_netapp_volumequotarule')] param ( [parameter(mandatory=$False,HelpMessage='The name of the NetApp account)')] [string] $accountName, [parameter(mandatory=$False,HelpMessage='Resource tags.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='UserID/GroupID/SID based on the quota target type. UserID and groupID can be found by running ''id'' or ''getent'' command for the user or group and SID can be found by running <wmic useraccount where name=''user-name'' get sid>)')] [string] $quotaTarget, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Size of quota)')] [int] $quotaSizeInKiBs, [parameter(mandatory=$False,HelpMessage='The name of the volume)')] [string] $volumeName, [parameter(mandatory=$False,HelpMessage='The name of volume quota rule)')] [string] $volumeQuotaRuleName, [parameter(mandatory=$False,HelpMessage='Type of quota)')] [string] [ArgumentCompletions('DefaultUserQuota', 'DefaultGroupQuota', 'IndividualUserQuota', 'IndividualGroupQuota')] $quotaType, [parameter(mandatory=$False,HelpMessage='The name of the capacity pool)')] [string] $poolName, [parameter(mandatory=$False,HelpMessage='The geo-location where the resource lives)')] [string] $location, [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:netapp:VolumeQuotaRule") $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["accountName"] = $accountName $resource.properties["poolName"] = $poolName $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["volumeName"] = $volumeName if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'quotaTarget') { $resource.properties["quotaTarget"] = $quotaTarget } if($PSBoundParameters.Keys -icontains 'quotaSizeInKiBs') { $resource.properties["quotaSizeInKiBs"] = $quotaSizeInKiBs } if($PSBoundParameters.Keys -icontains 'volumeQuotaRuleName') { $resource.properties["volumeQuotaRuleName"] = $volumeQuotaRuleName } if($PSBoundParameters.Keys -icontains 'quotaType') { $resource.properties["quotaType"] = $quotaType } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } $global:pulumiresources += $resource return $resource } } class PlacementKeyValuePairs { [string] $value [string] $key } function New-AzureNativeTypeNetappPlacementKeyValuePairs { param ( [parameter(mandatory=$False,HelpMessage='Value for an application specific parameter for the placement of volumes in the volume group)')] [string] $value, [parameter(mandatory=$False,HelpMessage='Key for an application specific parameter for the placement of volumes in the volume group)')] [string] $key ) process { return $([PlacementKeyValuePairs]$PSBoundParameters) } } class VolumeGroupMetaData { [PlacementKeyValuePairs[]] $globalPlacementRules [string] $groupDescription [string] $applicationIdentifier [string] $deploymentSpecId [ArgumentCompletions('SAP-HANA')] [string] $applicationType } function New-AzureNativeTypeNetappVolumeGroupMetaData { param ( [parameter(mandatory=$False,HelpMessage='Application specific placement rules for the volume group)')] $globalPlacementRules, [parameter(mandatory=$False,HelpMessage='Group Description)')] [string] $groupDescription, [parameter(mandatory=$False,HelpMessage='Application specific identifier)')] [string] $applicationIdentifier, [parameter(mandatory=$False,HelpMessage='Application specific identifier of deployment rules for the volume group)')] [string] $deploymentSpecId, [parameter(mandatory=$False,HelpMessage='Application Type)')] [string] [ArgumentCompletions('SAP-HANA')] $applicationType ) process { return $([VolumeGroupMetaData]$PSBoundParameters) } } function New-AzureNativeNetappVolumeGroup { [Alias('azure_native_netapp_volumegroup')] param ( [parameter(mandatory=$False,HelpMessage='List of volumes from group)')] $volumes, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Resource location)')] [string] $location, [parameter(mandatory=$False,HelpMessage='Volume group details)')] [VolumeGroupMetaData] $groupMetaData, [parameter(mandatory=$False,HelpMessage='The name of the NetApp account)')] [string] $accountName, [parameter(mandatory=$False,HelpMessage='The name of the volumeGroup)')] [string] $volumeGroupName, [parameter(mandatory=$False,HelpMessage='Resource tags)')] [hashtable] $tags, [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:netapp:VolumeGroup") $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["accountName"] = $accountName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'volumes') { $resource.properties["volumes"] = $volumes } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'groupMetaData') { $resource.properties["groupMetaData"] = $groupMetaData } if($PSBoundParameters.Keys -icontains 'volumeGroupName') { $resource.properties["volumeGroupName"] = $volumeGroupName } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } $global:pulumiresources += $resource return $resource } } class DailySchedule { [int] $hour [int] $snapshotsToKeep [int] $usedBytes [int] $minute } function New-AzureNativeTypeNetappDailySchedule { param ( [parameter(mandatory=$False,HelpMessage='Indicates which hour in UTC timezone a snapshot should be taken)')] [int] $hour, [parameter(mandatory=$False,HelpMessage='Daily snapshot count to keep)')] [int] $snapshotsToKeep, [parameter(mandatory=$False,HelpMessage='Resource size in bytes, current storage usage for the volume in bytes)')] [int] $usedBytes, [parameter(mandatory=$False,HelpMessage='Indicates which minute snapshot should be taken)')] [int] $minute ) process { return $([DailySchedule]$PSBoundParameters) } } class MonthlySchedule { [int] $hour [int] $snapshotsToKeep [string] $daysOfMonth [int] $usedBytes [int] $minute } function New-AzureNativeTypeNetappMonthlySchedule { param ( [parameter(mandatory=$False,HelpMessage='Indicates which hour in UTC timezone a snapshot should be taken)')] [int] $hour, [parameter(mandatory=$False,HelpMessage='Monthly snapshot count to keep)')] [int] $snapshotsToKeep, [parameter(mandatory=$False,HelpMessage='Indicates which days of the month snapshot should be taken. A comma delimited string.)')] [string] $daysOfMonth, [parameter(mandatory=$False,HelpMessage='Resource size in bytes, current storage usage for the volume in bytes)')] [int] $usedBytes, [parameter(mandatory=$False,HelpMessage='Indicates which minute snapshot should be taken)')] [int] $minute ) process { return $([MonthlySchedule]$PSBoundParameters) } } class WeeklySchedule { [string] $day [int] $hour [int] $snapshotsToKeep [int] $usedBytes [int] $minute } function New-AzureNativeTypeNetappWeeklySchedule { param ( [parameter(mandatory=$False,HelpMessage='Indicates which weekdays snapshot should be taken, accepts a comma separated list of week day names in english)')] [string] $day, [parameter(mandatory=$False,HelpMessage='Indicates which hour in UTC timezone a snapshot should be taken)')] [int] $hour, [parameter(mandatory=$False,HelpMessage='Weekly snapshot count to keep)')] [int] $snapshotsToKeep, [parameter(mandatory=$False,HelpMessage='Resource size in bytes, current storage usage for the volume in bytes)')] [int] $usedBytes, [parameter(mandatory=$False,HelpMessage='Indicates which minute snapshot should be taken)')] [int] $minute ) process { return $([WeeklySchedule]$PSBoundParameters) } } class HourlySchedule { [int] $minute [int] $usedBytes [int] $snapshotsToKeep } function New-AzureNativeTypeNetappHourlySchedule { param ( [parameter(mandatory=$False,HelpMessage='Indicates which minute snapshot should be taken)')] [int] $minute, [parameter(mandatory=$False,HelpMessage='Resource size in bytes, current storage usage for the volume in bytes)')] [int] $usedBytes, [parameter(mandatory=$False,HelpMessage='Hourly snapshot count to keep)')] [int] $snapshotsToKeep ) process { return $([HourlySchedule]$PSBoundParameters) } } function New-AzureNativeNetappSnapshotPolicy { [Alias('azure_native_netapp_snapshotpolicy')] param ( [parameter(mandatory=$False,HelpMessage='The name of the NetApp account)')] [string] $accountName, [parameter(mandatory=$False,HelpMessage='Schedule for daily snapshots)')] [DailySchedule] $dailySchedule, [parameter(mandatory=$False,HelpMessage='Schedule for monthly snapshots)')] [MonthlySchedule] $monthlySchedule, [parameter(mandatory=$False,HelpMessage='Resource tags)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Schedule for weekly snapshots)')] [WeeklySchedule] $weeklySchedule, [parameter(mandatory=$False,HelpMessage='Schedule for hourly snapshots)')] [HourlySchedule] $hourlySchedule, [parameter(mandatory=$False,HelpMessage='The property to decide policy is enabled or not)')] [bool] $enabled, [parameter(mandatory=$False,HelpMessage='The name of the snapshot policy)')] [string] $snapshotPolicyName, [parameter(mandatory=$False,HelpMessage='Resource location)')] [string] $location, [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:netapp:SnapshotPolicy") $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["accountName"] = $accountName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'dailySchedule') { $resource.properties["dailySchedule"] = $dailySchedule } if($PSBoundParameters.Keys -icontains 'monthlySchedule') { $resource.properties["monthlySchedule"] = $monthlySchedule } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'weeklySchedule') { $resource.properties["weeklySchedule"] = $weeklySchedule } if($PSBoundParameters.Keys -icontains 'hourlySchedule') { $resource.properties["hourlySchedule"] = $hourlySchedule } if($PSBoundParameters.Keys -icontains 'enabled') { $resource.properties["enabled"] = $enabled } if($PSBoundParameters.Keys -icontains 'snapshotPolicyName') { $resource.properties["snapshotPolicyName"] = $snapshotPolicyName } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } $global:pulumiresources += $resource return $resource } } function New-AzureNativeNetappSubvolume { [Alias('azure_native_netapp_subvolume')] param ( [parameter(mandatory=$False,HelpMessage='parent path to the subvolume)')] [string] $parentPath, [parameter(mandatory=$False,HelpMessage='The name of the NetApp account)')] [string] $accountName, [parameter(mandatory=$False,HelpMessage='Truncate subvolume to the provided size in bytes)')] [int] $size, [parameter(mandatory=$False,HelpMessage='Path to the subvolume)')] [string] $path, [parameter(mandatory=$False,HelpMessage='The name of the capacity pool)')] [string] $poolName, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the subvolume.)')] [string] $subvolumeName, [parameter(mandatory=$False,HelpMessage='The name of the volume)')] [string] $volumeName, [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:netapp:Subvolume") $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["accountName"] = $accountName $resource.properties["poolName"] = $poolName $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["volumeName"] = $volumeName if($PSBoundParameters.Keys -icontains 'parentPath') { $resource.properties["parentPath"] = $parentPath } if($PSBoundParameters.Keys -icontains 'size') { $resource.properties["size"] = $size } if($PSBoundParameters.Keys -icontains 'path') { $resource.properties["path"] = $path } if($PSBoundParameters.Keys -icontains 'subvolumeName') { $resource.properties["subvolumeName"] = $subvolumeName } $global:pulumiresources += $resource return $resource } } function New-AzureNativeNetappBackupPolicy { [Alias('azure_native_netapp_backuppolicy')] param ( [parameter(mandatory=$False,HelpMessage='The name of the NetApp account)')] [string] $accountName, [parameter(mandatory=$False,HelpMessage='Resource tags)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='Volumes using current backup policy)')] [int] $volumesAssigned, [parameter(mandatory=$False,HelpMessage='Backup policy Name which uniquely identify backup policy.)')] [string] $backupPolicyName, [parameter(mandatory=$False,HelpMessage='Weekly backups count to keep)')] [int] $weeklyBackupsToKeep, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Monthly backups count to keep)')] [int] $monthlyBackupsToKeep, [parameter(mandatory=$False,HelpMessage='Daily backups count to keep)')] [int] $dailyBackupsToKeep, [parameter(mandatory=$False,HelpMessage='Yearly backups count to keep)')] [int] $yearlyBackupsToKeep, [parameter(mandatory=$False,HelpMessage='A list of volumes assigned to this policy)')] $volumeBackups, [parameter(mandatory=$False,HelpMessage='The property to decide policy is enabled or not)')] [bool] $enabled, [parameter(mandatory=$False,HelpMessage='Resource location)')] [string] $location, [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:netapp:BackupPolicy") $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["accountName"] = $accountName $resource.properties["resourceGroupName"] = $resourceGroupName if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'volumesAssigned') { $resource.properties["volumesAssigned"] = $volumesAssigned } if($PSBoundParameters.Keys -icontains 'backupPolicyName') { $resource.properties["backupPolicyName"] = $backupPolicyName } if($PSBoundParameters.Keys -icontains 'weeklyBackupsToKeep') { $resource.properties["weeklyBackupsToKeep"] = $weeklyBackupsToKeep } if($PSBoundParameters.Keys -icontains 'monthlyBackupsToKeep') { $resource.properties["monthlyBackupsToKeep"] = $monthlyBackupsToKeep } if($PSBoundParameters.Keys -icontains 'dailyBackupsToKeep') { $resource.properties["dailyBackupsToKeep"] = $dailyBackupsToKeep } if($PSBoundParameters.Keys -icontains 'yearlyBackupsToKeep') { $resource.properties["yearlyBackupsToKeep"] = $yearlyBackupsToKeep } if($PSBoundParameters.Keys -icontains 'volumeBackups') { $resource.properties["volumeBackups"] = $volumeBackups } if($PSBoundParameters.Keys -icontains 'enabled') { $resource.properties["enabled"] = $enabled } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } $global:pulumiresources += $resource return $resource } } class VolumeSnapshotProperties { [string] $snapshotPolicyId } function New-AzureNativeTypeNetappVolumeSnapshotProperties { param ( [parameter(mandatory=$False,HelpMessage='Snapshot Policy ResourceId)')] [string] $snapshotPolicyId ) process { return $([VolumeSnapshotProperties]$PSBoundParameters) } } class VolumeBackupProperties { [string] $vaultId [bool] $backupEnabled [bool] $policyEnforced [string] $backupPolicyId } function New-AzureNativeTypeNetappVolumeBackupProperties { param ( [parameter(mandatory=$False,HelpMessage='Vault Resource ID)')] [string] $vaultId, [parameter(mandatory=$False,HelpMessage='Backup Enabled)')] [bool] $backupEnabled, [parameter(mandatory=$False,HelpMessage='Policy Enforced)')] [bool] $policyEnforced, [parameter(mandatory=$False,HelpMessage='Backup Policy Resource ID)')] [string] $backupPolicyId ) process { return $([VolumeBackupProperties]$PSBoundParameters) } } class ReplicationObject { [ArgumentCompletions('src', 'dst')] [string] $endpointType [string] $replicationId [string] $remoteVolumeRegion [ArgumentCompletions('_10minutely', 'hourly', 'daily')] [string] $replicationSchedule [string] $remoteVolumeResourceId } function New-AzureNativeTypeNetappReplicationObject { param ( [parameter(mandatory=$False,HelpMessage='Indicates whether the local volume is the source or destination for the Volume Replication)')] [string] [ArgumentCompletions('src', 'dst')] $endpointType, [parameter(mandatory=$False,HelpMessage='Id)')] [string] $replicationId, [parameter(mandatory=$False,HelpMessage='The remote region for the other end of the Volume Replication.)')] [string] $remoteVolumeRegion, [parameter(mandatory=$False,HelpMessage='Schedule)')] [string] [ArgumentCompletions('_10minutely', 'hourly', 'daily')] $replicationSchedule, [parameter(mandatory=$False,HelpMessage='The resource ID of the remote volume.)')] [string] $remoteVolumeResourceId ) process { return $([ReplicationObject]$PSBoundParameters) } } class VolumePropertiesDataProtection { [VolumeSnapshotProperties] $snapshot [VolumeBackupProperties] $backup [ReplicationObject] $replication } function New-AzureNativeTypeNetappVolumePropertiesDataProtection { param ( [parameter(mandatory=$False,HelpMessage='Snapshot properties.)')] [VolumeSnapshotProperties] $snapshot, [parameter(mandatory=$False,HelpMessage='Backup Properties)')] [VolumeBackupProperties] $backup, [parameter(mandatory=$False,HelpMessage='Replication properties)')] [ReplicationObject] $replication ) process { return $([VolumePropertiesDataProtection]$PSBoundParameters) } } class ExportPolicyRule { [bool] $hasRootAccess [bool] $cifs [bool] $kerberos5iReadWrite [bool] $kerberos5ReadWrite [bool] $nfsv41 [bool] $kerberos5ReadOnly [ArgumentCompletions('Restricted', 'Unrestricted')] [string] $chownMode [bool] $nfsv3 [bool] $unixReadWrite [bool] $kerberos5iReadOnly [bool] $kerberos5pReadWrite [string] $allowedClients [bool] $kerberos5pReadOnly [bool] $unixReadOnly [int] $ruleIndex } function New-AzureNativeTypeNetappExportPolicyRule { param ( [parameter(mandatory=$False,HelpMessage='Has root access to volume)')] [bool] $hasRootAccess, [parameter(mandatory=$False,HelpMessage='Allows CIFS protocol)')] [bool] $cifs, [parameter(mandatory=$False,HelpMessage='Kerberos5i Read and write access. To be use with swagger version 2020-05-01 or later)')] [bool] $kerberos5iReadWrite, [parameter(mandatory=$False,HelpMessage='Kerberos5 Read and write access. To be use with swagger version 2020-05-01 or later)')] [bool] $kerberos5ReadWrite, [parameter(mandatory=$False,HelpMessage='Allows NFSv4.1 protocol. Enable only for NFSv4.1 type volumes)')] [bool] $nfsv41, [parameter(mandatory=$False,HelpMessage='Kerberos5 Read only access. To be use with swagger version 2020-05-01 or later)')] [bool] $kerberos5ReadOnly, [parameter(mandatory=$False,HelpMessage='This parameter specifies who is authorized to change the ownership of a file. restricted - Only root user can change the ownership of the file. unrestricted - Non-root users can change ownership of files that they own.)')] [string] [ArgumentCompletions('Restricted', 'Unrestricted')] $chownMode, [parameter(mandatory=$False,HelpMessage='Allows NFSv3 protocol. Enable only for NFSv3 type volumes)')] [bool] $nfsv3, [parameter(mandatory=$False,HelpMessage='Read and write access)')] [bool] $unixReadWrite, [parameter(mandatory=$False,HelpMessage='Kerberos5i Read only access. To be use with swagger version 2020-05-01 or later)')] [bool] $kerberos5iReadOnly, [parameter(mandatory=$False,HelpMessage='Kerberos5p Read and write access. To be use with swagger version 2020-05-01 or later)')] [bool] $kerberos5pReadWrite, [parameter(mandatory=$False,HelpMessage='Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names)')] [string] $allowedClients, [parameter(mandatory=$False,HelpMessage='Kerberos5p Read only access. To be use with swagger version 2020-05-01 or later)')] [bool] $kerberos5pReadOnly, [parameter(mandatory=$False,HelpMessage='Read only access)')] [bool] $unixReadOnly, [parameter(mandatory=$False,HelpMessage='Order index)')] [int] $ruleIndex ) process { return $([ExportPolicyRule]$PSBoundParameters) } } class VolumePropertiesExportPolicy { [ExportPolicyRule[]] $rules } function New-AzureNativeTypeNetappVolumePropertiesExportPolicy { param ( [parameter(mandatory=$False,HelpMessage='Export policy rule)')] $rules ) process { return $([VolumePropertiesExportPolicy]$PSBoundParameters) } } function New-AzureNativeNetappVolume { [Alias('azure_native_netapp_volume')] param ( [parameter(mandatory=$False,HelpMessage='The name of the NetApp account)')] [string] $accountName, [parameter(mandatory=$False,HelpMessage='A unique file path for the volume. Used when creating mount targets)')] [string] $creationToken, [parameter(mandatory=$False,HelpMessage='What type of volume is this)')] [string] $volumeType, [parameter(mandatory=$False,HelpMessage='Set of protocol types, default NFSv3, CIFS for SMB protocol)')] [string[]] $protocolTypes, [parameter(mandatory=$False,HelpMessage='Encryption Key Source. Possible values are: ''Microsoft.NetApp'')')] [string] $encryptionKeySource, [parameter(mandatory=$False,HelpMessage='The name of the capacity pool)')] [string] $poolName, [parameter(mandatory=$False,HelpMessage='Describe if a volume is KerberosEnabled. To be use with swagger version 2020-05-01 or later)')] [bool] $kerberosEnabled, [parameter(mandatory=$False,HelpMessage='DataProtection type volumes include an object containing details of the replication)')] [VolumePropertiesDataProtection] $dataProtection, [parameter(mandatory=$False,HelpMessage='Specifies whether LDAP is enabled or not for a given NFS volume.)')] [bool] $ldapEnabled, [parameter(mandatory=$False,HelpMessage='The service level of the file system)')] [string] [ArgumentCompletions('Standard', 'Premium', 'Ultra', 'StandardZRS')] $serviceLevel, [parameter(mandatory=$False,HelpMessage='Enables continuously available share property for smb volume. Only applicable for SMB volume)')] [bool] $smbContinuouslyAvailable, [parameter(mandatory=$False,HelpMessage='Set of export policy rules)')] [VolumePropertiesExportPolicy] $exportPolicy, [parameter(mandatory=$False,HelpMessage='The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes)')] [string] $subnetId, [parameter(mandatory=$False,HelpMessage='Enables encryption for in-flight smb3 data. Only applicable for SMB/DualProtocol volume. To be used with swagger version 2020-08-01 or later)')] [bool] $smbEncryption, [parameter(mandatory=$False,HelpMessage='Resource tags)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes.)')] [int] $usageThreshold, [parameter(mandatory=$False,HelpMessage='The security style of volume, default unix, defaults to ntfs for dual protocol or CIFS protocol)')] [string] [ArgumentCompletions('ntfs', 'unix')] $securityStyle, [parameter(mandatory=$False,HelpMessage='Restoring)')] [bool] $isRestoring, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The name of the volume)')] [string] $volumeName, [parameter(mandatory=$False,HelpMessage='UUID v4 or resource identifier used to identify the Backup.)')] [string] $backupId, [parameter(mandatory=$False,HelpMessage='Resource location)')] [string] $location, [parameter(mandatory=$False,HelpMessage=')')] [int] $throughputMibps, [parameter(mandatory=$False,HelpMessage='UUID v4 or resource identifier used to identify the Snapshot.)')] [string] $snapshotId, [parameter(mandatory=$False,HelpMessage='If enabled (true) the volume will contain a read-only snapshot directory which provides access to each of the volume''s snapshots (default to true).)')] [bool] $snapshotDirectoryVisible, [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:netapp:Volume") $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["accountName"] = $accountName $resource.properties["creationToken"] = $creationToken $resource.properties["poolName"] = $poolName $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["subnetId"] = $subnetId $resource.properties["usageThreshold"] = $usageThreshold if($PSBoundParameters.Keys -icontains 'volumeType') { $resource.properties["volumeType"] = $volumeType } if($PSBoundParameters.Keys -icontains 'protocolTypes') { $resource.properties["protocolTypes"] = $protocolTypes } if($PSBoundParameters.Keys -icontains 'encryptionKeySource') { $resource.properties["encryptionKeySource"] = $encryptionKeySource } if($PSBoundParameters.Keys -icontains 'kerberosEnabled') { $resource.properties["kerberosEnabled"] = $kerberosEnabled } if($PSBoundParameters.Keys -icontains 'dataProtection') { $resource.properties["dataProtection"] = $dataProtection } if($PSBoundParameters.Keys -icontains 'ldapEnabled') { $resource.properties["ldapEnabled"] = $ldapEnabled } if($PSBoundParameters.Keys -icontains 'serviceLevel') { $resource.properties["serviceLevel"] = $serviceLevel } if($PSBoundParameters.Keys -icontains 'smbContinuouslyAvailable') { $resource.properties["smbContinuouslyAvailable"] = $smbContinuouslyAvailable } if($PSBoundParameters.Keys -icontains 'exportPolicy') { $resource.properties["exportPolicy"] = $exportPolicy } if($PSBoundParameters.Keys -icontains 'smbEncryption') { $resource.properties["smbEncryption"] = $smbEncryption } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'securityStyle') { $resource.properties["securityStyle"] = $securityStyle } if($PSBoundParameters.Keys -icontains 'isRestoring') { $resource.properties["isRestoring"] = $isRestoring } if($PSBoundParameters.Keys -icontains 'volumeName') { $resource.properties["volumeName"] = $volumeName } if($PSBoundParameters.Keys -icontains 'backupId') { $resource.properties["backupId"] = $backupId } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'throughputMibps') { $resource.properties["throughputMibps"] = $throughputMibps } if($PSBoundParameters.Keys -icontains 'snapshotId') { $resource.properties["snapshotId"] = $snapshotId } if($PSBoundParameters.Keys -icontains 'snapshotDirectoryVisible') { $resource.properties["snapshotDirectoryVisible"] = $snapshotDirectoryVisible } $global:pulumiresources += $resource return $resource } } function New-AzureNativeNetappPool { [Alias('azure_native_netapp_pool')] param ( [parameter(mandatory=$False,HelpMessage='Resource location)')] [string] $location, [parameter(mandatory=$False,HelpMessage='Resource tags)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='The name of the NetApp account)')] [string] $accountName, [parameter(mandatory=$False,HelpMessage='Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104).)')] [int] $size, [parameter(mandatory=$False,HelpMessage='The name of the capacity pool)')] [string] $poolName, [parameter(mandatory=$False,HelpMessage='The name of the resource group.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='The qos type of the pool)')] [string] [ArgumentCompletions('Auto', 'Manual')] $qosType, [parameter(mandatory=$False,HelpMessage='The service level of the file system)')] [string] [ArgumentCompletions('Standard', 'Premium', 'Ultra', 'StandardZRS')] $serviceLevel, [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:netapp:Pool") $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["accountName"] = $accountName $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["serviceLevel"] = $serviceLevel $resource.properties["size"] = $size if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'poolName') { $resource.properties["poolName"] = $poolName } if($PSBoundParameters.Keys -icontains 'qosType') { $resource.properties["qosType"] = $qosType } $global:pulumiresources += $resource return $resource } } |