pspulumiyaml.azurenative.datamigration.psm1
using module @{ ModuleName = "PSPulumiYaml"; ModuleVersion = "0.0.3"; GUID = "909344e0-a08f-45f6-8177-80e36bb2ba58" } function Invoke-AzureNativeFunctionDatamigrationGetFile { param ( [parameter(mandatory=$False,HelpMessage='Name of the service)')] [string] $serviceName, [parameter(mandatory=$False,HelpMessage='Name of the project)')] [string] $projectName, [parameter(mandatory=$False,HelpMessage='Name of the resource group)')] [string] $groupName, [parameter(mandatory=$False,HelpMessage='Name of the File)')] [string] $fileName ) process { $arguments = @{} $arguments["fileName"] = $fileName $arguments["groupName"] = $groupName $arguments["projectName"] = $projectName $arguments["serviceName"] = $serviceName $functionObject = Invoke-PulumiFunction -Name azure-native:datamigration:getFile -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDatamigrationGetService { param ( [parameter(mandatory=$False,HelpMessage='Name of the resource group)')] [string] $groupName, [parameter(mandatory=$False,HelpMessage='Name of the service)')] [string] $serviceName ) process { $arguments = @{} $arguments["groupName"] = $groupName $arguments["serviceName"] = $serviceName $functionObject = Invoke-PulumiFunction -Name azure-native:datamigration:getService -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDatamigrationGetSqlMigrationService { param ( [parameter(mandatory=$False,HelpMessage='Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the SQL Migration Service.)')] [string] $sqlMigrationServiceName ) process { $arguments = @{} $arguments["resourceGroupName"] = $resourceGroupName $arguments["sqlMigrationServiceName"] = $sqlMigrationServiceName $functionObject = Invoke-PulumiFunction -Name azure-native:datamigration:getSqlMigrationService -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDatamigrationGetDatabaseMigrationsSqlDb { param ( [parameter(mandatory=$False,HelpMessage='Complete migration details be included in the response.)')] [string] $expand, [parameter(mandatory=$False,HelpMessage='Optional migration operation ID. If this is provided, then details of migration operation for that ID are retrieved. If not provided (default), then details related to most recent or current operation are retrieved.)')] [string] $migrationOperationId, [parameter(mandatory=$False,HelpMessage='Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage=')')] [string] $sqlDbInstanceName, [parameter(mandatory=$False,HelpMessage='The name of the target database.)')] [string] $targetDbName ) process { $arguments = @{} $arguments["resourceGroupName"] = $resourceGroupName $arguments["sqlDbInstanceName"] = $sqlDbInstanceName $arguments["targetDbName"] = $targetDbName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } if($PSBoundParameters.Keys -icontains 'migrationOperationId') { $arguments["migrationOperationId"] = $migrationOperationId } $functionObject = Invoke-PulumiFunction -Name azure-native:datamigration:getDatabaseMigrationsSqlDb -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDatamigrationGetTask { param ( [parameter(mandatory=$False,HelpMessage='Expand the response)')] [string] $expand, [parameter(mandatory=$False,HelpMessage='Name of the project)')] [string] $projectName, [parameter(mandatory=$False,HelpMessage='Name of the resource group)')] [string] $groupName, [parameter(mandatory=$False,HelpMessage='Name of the service)')] [string] $serviceName, [parameter(mandatory=$False,HelpMessage='Name of the Task)')] [string] $taskName ) process { $arguments = @{} $arguments["groupName"] = $groupName $arguments["projectName"] = $projectName $arguments["serviceName"] = $serviceName $arguments["taskName"] = $taskName if($PSBoundParameters.Keys -icontains 'expand') { $arguments["expand"] = $expand } $functionObject = Invoke-PulumiFunction -Name azure-native:datamigration:getTask -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDatamigrationListSqlMigrationServiceAuthKeys { param ( [parameter(mandatory=$False,HelpMessage='Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the SQL Migration Service.)')] [string] $sqlMigrationServiceName ) process { $arguments = @{} $arguments["resourceGroupName"] = $resourceGroupName $arguments["sqlMigrationServiceName"] = $sqlMigrationServiceName $functionObject = Invoke-PulumiFunction -Name azure-native:datamigration:listSqlMigrationServiceAuthKeys -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDatamigrationGetProject { param ( [parameter(mandatory=$False,HelpMessage='Name of the project)')] [string] $projectName, [parameter(mandatory=$False,HelpMessage='Name of the resource group)')] [string] $groupName, [parameter(mandatory=$False,HelpMessage='Name of the service)')] [string] $serviceName ) process { $arguments = @{} $arguments["groupName"] = $groupName $arguments["projectName"] = $projectName $arguments["serviceName"] = $serviceName $functionObject = Invoke-PulumiFunction -Name azure-native:datamigration:getProject -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } function Invoke-AzureNativeFunctionDatamigrationListSqlMigrationServiceMonitoringData { param ( [parameter(mandatory=$False,HelpMessage='Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the SQL Migration Service.)')] [string] $sqlMigrationServiceName ) process { $arguments = @{} $arguments["resourceGroupName"] = $resourceGroupName $arguments["sqlMigrationServiceName"] = $sqlMigrationServiceName $functionObject = Invoke-PulumiFunction -Name azure-native:datamigration:listSqlMigrationServiceMonitoringData -variableName $([guid]::NewGuid().Guid) -Arguments $arguments return $functionObject } } class SqlConnectionInformation { [bool] $trustServerCertificate [bool] $encryptConnection [string] $authentication [string] $password [string] $dataSource [string] $userName } function New-AzureNativeTypeDatamigrationSqlConnectionInformation { param ( [parameter(mandatory=$False,HelpMessage='Whether to trust server certificate or not.)')] [bool] $trustServerCertificate, [parameter(mandatory=$False,HelpMessage='Whether to encrypt connection or not.)')] [bool] $encryptConnection, [parameter(mandatory=$False,HelpMessage='Authentication type.)')] [string] $authentication, [parameter(mandatory=$False,HelpMessage='Password to connect to source SQL.)')] [string] $password, [parameter(mandatory=$False,HelpMessage='Data source.)')] [string] $dataSource, [parameter(mandatory=$False,HelpMessage='User name to connect to source SQL.)')] [string] $userName ) process { return $([SqlConnectionInformation]$PSBoundParameters) } } class DatabaseMigrationPropertiesSqlDb { [string] $targetDatabaseCollation [string] $migrationService [string] $kind [string] $provisioningError [string] $sourceDatabaseName [string] $scope [string] $migrationOperationId [string[]] $tableList [SqlConnectionInformation] $targetSqlConnection [SqlConnectionInformation] $sourceSqlConnection } function New-AzureNativeTypeDatamigrationDatabaseMigrationPropertiesSqlDb { param ( [parameter(mandatory=$False,HelpMessage='Database collation to be used for the target database.)')] [string] $targetDatabaseCollation, [parameter(mandatory=$False,HelpMessage='Resource Id of the Migration Service.)')] [string] $migrationService, [parameter(mandatory=$False,HelpMessage=' Expected value is ''SqlDb''.)')] [string] $kind, [parameter(mandatory=$False,HelpMessage='Error message for migration provisioning failure, if any.)')] [string] $provisioningError, [parameter(mandatory=$False,HelpMessage='Name of the source database.)')] [string] $sourceDatabaseName, [parameter(mandatory=$False,HelpMessage='Resource Id of the target resource (SQL VM or SQL Managed Instance).)')] [string] $scope, [parameter(mandatory=$False,HelpMessage='ID tracking current migration operation.)')] [string] $migrationOperationId, [parameter(mandatory=$False,HelpMessage='List of tables to copy.)')] [string[]] $tableList, [parameter(mandatory=$False,HelpMessage='Target SQL DB connection details.)')] [SqlConnectionInformation] $targetSqlConnection, [parameter(mandatory=$False,HelpMessage='Source SQL Server connection details.)')] [SqlConnectionInformation] $sourceSqlConnection ) process { return $([DatabaseMigrationPropertiesSqlDb]$PSBoundParameters) } } function New-AzureNativeDatamigrationDatabaseMigrationsSqlDb { [Alias('azure_native_datamigration_databasemigrationssqldb')] param ( [parameter(mandatory=$False,HelpMessage='Database Migration Resource properties for SQL database.)')] [DatabaseMigrationPropertiesSqlDb] $properties, [parameter(mandatory=$False,HelpMessage='Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage=')')] [string] $sqlDbInstanceName, [parameter(mandatory=$False,HelpMessage='The name of the target database.)')] [string] $targetDbName, [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:datamigration:DatabaseMigrationsSqlDb") $resource.options.additionalSecretOutputs = $PulumiSecretOutputs $resource.options.aliases = $PulumiAliases $resource.options.customTimeouts = $PulumiCustomTimeouts $resource.options.deleteBeforeReplace = $PulumiDeleteBeforeReplace $resource.options.ignoreChanges = $PulumiIgnoreChanges $resource.options.import = if([string]::IsNullOrEmpty($PulumiImport)) { [NullString]::Value } else { $PulumiImport } $resource.options.protect = $PulumiProtect $resource.options.replaceOnChanges = $PulumiReplaceOnChanges $resource.options.retainOnDelete = $PulumiRetainOnDelete $resource.options.version = if([string]::IsNullOrEmpty($PulumiProviderVersion)) { [NullString]::Value } else { $PulumiProviderVersion } foreach($Dependency in $DependsOn) { if($Dependency -is [pulumiresource]) { $resource.options.dependson += $Dependency.Reference() } else { $resource.options.dependson += $Dependency } } if($PulumiParent -is [pulumiresource]) { $resource.options.parent = $PulumiParent.Reference() } else { $resource.options.parent = $PulumiParent } foreach($provider in $PulumiProviders) { if($provider -is [pulumiprovider]) { $resource.options.providers += $provider.Reference() } else { $resource.options.providers += $provider } } if($PulumiProvider -is [pulumiprovider]) { $resource.options.provider = $PulumiProvider.Reference() } else { $resource.options.provider = $PulumiProvider } $resource.properties["resourceGroupName"] = $resourceGroupName $resource.properties["sqlDbInstanceName"] = $sqlDbInstanceName if($PSBoundParameters.Keys -icontains 'properties') { $resource.properties["properties"] = $properties } if($PSBoundParameters.Keys -icontains 'targetDbName') { $resource.properties["targetDbName"] = $targetDbName } $global:pulumiresources += $resource return $resource } } class ServiceSku { [string] $tier [string] $name [string] $size [int] $capacity [string] $family } function New-AzureNativeTypeDatamigrationServiceSku { param ( [parameter(mandatory=$False,HelpMessage='The tier of the SKU, such as ''Free'', ''Basic'', ''Standard'', or ''Premium'')')] [string] $tier, [parameter(mandatory=$False,HelpMessage='The unique name of the SKU, such as ''P3'')')] [string] $name, [parameter(mandatory=$False,HelpMessage='The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. ''A1'' for virtual machines)')] [string] $size, [parameter(mandatory=$False,HelpMessage='The capacity of the SKU, if it supports scaling)')] [int] $capacity, [parameter(mandatory=$False,HelpMessage='The SKU family, used when the service has multiple performance classes within a tier, such as ''A'', ''D'', etc. for virtual machines)')] [string] $family ) process { return $([ServiceSku]$PSBoundParameters) } } function New-AzureNativeDatamigrationService { [Alias('azure_native_datamigration_service')] param ( [parameter(mandatory=$False,HelpMessage='The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined)')] [string] $virtualSubnetId, [parameter(mandatory=$False,HelpMessage='The public key of the service, used to encrypt secrets sent to the service)')] [string] $publicKey, [parameter(mandatory=$False,HelpMessage='Service SKU)')] [ServiceSku] $sku, [parameter(mandatory=$False,HelpMessage='Resource tags.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='Resource location.)')] [string] $location, [parameter(mandatory=$False,HelpMessage='Name of the resource group)')] [string] $groupName, [parameter(mandatory=$False,HelpMessage='Name of the service)')] [string] $serviceName, [parameter(mandatory=$False,HelpMessage='The resource kind. Only ''vm'' (the default) is supported.)')] [string] $kind, [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:datamigration:Service") $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["groupName"] = $groupName $resource.properties["virtualSubnetId"] = $virtualSubnetId if($PSBoundParameters.Keys -icontains 'publicKey') { $resource.properties["publicKey"] = $publicKey } if($PSBoundParameters.Keys -icontains 'sku') { $resource.properties["sku"] = $sku } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'serviceName') { $resource.properties["serviceName"] = $serviceName } if($PSBoundParameters.Keys -icontains 'kind') { $resource.properties["kind"] = $kind } $global:pulumiresources += $resource return $resource } } function New-AzureNativeDatamigrationSqlMigrationService { [Alias('azure_native_datamigration_sqlmigrationservice')] param ( [parameter(mandatory=$False,HelpMessage=')')] [string] $location, [parameter(mandatory=$False,HelpMessage='Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.)')] [string] $resourceGroupName, [parameter(mandatory=$False,HelpMessage='Name of the SQL Migration Service.)')] [string] $sqlMigrationServiceName, [parameter(mandatory=$False,HelpMessage=')')] [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:datamigration:SqlMigrationService") $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 'location') { $resource.properties["location"] = $location } if($PSBoundParameters.Keys -icontains 'sqlMigrationServiceName') { $resource.properties["sqlMigrationServiceName"] = $sqlMigrationServiceName } if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } $global:pulumiresources += $resource return $resource } } class SqlConnectionInfo { [bool] $encryptConnection [ArgumentCompletions('SqlOnPrem')] [string] $platform [string] $password [string] $additionalSettings [string] $userName [ArgumentCompletions('None', 'WindowsAuthentication', 'SqlAuthentication', 'ActiveDirectoryIntegrated', 'ActiveDirectoryPassword')] [string] $authentication [string] $type [bool] $trustServerCertificate [string] $dataSource } function New-AzureNativeTypeDatamigrationSqlConnectionInfo { param ( [parameter(mandatory=$False,HelpMessage='Whether to encrypt the connection)')] [bool] $encryptConnection, [parameter(mandatory=$False,HelpMessage='Server platform type for connection)')] [string] [ArgumentCompletions('SqlOnPrem')] $platform, [parameter(mandatory=$False,HelpMessage='Password credential.)')] [string] $password, [parameter(mandatory=$False,HelpMessage='Additional connection settings)')] [string] $additionalSettings, [parameter(mandatory=$False,HelpMessage='User name)')] [string] $userName, [parameter(mandatory=$False,HelpMessage='Authentication type to use for connection)')] [string] [ArgumentCompletions('None', 'WindowsAuthentication', 'SqlAuthentication', 'ActiveDirectoryIntegrated', 'ActiveDirectoryPassword')] $authentication, [parameter(mandatory=$False,HelpMessage='Type of connection info Expected value is ''SqlConnectionInfo''.)')] [string] $type, [parameter(mandatory=$False,HelpMessage='Whether to trust the server certificate)')] [bool] $trustServerCertificate, [parameter(mandatory=$False,HelpMessage='Data source in the format Protocol:MachineName\SQLServerInstanceName,PortNumber)')] [string] $dataSource ) process { return $([SqlConnectionInfo]$PSBoundParameters) } } function New-AzureNativeDatamigrationProject { [Alias('azure_native_datamigration_project')] param ( [parameter(mandatory=$False,HelpMessage='Source platform for the project)')] [string] [ArgumentCompletions('SQL', 'Unknown')] $sourcePlatform, [parameter(mandatory=$False,HelpMessage='Resource tags.)')] [hashtable] $tags, [parameter(mandatory=$False,HelpMessage='Name of the resource group)')] [string] $groupName, [parameter(mandatory=$False,HelpMessage='Information for connecting to source)')] [SqlConnectionInfo] $sourceConnectionInfo, [parameter(mandatory=$False,HelpMessage='Name of the service)')] [string] $serviceName, [parameter(mandatory=$False,HelpMessage='Information for connecting to target)')] [SqlConnectionInfo] $targetConnectionInfo, [parameter(mandatory=$False,HelpMessage='Target platform for the project)')] [string] [ArgumentCompletions('SQLDB', 'Unknown')] $targetPlatform, [parameter(mandatory=$False,HelpMessage='List of DatabaseInfo)')] $databasesInfo, [parameter(mandatory=$False,HelpMessage='Name of the project)')] [string] $projectName, [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:datamigration:Project") $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["groupName"] = $groupName $resource.properties["serviceName"] = $serviceName $resource.properties["sourcePlatform"] = $sourcePlatform $resource.properties["targetPlatform"] = $targetPlatform if($PSBoundParameters.Keys -icontains 'tags') { $resource.properties["tags"] = $tags } if($PSBoundParameters.Keys -icontains 'sourceConnectionInfo') { $resource.properties["sourceConnectionInfo"] = $sourceConnectionInfo } if($PSBoundParameters.Keys -icontains 'targetConnectionInfo') { $resource.properties["targetConnectionInfo"] = $targetConnectionInfo } if($PSBoundParameters.Keys -icontains 'databasesInfo') { $resource.properties["databasesInfo"] = $databasesInfo } if($PSBoundParameters.Keys -icontains 'projectName') { $resource.properties["projectName"] = $projectName } if($PSBoundParameters.Keys -icontains 'location') { $resource.properties["location"] = $location } $global:pulumiresources += $resource return $resource } } class ProjectFileProperties { [string] $filePath [string] $mediaType [string] $extension } function New-AzureNativeTypeDatamigrationProjectFileProperties { param ( [parameter(mandatory=$False,HelpMessage='Relative path of this file resource. This property can be set when creating or updating the file resource.)')] [string] $filePath, [parameter(mandatory=$False,HelpMessage='File content type. This property can be modified to reflect the file content type.)')] [string] $mediaType, [parameter(mandatory=$False,HelpMessage='Optional File extension. If submitted it should not have a leading period and must match the extension from filePath.)')] [string] $extension ) process { return $([ProjectFileProperties]$PSBoundParameters) } } function New-AzureNativeDatamigrationFile { [Alias('azure_native_datamigration_file')] param ( [parameter(mandatory=$False,HelpMessage='Name of the service)')] [string] $serviceName, [parameter(mandatory=$False,HelpMessage='Name of the project)')] [string] $projectName, [parameter(mandatory=$False,HelpMessage='Name of the resource group)')] [string] $groupName, [parameter(mandatory=$False,HelpMessage='Name of the File)')] [string] $fileName, [parameter(mandatory=$False,HelpMessage='Custom file properties)')] [ProjectFileProperties] $properties, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(HelpMessage='Specifies a list of named output properties that should be treated as secrets, which means they will be encrypted. It augments the list of values that Pulumi detects, based on secret inputs to the resource.')] [string[]] $PulumiSecretOutputs, [parameter(HelpMessage='The aliases parameter provides a list of aliases for a resource or component resource. If youre changing the name, type, or parent path of a resource or component resource, you can add the old name to the list of aliases for a resource to ensure that existing resources will be migrated to the new name instead of being deleted and replaced with the new named resource.')] [string[]] $PulumiAliases, [parameter(HelpMessage='The customTimeouts parameter provides a set of custom timeouts for create, update, and delete operations on a resource. These timeouts are specified using a duration string such as 5m (5 minutes), 40s (40 seconds), or 1d (1 day). Supported duration units are ns, us (or µs), ms, s, m, and h (nanoseconds, microseconds, milliseconds, seconds, minutes, and hours, respectively).')] [pulumicustomtimeouts] $PulumiCustomTimeouts, [parameter(HelpMessage='Setting the PulumiDeleteBeforeReplace parameter to true means that Pulumi will delete the existing resource before creating its replacement. Be aware that this behavior has a cascading impact on dependencies so more resources may be replaced, which can lead to downtime. However, this option may be necessary for some resources that manage scarce resources behind the scenes, and/or resources that cannot exist side-by-side.')] [bool] $PulumiDeleteBeforeReplace, [parameter(HelpMessage='Creates a list of explicit dependencies between resources.The DependsOn parameter ensures that resource creation, update, and deletion operations are done in the correct order.')] [object[]] $PulumiDependsOn, [parameter(HelpMessage='Specifies a list of properties that Pulumi will ignore when it updates existing resources. Any properties specified in this list that are also specified in the resources arguments will only be used when creating the resource.')] [string[]] $PulumiIgnoreChanges, [parameter(HelpMessage='Imports an existing cloud resource so that Pulumi can manage it. To import a resource, first specify the PulumiImport parameter with the resources ID')] [string] $PulumiImport = [NullString]::Value, [parameter(HelpMessage='Specifies a parent for a resource. It is used to associate children with the parents that encapsulate or are responsible for them.')] [object] $PulumiParent = [NullString]::Value, [parameter(HelpMessage='Marks a resource as protected. A protected resource cannot be deleted directly, and it will be an error to do a Pulumi deployment which tries to delete a protected resource for any reason.')] [bool] $PulumiProtect, [parameter(HelpMessage='Sets a provider for the resource. The default is to inherit this value from the parent resource, and to use the ambient provider specified by Pulumi configuration for resources without a parent.')] [object] $PulumiProvider = [NullString]::Value, [parameter(HelpMessage='Sets a list of providers for the resource and its children. This list is combined with resource parents providers lists. If no value is provided, the providers list is identical to the parent. When determining which provider to use for a resource, the providers list is used if provider is not supplied.')] [object[]] $PulumiProviders, [parameter(HelpMessage='Used to indicate that changes to certain properties on a resource should force a replacement of the resource instead of an in-place update. Typically users rely on the resource provider to make this decision based on whether the input property is one that the provider knows how to update in place, or if not, requires a replacement to modify. However, there are cases where users want to replace a resource on a change to an input property even if the resource provider itself doesnt believe it has to replace the resource.')] [string[]] $PulumiReplaceOnChanges, [parameter(HelpMessage='Marks a resource to be retained. If this option is set then Pulumi will not call through to the resource providers Delete method when deleting or replacing the resource during pulumi up or pulumi destroy. As a result, the resource will not be deleted from the backing cloud provider, but will be removed from the Pulumi state.')] [bool] $PulumiRetainOnDelete, [parameter(HelpMessage='Specifies a provider version to use when operating on a resource. This version overrides the version information inferred from the current package. This option should be used rarely.')] [string] $PulumiProviderVersion = [NullString]::Value ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:datamigration:File") $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["groupName"] = $groupName $resource.properties["projectName"] = $projectName $resource.properties["serviceName"] = $serviceName if($PSBoundParameters.Keys -icontains 'fileName') { $resource.properties["fileName"] = $fileName } if($PSBoundParameters.Keys -icontains 'properties') { $resource.properties["properties"] = $properties } $global:pulumiresources += $resource return $resource } } class BlobShare { [string] $sasUri } function New-AzureNativeTypeDatamigrationBlobShare { param ( [parameter(mandatory=$False,HelpMessage='SAS URI of Azure Storage Account Container.)')] [string] $sasUri ) process { return $([BlobShare]$PSBoundParameters) } } class FileShare { [string] $userName [string] $password [string] $path } function New-AzureNativeTypeDatamigrationFileShare { param ( [parameter(mandatory=$False,HelpMessage='User name credential to connect to the share location)')] [string] $userName, [parameter(mandatory=$False,HelpMessage='Password credential used to connect to the share location.)')] [string] $password, [parameter(mandatory=$False,HelpMessage='The folder path for this share.)')] [string] $path ) process { return $([FileShare]$PSBoundParameters) } } class MigrateSqlServerSqlMIDatabaseInput { [string[]] $backupFilePaths [string] $name [FileShare] $backupFileShare [string] $restoreDatabaseName } function New-AzureNativeTypeDatamigrationMigrateSqlServerSqlMIDatabaseInput { param ( [parameter(mandatory=$False,HelpMessage='The list of backup files to be used in case of existing backups.)')] [string[]] $backupFilePaths, [parameter(mandatory=$False,HelpMessage='Name of the database)')] [string] $name, [parameter(mandatory=$False,HelpMessage='Backup file share information for backing up this database.)')] [FileShare] $backupFileShare, [parameter(mandatory=$False,HelpMessage='Name of the database at destination)')] [string] $restoreDatabaseName ) process { return $([MigrateSqlServerSqlMIDatabaseInput]$PSBoundParameters) } } class ValidateMigrationInputSqlServerSqlMITaskInput { [BlobShare] $backupBlobShare [FileShare] $backupFileShare [SqlConnectionInfo] $targetConnectionInfo [MigrateSqlServerSqlMIDatabaseInput[]] $selectedDatabases [SqlConnectionInfo] $sourceConnectionInfo [string[]] $selectedLogins [ArgumentCompletions('CreateBackup', 'ExistingBackup')] [string] $backupMode } function New-AzureNativeTypeDatamigrationValidateMigrationInputSqlServerSqlMITaskInput { param ( [parameter(mandatory=$False,HelpMessage='SAS URI of Azure Storage Account Container to be used for storing backup files.)')] [BlobShare] $backupBlobShare, [parameter(mandatory=$False,HelpMessage='Backup file share information for all selected databases.)')] [FileShare] $backupFileShare, [parameter(mandatory=$False,HelpMessage='Information for connecting to target)')] [SqlConnectionInfo] $targetConnectionInfo, [parameter(mandatory=$False,HelpMessage='Databases to migrate)')] $selectedDatabases, [parameter(mandatory=$False,HelpMessage='Information for connecting to source)')] [SqlConnectionInfo] $sourceConnectionInfo, [parameter(mandatory=$False,HelpMessage='Logins to migrate)')] [string[]] $selectedLogins, [parameter(mandatory=$False,HelpMessage='Backup Mode to specify whether to use existing backup or create new backup.)')] [string] [ArgumentCompletions('CreateBackup', 'ExistingBackup')] $backupMode ) process { return $([ValidateMigrationInputSqlServerSqlMITaskInput]$PSBoundParameters) } } class ValidateMigrationInputSqlServerSqlMITaskProperties { [string] $taskType [ValidateMigrationInputSqlServerSqlMITaskInput] $input } function New-AzureNativeTypeDatamigrationValidateMigrationInputSqlServerSqlMITaskProperties { param ( [parameter(mandatory=$False,HelpMessage='Task type. Expected value is ''ValidateMigrationInput.SqlServer.AzureSqlDbMI''.)')] [string] $taskType, [parameter(mandatory=$False,HelpMessage='Task input)')] [ValidateMigrationInputSqlServerSqlMITaskInput] $input ) process { return $([ValidateMigrationInputSqlServerSqlMITaskProperties]$PSBoundParameters) } } function New-AzureNativeDatamigrationTask { [Alias('azure_native_datamigration_task')] param ( [parameter(mandatory=$False,HelpMessage='Name of the project)')] [string] $projectName, [parameter(mandatory=$False,HelpMessage='Name of the Task)')] [string] $taskName, [parameter(mandatory=$False,HelpMessage='Name of the resource group)')] [string] $groupName, [parameter(mandatory=$False,HelpMessage='Name of the service)')] [string] $serviceName, [parameter(mandatory=$False,HelpMessage='Custom task properties)')] [ValidateMigrationInputSqlServerSqlMITaskProperties] $properties, [parameter(mandatory,HelpMessage='The reference to call when you want to make a dependency to another resource')] [string] $pulumiid, [parameter(HelpMessage='Specifies a list of named output properties that should be treated as secrets, which means they will be encrypted. It augments the list of values that Pulumi detects, based on secret inputs to the resource.')] [string[]] $PulumiSecretOutputs, [parameter(HelpMessage='The aliases parameter provides a list of aliases for a resource or component resource. If youre changing the name, type, or parent path of a resource or component resource, you can add the old name to the list of aliases for a resource to ensure that existing resources will be migrated to the new name instead of being deleted and replaced with the new named resource.')] [string[]] $PulumiAliases, [parameter(HelpMessage='The customTimeouts parameter provides a set of custom timeouts for create, update, and delete operations on a resource. These timeouts are specified using a duration string such as 5m (5 minutes), 40s (40 seconds), or 1d (1 day). Supported duration units are ns, us (or µs), ms, s, m, and h (nanoseconds, microseconds, milliseconds, seconds, minutes, and hours, respectively).')] [pulumicustomtimeouts] $PulumiCustomTimeouts, [parameter(HelpMessage='Setting the PulumiDeleteBeforeReplace parameter to true means that Pulumi will delete the existing resource before creating its replacement. Be aware that this behavior has a cascading impact on dependencies so more resources may be replaced, which can lead to downtime. However, this option may be necessary for some resources that manage scarce resources behind the scenes, and/or resources that cannot exist side-by-side.')] [bool] $PulumiDeleteBeforeReplace, [parameter(HelpMessage='Creates a list of explicit dependencies between resources.The DependsOn parameter ensures that resource creation, update, and deletion operations are done in the correct order.')] [object[]] $PulumiDependsOn, [parameter(HelpMessage='Specifies a list of properties that Pulumi will ignore when it updates existing resources. Any properties specified in this list that are also specified in the resources arguments will only be used when creating the resource.')] [string[]] $PulumiIgnoreChanges, [parameter(HelpMessage='Imports an existing cloud resource so that Pulumi can manage it. To import a resource, first specify the PulumiImport parameter with the resources ID')] [string] $PulumiImport = [NullString]::Value, [parameter(HelpMessage='Specifies a parent for a resource. It is used to associate children with the parents that encapsulate or are responsible for them.')] [object] $PulumiParent = [NullString]::Value, [parameter(HelpMessage='Marks a resource as protected. A protected resource cannot be deleted directly, and it will be an error to do a Pulumi deployment which tries to delete a protected resource for any reason.')] [bool] $PulumiProtect, [parameter(HelpMessage='Sets a provider for the resource. The default is to inherit this value from the parent resource, and to use the ambient provider specified by Pulumi configuration for resources without a parent.')] [object] $PulumiProvider = [NullString]::Value, [parameter(HelpMessage='Sets a list of providers for the resource and its children. This list is combined with resource parents providers lists. If no value is provided, the providers list is identical to the parent. When determining which provider to use for a resource, the providers list is used if provider is not supplied.')] [object[]] $PulumiProviders, [parameter(HelpMessage='Used to indicate that changes to certain properties on a resource should force a replacement of the resource instead of an in-place update. Typically users rely on the resource provider to make this decision based on whether the input property is one that the provider knows how to update in place, or if not, requires a replacement to modify. However, there are cases where users want to replace a resource on a change to an input property even if the resource provider itself doesnt believe it has to replace the resource.')] [string[]] $PulumiReplaceOnChanges, [parameter(HelpMessage='Marks a resource to be retained. If this option is set then Pulumi will not call through to the resource providers Delete method when deleting or replacing the resource during pulumi up or pulumi destroy. As a result, the resource will not be deleted from the backing cloud provider, but will be removed from the Pulumi state.')] [bool] $PulumiRetainOnDelete, [parameter(HelpMessage='Specifies a provider version to use when operating on a resource. This version overrides the version information inferred from the current package. This option should be used rarely.')] [string] $PulumiProviderVersion = [NullString]::Value ) process { $resource = [pulumiresource]::new($pulumiid, "azure-native:datamigration:Task") $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["groupName"] = $groupName $resource.properties["projectName"] = $projectName $resource.properties["serviceName"] = $serviceName if($PSBoundParameters.Keys -icontains 'taskName') { $resource.properties["taskName"] = $taskName } if($PSBoundParameters.Keys -icontains 'properties') { $resource.properties["properties"] = $properties } $global:pulumiresources += $resource return $resource } } |