diff --git a/Include/sdk/_sdk-versions.json b/Include/sdk/_sdk-versions.json index 1e18c0927c..a4d6dceb23 100644 --- a/Include/sdk/_sdk-versions.json +++ b/Include/sdk/_sdk-versions.json @@ -1,6 +1,6 @@ { - "ProductVersion" : "3.7.612.0", + "ProductVersion" : "3.7.613.0", "CoreVersion" : "3.7.200.9", "OverrideCoreVersion" : "3.3", "DefaultToPreview" : false, @@ -14,7 +14,7 @@ "InPreview" : false }, "AutoScaling" : { - "Version" : "3.7.202.2", + "Version" : "3.7.202.3", "AssemblyVersionOverride" : "3.3", "Dependencies" : { "Core" : "3.7.200.9" @@ -152,7 +152,7 @@ "InPreview" : false }, "EC2" : { - "Version" : "3.7.203.4", + "Version" : "3.7.204.0", "AssemblyVersionOverride" : "3.3", "Dependencies" : { "Core" : "3.7.200.9" @@ -522,7 +522,7 @@ "InPreview" : false }, "DatabaseMigrationService" : { - "Version" : "3.7.201.1", + "Version" : "3.7.202.0", "AssemblyVersionOverride" : "3.3", "Dependencies" : { "Core" : "3.7.200.9" @@ -946,7 +946,7 @@ "InPreview" : false }, "SageMaker" : { - "Version" : "3.7.205.0", + "Version" : "3.7.206.0", "AssemblyVersionOverride" : "3.3", "Dependencies" : { "Core" : "3.7.200.9" @@ -1018,7 +1018,7 @@ "InPreview" : false }, "Cloud9" : { - "Version" : "3.7.200.9", + "Version" : "3.7.200.10", "AssemblyVersionOverride" : "3.3", "Dependencies" : { "Core" : "3.7.200.9" diff --git a/changelogs/CHANGELOG.2023.md b/changelogs/CHANGELOG.2023.md index 70f61b6923..e2d5cd346d 100644 --- a/changelogs/CHANGELOG.2023.md +++ b/changelogs/CHANGELOG.2023.md @@ -1,4 +1,39 @@ -### 4.1.385 (2023-08-02 21:18Z) +### 4.1.386 (2023-08-03 21:09Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.613.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/master/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon Database Migration Service + * Added cmdlet Edit-DMSConversionConfiguration leveraging the ModifyConversionConfiguration service API. + * Added cmdlet Edit-DMSDataProvider leveraging the ModifyDataProvider service API. + * Added cmdlet Edit-DMSInstanceProfile leveraging the ModifyInstanceProfile service API. + * Added cmdlet Edit-DMSMigrationProject leveraging the ModifyMigrationProject service API. + * Added cmdlet Export-DMSMetadataModelAssessment leveraging the ExportMetadataModelAssessment service API. + * Added cmdlet Get-DMSConversionConfiguration leveraging the DescribeConversionConfiguration service API. + * Added cmdlet Get-DMSDataProvider leveraging the DescribeDataProviders service API. + * Added cmdlet Get-DMSExtensionPackAssociation leveraging the DescribeExtensionPackAssociations service API. + * Added cmdlet Get-DMSInstanceProfile leveraging the DescribeInstanceProfiles service API. + * Added cmdlet Get-DMSMetadataModelAssessment leveraging the DescribeMetadataModelAssessments service API. + * Added cmdlet Get-DMSMetadataModelConversion leveraging the DescribeMetadataModelConversions service API. + * Added cmdlet Get-DMSMetadataModelExportsAsScript leveraging the DescribeMetadataModelExportsAsScript service API. + * Added cmdlet Get-DMSMetadataModelExportsToTarget leveraging the DescribeMetadataModelExportsToTarget service API. + * Added cmdlet Get-DMSMetadataModelImport leveraging the DescribeMetadataModelImports service API. + * Added cmdlet Get-DMSMigrationProject leveraging the DescribeMigrationProjects service API. + * Added cmdlet New-DMSDataProvider leveraging the CreateDataProvider service API. + * Added cmdlet New-DMSInstanceProfile leveraging the CreateInstanceProfile service API. + * Added cmdlet New-DMSMigrationProject leveraging the CreateMigrationProject service API. + * Added cmdlet Remove-DMSDataProvider leveraging the DeleteDataProvider service API. + * Added cmdlet Remove-DMSInstanceProfile leveraging the DeleteInstanceProfile service API. + * Added cmdlet Remove-DMSMigrationProject leveraging the DeleteMigrationProject service API. + * Added cmdlet Start-DMSExtensionPackAssociation leveraging the StartExtensionPackAssociation service API. + * Added cmdlet Start-DMSMetadataModelAssessment leveraging the StartMetadataModelAssessment service API. + * Added cmdlet Start-DMSMetadataModelConversion leveraging the StartMetadataModelConversion service API. + * Added cmdlet Start-DMSMetadataModelExportAsScript leveraging the StartMetadataModelExportAsScript service API. + * Added cmdlet Start-DMSMetadataModelExportToTarget leveraging the StartMetadataModelExportToTarget service API. + * Added cmdlet Start-DMSMetadataModelImport leveraging the StartMetadataModelImport service API. + * Amazon Elastic Compute Cloud (EC2) + * Modified cmdlet New-EC2Instance: added parameter EnablePrimaryIpv6. + * Modified cmdlet Edit-EC2NetworkInterfaceAttribute: added parameter EnablePrimaryIpv6. + * Modified cmdlet New-EC2NetworkInterface: added parameter EnablePrimaryIpv6. + +### 4.1.385 (2023-08-02 21:18Z) * AWS Tools for PowerShell now use AWS .NET SDK 3.7.612.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/master/changelogs/SDK.CHANGELOG.ALL.md. * Amazon Cognito Identity Provider * Added cmdlet Get-CGIPLogDeliveryConfiguration leveraging the GetLogDeliveryConfiguration service API. diff --git a/changelogs/CHANGELOG.ALL.md b/changelogs/CHANGELOG.ALL.md index d90c0b09b8..b760e5d69e 100644 --- a/changelogs/CHANGELOG.ALL.md +++ b/changelogs/CHANGELOG.ALL.md @@ -1,4 +1,39 @@ -### 4.1.385 (2023-08-02 21:18Z) +### 4.1.386 (2023-08-03 21:09Z) + * AWS Tools for PowerShell now use AWS .NET SDK 3.7.613.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/master/changelogs/SDK.CHANGELOG.ALL.md. + * Amazon Database Migration Service + * Added cmdlet Edit-DMSConversionConfiguration leveraging the ModifyConversionConfiguration service API. + * Added cmdlet Edit-DMSDataProvider leveraging the ModifyDataProvider service API. + * Added cmdlet Edit-DMSInstanceProfile leveraging the ModifyInstanceProfile service API. + * Added cmdlet Edit-DMSMigrationProject leveraging the ModifyMigrationProject service API. + * Added cmdlet Export-DMSMetadataModelAssessment leveraging the ExportMetadataModelAssessment service API. + * Added cmdlet Get-DMSConversionConfiguration leveraging the DescribeConversionConfiguration service API. + * Added cmdlet Get-DMSDataProvider leveraging the DescribeDataProviders service API. + * Added cmdlet Get-DMSExtensionPackAssociation leveraging the DescribeExtensionPackAssociations service API. + * Added cmdlet Get-DMSInstanceProfile leveraging the DescribeInstanceProfiles service API. + * Added cmdlet Get-DMSMetadataModelAssessment leveraging the DescribeMetadataModelAssessments service API. + * Added cmdlet Get-DMSMetadataModelConversion leveraging the DescribeMetadataModelConversions service API. + * Added cmdlet Get-DMSMetadataModelExportsAsScript leveraging the DescribeMetadataModelExportsAsScript service API. + * Added cmdlet Get-DMSMetadataModelExportsToTarget leveraging the DescribeMetadataModelExportsToTarget service API. + * Added cmdlet Get-DMSMetadataModelImport leveraging the DescribeMetadataModelImports service API. + * Added cmdlet Get-DMSMigrationProject leveraging the DescribeMigrationProjects service API. + * Added cmdlet New-DMSDataProvider leveraging the CreateDataProvider service API. + * Added cmdlet New-DMSInstanceProfile leveraging the CreateInstanceProfile service API. + * Added cmdlet New-DMSMigrationProject leveraging the CreateMigrationProject service API. + * Added cmdlet Remove-DMSDataProvider leveraging the DeleteDataProvider service API. + * Added cmdlet Remove-DMSInstanceProfile leveraging the DeleteInstanceProfile service API. + * Added cmdlet Remove-DMSMigrationProject leveraging the DeleteMigrationProject service API. + * Added cmdlet Start-DMSExtensionPackAssociation leveraging the StartExtensionPackAssociation service API. + * Added cmdlet Start-DMSMetadataModelAssessment leveraging the StartMetadataModelAssessment service API. + * Added cmdlet Start-DMSMetadataModelConversion leveraging the StartMetadataModelConversion service API. + * Added cmdlet Start-DMSMetadataModelExportAsScript leveraging the StartMetadataModelExportAsScript service API. + * Added cmdlet Start-DMSMetadataModelExportToTarget leveraging the StartMetadataModelExportToTarget service API. + * Added cmdlet Start-DMSMetadataModelImport leveraging the StartMetadataModelImport service API. + * Amazon Elastic Compute Cloud (EC2) + * Modified cmdlet New-EC2Instance: added parameter EnablePrimaryIpv6. + * Modified cmdlet Edit-EC2NetworkInterfaceAttribute: added parameter EnablePrimaryIpv6. + * Modified cmdlet New-EC2NetworkInterface: added parameter EnablePrimaryIpv6. + +### 4.1.385 (2023-08-02 21:18Z) * AWS Tools for PowerShell now use AWS .NET SDK 3.7.612.0 and leverage its new features and improvements. Please find a description of the changes at https://github.com/aws/aws-sdk-net/blob/master/changelogs/SDK.CHANGELOG.ALL.md. * Amazon Cognito Identity Provider * Added cmdlet Get-CGIPLogDeliveryConfiguration leveraging the GetLogDeliveryConfiguration service API. diff --git a/generator/AWSPSGeneratorLib/Config/ServiceConfig/dms.xml b/generator/AWSPSGeneratorLib/Config/ServiceConfig/dms.xml index 609f553ec5..5bd67b47bb 100644 --- a/generator/AWSPSGeneratorLib/Config/ServiceConfig/dms.xml +++ b/generator/AWSPSGeneratorLib/Config/ServiceConfig/dms.xml @@ -37,6 +37,10 @@ + + + + @@ -49,6 +53,14 @@ + + + + + + + + @@ -73,6 +85,10 @@ + + + + @@ -89,6 +105,14 @@ + + + + + + + + @@ -125,6 +149,14 @@ + + + + + + + + @@ -153,6 +185,10 @@ + + + + @@ -173,6 +209,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -241,6 +305,10 @@ + + + + @@ -249,6 +317,14 @@ + + + + + + + + @@ -257,6 +333,14 @@ + + + + + + + + @@ -301,6 +385,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/AWSPowerShell/AWSAliases.ps1 b/modules/AWSPowerShell/AWSAliases.ps1 index 00726fd1d8..477bdf9909 100644 --- a/modules/AWSPowerShell/AWSAliases.ps1 +++ b/modules/AWSPowerShell/AWSAliases.ps1 @@ -6860,12 +6860,18 @@ Set-Alias -Name Batch-DMSBatchRecommendation -Value Start-DMSBatchRecommendation Set-Alias -Name DMS-BatchStartRecommendations -Value Start-DMSBatchRecommendation Set-Alias -Name Cancel-DMSReplicationTaskAssessmentRun -Value Stop-DMSReplicationTaskAssessmentRun Set-Alias -Name DMS-CancelReplicationTaskAssessmentRun -Value Stop-DMSReplicationTaskAssessmentRun +Set-Alias -Name Create-DMSDataProvider -Value New-DMSDataProvider +Set-Alias -Name DMS-CreateDataProvider -Value New-DMSDataProvider Set-Alias -Name Create-DMSEndpoint -Value New-DMSEndpoint Set-Alias -Name DMS-CreateEndpoint -Value New-DMSEndpoint Set-Alias -Name Create-DMSEventSubscription -Value New-DMSEventSubscription Set-Alias -Name DMS-CreateEventSubscription -Value New-DMSEventSubscription Set-Alias -Name Create-DMSFleetAdvisorCollector -Value New-DMSFleetAdvisorCollector Set-Alias -Name DMS-CreateFleetAdvisorCollector -Value New-DMSFleetAdvisorCollector +Set-Alias -Name Create-DMSInstanceProfile -Value New-DMSInstanceProfile +Set-Alias -Name DMS-CreateInstanceProfile -Value New-DMSInstanceProfile +Set-Alias -Name Create-DMSMigrationProject -Value New-DMSMigrationProject +Set-Alias -Name DMS-CreateMigrationProject -Value New-DMSMigrationProject Set-Alias -Name Create-DMSReplicationConfig -Value New-DMSReplicationConfig Set-Alias -Name DMS-CreateReplicationConfig -Value New-DMSReplicationConfig Set-Alias -Name Create-DMSReplicationInstance -Value New-DMSReplicationInstance @@ -6878,6 +6884,8 @@ Set-Alias -Name Delete-DMSCertificate -Value Remove-DMSCertificate Set-Alias -Name DMS-DeleteCertificate -Value Remove-DMSCertificate Set-Alias -Name Delete-DMSConnection -Value Remove-DMSConnection Set-Alias -Name DMS-DeleteConnection -Value Remove-DMSConnection +Set-Alias -Name Delete-DMSDataProvider -Value Remove-DMSDataProvider +Set-Alias -Name DMS-DeleteDataProvider -Value Remove-DMSDataProvider Set-Alias -Name Delete-DMSEndpoint -Value Remove-DMSEndpoint Set-Alias -Name DMS-DeleteEndpoint -Value Remove-DMSEndpoint Set-Alias -Name Delete-DMSEventSubscription -Value Remove-DMSEventSubscription @@ -6887,6 +6895,10 @@ Set-Alias -Name DMS-DeleteFleetAdvisorCollector -Value Remove-DMSFleetAdvisorCol Set-Alias -Name Delete-DMSFleetAdvisorDatabases -Value Remove-DMSFleetAdvisorDatabaseId Set-Alias -Name Delete-DMSFleetAdvisorDatabaseId -Value Remove-DMSFleetAdvisorDatabaseId Set-Alias -Name DMS-DeleteFleetAdvisorDatabases -Value Remove-DMSFleetAdvisorDatabaseId +Set-Alias -Name Delete-DMSInstanceProfile -Value Remove-DMSInstanceProfile +Set-Alias -Name DMS-DeleteInstanceProfile -Value Remove-DMSInstanceProfile +Set-Alias -Name Delete-DMSMigrationProject -Value Remove-DMSMigrationProject +Set-Alias -Name DMS-DeleteMigrationProject -Value Remove-DMSMigrationProject Set-Alias -Name Delete-DMSReplicationConfig -Value Remove-DMSReplicationConfig Set-Alias -Name DMS-DeleteReplicationConfig -Value Remove-DMSReplicationConfig Set-Alias -Name Delete-DMSReplicationInstance -Value Remove-DMSReplicationInstance @@ -6909,6 +6921,11 @@ Set-Alias -Name DMS-DescribeCertificates -Value Get-DMSCertificate Set-Alias -Name Describe-DMSConnections -Value Get-DMSConnection Set-Alias -Name Describe-DMSConnection -Value Get-DMSConnection Set-Alias -Name DMS-DescribeConnections -Value Get-DMSConnection +Set-Alias -Name Describe-DMSConversionConfiguration -Value Get-DMSConversionConfiguration +Set-Alias -Name DMS-DescribeConversionConfiguration -Value Get-DMSConversionConfiguration +Set-Alias -Name Describe-DMSDataProviders -Value Get-DMSDataProvider +Set-Alias -Name Describe-DMSDataProvider -Value Get-DMSDataProvider +Set-Alias -Name DMS-DescribeDataProviders -Value Get-DMSDataProvider Set-Alias -Name Describe-DMSEndpoints -Value Get-DMSEndpoint Set-Alias -Name Describe-DMSEndpoint -Value Get-DMSEndpoint Set-Alias -Name DMS-DescribeEndpoints -Value Get-DMSEndpoint @@ -6930,6 +6947,9 @@ Set-Alias -Name DMS-DescribeEvents -Value Get-DMSEvent Set-Alias -Name Describe-DMSEventSubscriptions -Value Get-DMSEventSubscription Set-Alias -Name Describe-DMSEventSubscription -Value Get-DMSEventSubscription Set-Alias -Name DMS-DescribeEventSubscriptions -Value Get-DMSEventSubscription +Set-Alias -Name Describe-DMSExtensionPackAssociations -Value Get-DMSExtensionPackAssociation +Set-Alias -Name Describe-DMSExtensionPackAssociation -Value Get-DMSExtensionPackAssociation +Set-Alias -Name DMS-DescribeExtensionPackAssociations -Value Get-DMSExtensionPackAssociation Set-Alias -Name Describe-DMSFleetAdvisorCollectors -Value Get-DMSFleetAdvisorCollector Set-Alias -Name Describe-DMSFleetAdvisorCollector -Value Get-DMSFleetAdvisorCollector Set-Alias -Name DMS-DescribeFleetAdvisorCollectors -Value Get-DMSFleetAdvisorCollector @@ -6943,6 +6963,25 @@ Set-Alias -Name DMS-DescribeFleetAdvisorSchemaObjectSummary -Value Get-DMSFleetA Set-Alias -Name Describe-DMSFleetAdvisorSchemas -Value Get-DMSFleetAdvisorSchema Set-Alias -Name Describe-DMSFleetAdvisorSchema -Value Get-DMSFleetAdvisorSchema Set-Alias -Name DMS-DescribeFleetAdvisorSchemas -Value Get-DMSFleetAdvisorSchema +Set-Alias -Name Describe-DMSInstanceProfiles -Value Get-DMSInstanceProfile +Set-Alias -Name Describe-DMSInstanceProfile -Value Get-DMSInstanceProfile +Set-Alias -Name DMS-DescribeInstanceProfiles -Value Get-DMSInstanceProfile +Set-Alias -Name Describe-DMSMetadataModelAssessments -Value Get-DMSMetadataModelAssessment +Set-Alias -Name Describe-DMSMetadataModelAssessment -Value Get-DMSMetadataModelAssessment +Set-Alias -Name DMS-DescribeMetadataModelAssessments -Value Get-DMSMetadataModelAssessment +Set-Alias -Name Describe-DMSMetadataModelConversions -Value Get-DMSMetadataModelConversion +Set-Alias -Name Describe-DMSMetadataModelConversion -Value Get-DMSMetadataModelConversion +Set-Alias -Name DMS-DescribeMetadataModelConversions -Value Get-DMSMetadataModelConversion +Set-Alias -Name Describe-DMSMetadataModelExportsAsScript -Value Get-DMSMetadataModelExportsAsScript +Set-Alias -Name DMS-DescribeMetadataModelExportsAsScript -Value Get-DMSMetadataModelExportsAsScript +Set-Alias -Name Describe-DMSMetadataModelExportsToTarget -Value Get-DMSMetadataModelExportsToTarget +Set-Alias -Name DMS-DescribeMetadataModelExportsToTarget -Value Get-DMSMetadataModelExportsToTarget +Set-Alias -Name Describe-DMSMetadataModelImports -Value Get-DMSMetadataModelImport +Set-Alias -Name Describe-DMSMetadataModelImport -Value Get-DMSMetadataModelImport +Set-Alias -Name DMS-DescribeMetadataModelImports -Value Get-DMSMetadataModelImport +Set-Alias -Name Describe-DMSMigrationProjects -Value Get-DMSMigrationProject +Set-Alias -Name Describe-DMSMigrationProject -Value Get-DMSMigrationProject +Set-Alias -Name DMS-DescribeMigrationProjects -Value Get-DMSMigrationProject Set-Alias -Name Describe-DMSOrderableReplicationInstances -Value Get-DMSOrderableReplicationInstance Set-Alias -Name Describe-DMSOrderableReplicationInstance -Value Get-DMSOrderableReplicationInstance Set-Alias -Name DMS-DescribeOrderableReplicationInstances -Value Get-DMSOrderableReplicationInstance @@ -6993,12 +7032,21 @@ Set-Alias -Name DMS-DescribeSchemas -Value Get-DMSSchema Set-Alias -Name Describe-DMSTableStatistics -Value Get-DMSTableStatistic Set-Alias -Name Describe-DMSTableStatistic -Value Get-DMSTableStatistic Set-Alias -Name DMS-DescribeTableStatistics -Value Get-DMSTableStatistic +Set-Alias -Name DMS-ExportMetadataModelAssessment -Value Export-DMSMetadataModelAssessment Set-Alias -Name DMS-ImportCertificate -Value Import-DMSCertificate Set-Alias -Name DMS-ListTagsForResource -Value Get-DMSResourceTag +Set-Alias -Name Modify-DMSConversionConfiguration -Value Edit-DMSConversionConfiguration +Set-Alias -Name DMS-ModifyConversionConfiguration -Value Edit-DMSConversionConfiguration +Set-Alias -Name Modify-DMSDataProvider -Value Edit-DMSDataProvider +Set-Alias -Name DMS-ModifyDataProvider -Value Edit-DMSDataProvider Set-Alias -Name Modify-DMSEndpoint -Value Edit-DMSEndpoint Set-Alias -Name DMS-ModifyEndpoint -Value Edit-DMSEndpoint Set-Alias -Name Modify-DMSEventSubscription -Value Edit-DMSEventSubscription Set-Alias -Name DMS-ModifyEventSubscription -Value Edit-DMSEventSubscription +Set-Alias -Name Modify-DMSInstanceProfile -Value Edit-DMSInstanceProfile +Set-Alias -Name DMS-ModifyInstanceProfile -Value Edit-DMSInstanceProfile +Set-Alias -Name Modify-DMSMigrationProject -Value Edit-DMSMigrationProject +Set-Alias -Name DMS-ModifyMigrationProject -Value Edit-DMSMigrationProject Set-Alias -Name Modify-DMSReplicationConfig -Value Edit-DMSReplicationConfig Set-Alias -Name DMS-ModifyReplicationConfig -Value Edit-DMSReplicationConfig Set-Alias -Name Modify-DMSReplicationInstance -Value Edit-DMSReplicationInstance @@ -7023,6 +7071,12 @@ Set-Alias -Name Remove-DMSTagsFromResource -Value Remove-DMSResourceTag Set-Alias -Name DMS-RemoveTagsFromResource -Value Remove-DMSResourceTag Set-Alias -Name Run-DMSFleetAdvisorLsaAnalysis -Value Start-DMSFleetAdvisorLsaAnalysis Set-Alias -Name DMS-RunFleetAdvisorLsaAnalysis -Value Start-DMSFleetAdvisorLsaAnalysis +Set-Alias -Name DMS-StartExtensionPackAssociation -Value Start-DMSExtensionPackAssociation +Set-Alias -Name DMS-StartMetadataModelAssessment -Value Start-DMSMetadataModelAssessment +Set-Alias -Name DMS-StartMetadataModelConversion -Value Start-DMSMetadataModelConversion +Set-Alias -Name DMS-StartMetadataModelExportAsScript -Value Start-DMSMetadataModelExportAsScript +Set-Alias -Name DMS-StartMetadataModelExportToTarget -Value Start-DMSMetadataModelExportToTarget +Set-Alias -Name DMS-StartMetadataModelImport -Value Start-DMSMetadataModelImport Set-Alias -Name Start-DMSRecommendations -Value Start-DMSRecommendation Set-Alias -Name DMS-StartRecommendations -Value Start-DMSRecommendation Set-Alias -Name DMS-StartReplication -Value Start-DMSReplication diff --git a/modules/AWSPowerShell/AWSPowerShellCompleters.psm1 b/modules/AWSPowerShell/AWSPowerShellCompleters.psm1 index 56e8241dc5..24a3a3caac 100644 --- a/modules/AWSPowerShell/AWSPowerShellCompleters.psm1 +++ b/modules/AWSPowerShell/AWSPowerShellCompleters.psm1 @@ -17282,6 +17282,14 @@ $DMS_Completers = { # Amazon.DatabaseMigrationService.DmsSslModeValue { + ($_ -eq "Edit-DMSDataProvider/Settings_MicrosoftSqlServerSettings_SslMode") -Or + ($_ -eq "New-DMSDataProvider/Settings_MicrosoftSqlServerSettings_SslMode") -Or + ($_ -eq "Edit-DMSDataProvider/Settings_MySqlSettings_SslMode") -Or + ($_ -eq "New-DMSDataProvider/Settings_MySqlSettings_SslMode") -Or + ($_ -eq "Edit-DMSDataProvider/Settings_OracleSettings_SslMode") -Or + ($_ -eq "New-DMSDataProvider/Settings_OracleSettings_SslMode") -Or + ($_ -eq "Edit-DMSDataProvider/Settings_PostgreSqlSettings_SslMode") -Or + ($_ -eq "New-DMSDataProvider/Settings_PostgreSqlSettings_SslMode") -Or ($_ -eq "Edit-DMSEndpoint/SslMode") -Or ($_ -eq "New-DMSEndpoint/SslMode") } @@ -17389,6 +17397,16 @@ $DMS_Completers = { break } + # Amazon.DatabaseMigrationService.OriginTypeValue + { + ($_ -eq "Start-DMSMetadataModelExportAsScript/Origin") -Or + ($_ -eq "Start-DMSMetadataModelImport/Origin") + } + { + $v = "SOURCE","TARGET" + break + } + # Amazon.DatabaseMigrationService.ParquetVersionValue { ($_ -eq "Edit-DMSEndpoint/S3Settings_ParquetVersion") -Or @@ -17520,6 +17538,7 @@ $DMS_map = @{ "MongoDbSettings_NestingLevel"=@("Edit-DMSEndpoint","New-DMSEndpoint") "MySQLSettings_TargetDbType"=@("Edit-DMSEndpoint","New-DMSEndpoint") "OracleSettings_CharLengthSemantics"=@("Edit-DMSEndpoint","New-DMSEndpoint") + "Origin"=@("Start-DMSMetadataModelExportAsScript","Start-DMSMetadataModelImport") "PostgreSQLSettings_DatabaseMode"=@("Edit-DMSEndpoint","New-DMSEndpoint") "PostgreSQLSettings_MapLongVarcharAs"=@("Edit-DMSEndpoint","New-DMSEndpoint") "PostgreSQLSettings_PluginName"=@("Edit-DMSEndpoint","New-DMSEndpoint") @@ -17536,6 +17555,10 @@ $DMS_map = @{ "S3Settings_EncodingType"=@("Edit-DMSEndpoint","New-DMSEndpoint") "S3Settings_EncryptionMode"=@("Edit-DMSEndpoint","New-DMSEndpoint") "S3Settings_ParquetVersion"=@("Edit-DMSEndpoint","New-DMSEndpoint") + "Settings_MicrosoftSqlServerSettings_SslMode"=@("Edit-DMSDataProvider","New-DMSDataProvider") + "Settings_MySqlSettings_SslMode"=@("Edit-DMSDataProvider","New-DMSDataProvider") + "Settings_OracleSettings_SslMode"=@("Edit-DMSDataProvider","New-DMSDataProvider") + "Settings_PostgreSqlSettings_SslMode"=@("Edit-DMSDataProvider","New-DMSDataProvider") "SourceType"=@("Get-DMSEvent") "SslMode"=@("Edit-DMSEndpoint","New-DMSEndpoint") "StartReplicationTaskType"=@("Start-DMSReplicationTask") @@ -17595,19 +17618,25 @@ $DMS_SelectMap = @{ "Complete-DMSPendingMaintenanceAction", "Start-DMSBatchRecommendation", "Stop-DMSReplicationTaskAssessmentRun", + "New-DMSDataProvider", "New-DMSEndpoint", "New-DMSEventSubscription", "New-DMSFleetAdvisorCollector", + "New-DMSInstanceProfile", + "New-DMSMigrationProject", "New-DMSReplicationConfig", "New-DMSReplicationInstance", "New-DMSReplicationSubnetGroup", "New-DMSReplicationTask", "Remove-DMSCertificate", "Remove-DMSConnection", + "Remove-DMSDataProvider", "Remove-DMSEndpoint", "Remove-DMSEventSubscription", "Remove-DMSFleetAdvisorCollector", "Remove-DMSFleetAdvisorDatabaseId", + "Remove-DMSInstanceProfile", + "Remove-DMSMigrationProject", "Remove-DMSReplicationConfig", "Remove-DMSReplicationInstance", "Remove-DMSReplicationSubnetGroup", @@ -17617,6 +17646,8 @@ $DMS_SelectMap = @{ "Get-DMSApplicableIndividualAssessment", "Get-DMSCertificate", "Get-DMSConnection", + "Get-DMSConversionConfiguration", + "Get-DMSDataProvider", "Get-DMSEndpoint", "Get-DMSEndpointSetting", "Get-DMSEndpointType", @@ -17624,11 +17655,19 @@ $DMS_SelectMap = @{ "Get-DMSEventCategory", "Get-DMSEvent", "Get-DMSEventSubscription", + "Get-DMSExtensionPackAssociation", "Get-DMSFleetAdvisorCollector", "Get-DMSFleetAdvisorDatabase", "Get-DMSFleetAdvisorLsaAnalysis", "Get-DMSFleetAdvisorSchemaObjectSummary", "Get-DMSFleetAdvisorSchema", + "Get-DMSInstanceProfile", + "Get-DMSMetadataModelAssessment", + "Get-DMSMetadataModelConversion", + "Get-DMSMetadataModelExportsAsScript", + "Get-DMSMetadataModelExportsToTarget", + "Get-DMSMetadataModelImport", + "Get-DMSMigrationProject", "Get-DMSOrderableReplicationInstance", "Get-DMSPendingMaintenanceAction", "Get-DMSRecommendationLimitation", @@ -17646,10 +17685,15 @@ $DMS_SelectMap = @{ "Get-DMSReplicationTask", "Get-DMSSchema", "Get-DMSTableStatistic", + "Export-DMSMetadataModelAssessment", "Import-DMSCertificate", "Get-DMSResourceTag", + "Edit-DMSConversionConfiguration", + "Edit-DMSDataProvider", "Edit-DMSEndpoint", "Edit-DMSEventSubscription", + "Edit-DMSInstanceProfile", + "Edit-DMSMigrationProject", "Edit-DMSReplicationConfig", "Edit-DMSReplicationInstance", "Edit-DMSReplicationSubnetGroup", @@ -17661,6 +17705,12 @@ $DMS_SelectMap = @{ "Restore-DMSTable", "Remove-DMSResourceTag", "Start-DMSFleetAdvisorLsaAnalysis", + "Start-DMSExtensionPackAssociation", + "Start-DMSMetadataModelAssessment", + "Start-DMSMetadataModelConversion", + "Start-DMSMetadataModelExportAsScript", + "Start-DMSMetadataModelExportToTarget", + "Start-DMSMetadataModelImport", "Start-DMSRecommendation", "Start-DMSReplication", "Start-DMSReplicationTask", @@ -52950,7 +53000,7 @@ $SM_Completers = { # Amazon.SageMaker.TrainingInstanceType "New-SMHyperParameterTuningJob/TrainingJobDefinition_HyperParameterTuningResourceConfig_InstanceType" { - $v = "ml.c4.2xlarge","ml.c4.4xlarge","ml.c4.8xlarge","ml.c4.xlarge","ml.c5.18xlarge","ml.c5.2xlarge","ml.c5.4xlarge","ml.c5.9xlarge","ml.c5.xlarge","ml.c5n.18xlarge","ml.c5n.2xlarge","ml.c5n.4xlarge","ml.c5n.9xlarge","ml.c5n.xlarge","ml.g4dn.12xlarge","ml.g4dn.16xlarge","ml.g4dn.2xlarge","ml.g4dn.4xlarge","ml.g4dn.8xlarge","ml.g4dn.xlarge","ml.g5.12xlarge","ml.g5.16xlarge","ml.g5.24xlarge","ml.g5.2xlarge","ml.g5.48xlarge","ml.g5.4xlarge","ml.g5.8xlarge","ml.g5.xlarge","ml.m4.10xlarge","ml.m4.16xlarge","ml.m4.2xlarge","ml.m4.4xlarge","ml.m4.xlarge","ml.m5.12xlarge","ml.m5.24xlarge","ml.m5.2xlarge","ml.m5.4xlarge","ml.m5.large","ml.m5.xlarge","ml.p2.16xlarge","ml.p2.8xlarge","ml.p2.xlarge","ml.p3.16xlarge","ml.p3.2xlarge","ml.p3.8xlarge","ml.p3dn.24xlarge","ml.p4d.24xlarge","ml.trn1.2xlarge","ml.trn1.32xlarge","ml.trn1n.32xlarge" + $v = "ml.c4.2xlarge","ml.c4.4xlarge","ml.c4.8xlarge","ml.c4.xlarge","ml.c5.18xlarge","ml.c5.2xlarge","ml.c5.4xlarge","ml.c5.9xlarge","ml.c5.xlarge","ml.c5n.18xlarge","ml.c5n.2xlarge","ml.c5n.4xlarge","ml.c5n.9xlarge","ml.c5n.xlarge","ml.g4dn.12xlarge","ml.g4dn.16xlarge","ml.g4dn.2xlarge","ml.g4dn.4xlarge","ml.g4dn.8xlarge","ml.g4dn.xlarge","ml.g5.12xlarge","ml.g5.16xlarge","ml.g5.24xlarge","ml.g5.2xlarge","ml.g5.48xlarge","ml.g5.4xlarge","ml.g5.8xlarge","ml.g5.xlarge","ml.m4.10xlarge","ml.m4.16xlarge","ml.m4.2xlarge","ml.m4.4xlarge","ml.m4.xlarge","ml.m5.12xlarge","ml.m5.24xlarge","ml.m5.2xlarge","ml.m5.4xlarge","ml.m5.large","ml.m5.xlarge","ml.p2.16xlarge","ml.p2.8xlarge","ml.p2.xlarge","ml.p3.16xlarge","ml.p3.2xlarge","ml.p3.8xlarge","ml.p3dn.24xlarge","ml.p4d.24xlarge","ml.p5.48xlarge","ml.trn1.2xlarge","ml.trn1.32xlarge","ml.trn1n.32xlarge" break } diff --git a/modules/AWSPowerShell/Cmdlets/AutoScaling/Basic/Start-ASInstanceRefresh-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/AutoScaling/Basic/Start-ASInstanceRefresh-Cmdlet.cs index 05e79e9012..fcf366dc59 100644 --- a/modules/AWSPowerShell/Cmdlets/AutoScaling/Basic/Start-ASInstanceRefresh-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/AutoScaling/Basic/Start-ASInstanceRefresh-Cmdlet.cs @@ -74,7 +74,8 @@ public partial class StartASInstanceRefreshCmdlet : AmazonAutoScalingClientCmdle #region Parameter AlarmSpecification_Alarm /// /// - /// The names of one or more CloudWatch alarms to monitor for the instance refresh. + /// The names of one or more CloudWatch alarms to monitor for the instance refresh. You + /// can specify up to 10 alarms. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/Cloud9/Basic/New-C9EnvironmentEC2-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/Cloud9/Basic/New-C9EnvironmentEC2-Cmdlet.cs index 69bf44d0b4..706798b39a 100644 --- a/modules/AWSPowerShell/Cmdlets/Cloud9/Basic/New-C9EnvironmentEC2-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/Cloud9/Basic/New-C9EnvironmentEC2-Cmdlet.cs @@ -110,9 +110,11 @@ public partial class NewC9EnvironmentEC2Cmdlet : AmazonCloud9ClientCmdlet, IExec /// The identifier for the Amazon Machine Image (AMI) that's used to create the EC2 instance. /// To choose an AMI for the instance, you must specify a valid AMI alias or a valid Amazon /// EC2 Systems Manager (SSM) path.The default Amazon Linux AMI is currently used if the parameter isn't explicitly assigned - /// a value in the request. In the future the parameter for Amazon Linux will no longer be available when you - /// specify an AMI for your instance. Amazon Linux 2 will then become the default AMI, - /// which is used to launch your instance if no parameter is explicitly defined.AMI aliases
  • Amazon Linux (default): amazonlinux-1-x86_64
  • Amazon Linux 2: amazonlinux-2-x86_64
  • Ubuntu 18.04: ubuntu-18.04-x86_64
SSM paths
  • Amazon Linux (default): resolve:ssm:/aws/service/cloud9/amis/amazonlinux-1-x86_64
  • Amazon Linux 2: resolve:ssm:/aws/service/cloud9/amis/amazonlinux-2-x86_64
  • Ubuntu 18.04: resolve:ssm:/aws/service/cloud9/amis/ubuntu-18.04-x86_64
+ /// a value in the request. Because Amazon Linux AMI has ended standard support as of + /// December 31, 2020, we recommend you choose Amazon Linux 2, which includes long term + /// support through 2023.From December 31, 2023, the parameter for Amazon Linux will no longer be available + /// when you specify an AMI for your instance. Amazon Linux 2 will then become the default + /// AMI, which is used to launch your instance if no parameter is explicitly defined.AMI aliases
  • Amazon Linux (default): amazonlinux-1-x86_64
  • Amazon Linux 2: amazonlinux-2-x86_64
  • Ubuntu 18.04: ubuntu-18.04-x86_64
SSM paths
  • Amazon Linux (default): resolve:ssm:/aws/service/cloud9/amis/amazonlinux-1-x86_64
  • Amazon Linux 2: resolve:ssm:/aws/service/cloud9/amis/amazonlinux-2-x86_64
  • Ubuntu 18.04: resolve:ssm:/aws/service/cloud9/amis/ubuntu-18.04-x86_64
/// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/AWS.Tools.DatabaseMigrationService.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/AWS.Tools.DatabaseMigrationService.Completers.psm1 index 8a6e8ca5f1..d17f8078ee 100644 --- a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/AWS.Tools.DatabaseMigrationService.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/AWS.Tools.DatabaseMigrationService.Completers.psm1 @@ -172,6 +172,14 @@ $DMS_Completers = { # Amazon.DatabaseMigrationService.DmsSslModeValue { + ($_ -eq "Edit-DMSDataProvider/Settings_MicrosoftSqlServerSettings_SslMode") -Or + ($_ -eq "New-DMSDataProvider/Settings_MicrosoftSqlServerSettings_SslMode") -Or + ($_ -eq "Edit-DMSDataProvider/Settings_MySqlSettings_SslMode") -Or + ($_ -eq "New-DMSDataProvider/Settings_MySqlSettings_SslMode") -Or + ($_ -eq "Edit-DMSDataProvider/Settings_OracleSettings_SslMode") -Or + ($_ -eq "New-DMSDataProvider/Settings_OracleSettings_SslMode") -Or + ($_ -eq "Edit-DMSDataProvider/Settings_PostgreSqlSettings_SslMode") -Or + ($_ -eq "New-DMSDataProvider/Settings_PostgreSqlSettings_SslMode") -Or ($_ -eq "Edit-DMSEndpoint/SslMode") -Or ($_ -eq "New-DMSEndpoint/SslMode") } @@ -279,6 +287,16 @@ $DMS_Completers = { break } + # Amazon.DatabaseMigrationService.OriginTypeValue + { + ($_ -eq "Start-DMSMetadataModelExportAsScript/Origin") -Or + ($_ -eq "Start-DMSMetadataModelImport/Origin") + } + { + $v = "SOURCE","TARGET" + break + } + # Amazon.DatabaseMigrationService.ParquetVersionValue { ($_ -eq "Edit-DMSEndpoint/S3Settings_ParquetVersion") -Or @@ -410,6 +428,7 @@ $DMS_map = @{ "MongoDbSettings_NestingLevel"=@("Edit-DMSEndpoint","New-DMSEndpoint") "MySQLSettings_TargetDbType"=@("Edit-DMSEndpoint","New-DMSEndpoint") "OracleSettings_CharLengthSemantics"=@("Edit-DMSEndpoint","New-DMSEndpoint") + "Origin"=@("Start-DMSMetadataModelExportAsScript","Start-DMSMetadataModelImport") "PostgreSQLSettings_DatabaseMode"=@("Edit-DMSEndpoint","New-DMSEndpoint") "PostgreSQLSettings_MapLongVarcharAs"=@("Edit-DMSEndpoint","New-DMSEndpoint") "PostgreSQLSettings_PluginName"=@("Edit-DMSEndpoint","New-DMSEndpoint") @@ -426,6 +445,10 @@ $DMS_map = @{ "S3Settings_EncodingType"=@("Edit-DMSEndpoint","New-DMSEndpoint") "S3Settings_EncryptionMode"=@("Edit-DMSEndpoint","New-DMSEndpoint") "S3Settings_ParquetVersion"=@("Edit-DMSEndpoint","New-DMSEndpoint") + "Settings_MicrosoftSqlServerSettings_SslMode"=@("Edit-DMSDataProvider","New-DMSDataProvider") + "Settings_MySqlSettings_SslMode"=@("Edit-DMSDataProvider","New-DMSDataProvider") + "Settings_OracleSettings_SslMode"=@("Edit-DMSDataProvider","New-DMSDataProvider") + "Settings_PostgreSqlSettings_SslMode"=@("Edit-DMSDataProvider","New-DMSDataProvider") "SourceType"=@("Get-DMSEvent") "SslMode"=@("Edit-DMSEndpoint","New-DMSEndpoint") "StartReplicationTaskType"=@("Start-DMSReplicationTask") @@ -485,19 +508,25 @@ $DMS_SelectMap = @{ "Complete-DMSPendingMaintenanceAction", "Start-DMSBatchRecommendation", "Stop-DMSReplicationTaskAssessmentRun", + "New-DMSDataProvider", "New-DMSEndpoint", "New-DMSEventSubscription", "New-DMSFleetAdvisorCollector", + "New-DMSInstanceProfile", + "New-DMSMigrationProject", "New-DMSReplicationConfig", "New-DMSReplicationInstance", "New-DMSReplicationSubnetGroup", "New-DMSReplicationTask", "Remove-DMSCertificate", "Remove-DMSConnection", + "Remove-DMSDataProvider", "Remove-DMSEndpoint", "Remove-DMSEventSubscription", "Remove-DMSFleetAdvisorCollector", "Remove-DMSFleetAdvisorDatabaseId", + "Remove-DMSInstanceProfile", + "Remove-DMSMigrationProject", "Remove-DMSReplicationConfig", "Remove-DMSReplicationInstance", "Remove-DMSReplicationSubnetGroup", @@ -507,6 +536,8 @@ $DMS_SelectMap = @{ "Get-DMSApplicableIndividualAssessment", "Get-DMSCertificate", "Get-DMSConnection", + "Get-DMSConversionConfiguration", + "Get-DMSDataProvider", "Get-DMSEndpoint", "Get-DMSEndpointSetting", "Get-DMSEndpointType", @@ -514,11 +545,19 @@ $DMS_SelectMap = @{ "Get-DMSEventCategory", "Get-DMSEvent", "Get-DMSEventSubscription", + "Get-DMSExtensionPackAssociation", "Get-DMSFleetAdvisorCollector", "Get-DMSFleetAdvisorDatabase", "Get-DMSFleetAdvisorLsaAnalysis", "Get-DMSFleetAdvisorSchemaObjectSummary", "Get-DMSFleetAdvisorSchema", + "Get-DMSInstanceProfile", + "Get-DMSMetadataModelAssessment", + "Get-DMSMetadataModelConversion", + "Get-DMSMetadataModelExportsAsScript", + "Get-DMSMetadataModelExportsToTarget", + "Get-DMSMetadataModelImport", + "Get-DMSMigrationProject", "Get-DMSOrderableReplicationInstance", "Get-DMSPendingMaintenanceAction", "Get-DMSRecommendationLimitation", @@ -536,10 +575,15 @@ $DMS_SelectMap = @{ "Get-DMSReplicationTask", "Get-DMSSchema", "Get-DMSTableStatistic", + "Export-DMSMetadataModelAssessment", "Import-DMSCertificate", "Get-DMSResourceTag", + "Edit-DMSConversionConfiguration", + "Edit-DMSDataProvider", "Edit-DMSEndpoint", "Edit-DMSEventSubscription", + "Edit-DMSInstanceProfile", + "Edit-DMSMigrationProject", "Edit-DMSReplicationConfig", "Edit-DMSReplicationInstance", "Edit-DMSReplicationSubnetGroup", @@ -551,6 +595,12 @@ $DMS_SelectMap = @{ "Restore-DMSTable", "Remove-DMSResourceTag", "Start-DMSFleetAdvisorLsaAnalysis", + "Start-DMSExtensionPackAssociation", + "Start-DMSMetadataModelAssessment", + "Start-DMSMetadataModelConversion", + "Start-DMSMetadataModelExportAsScript", + "Start-DMSMetadataModelExportToTarget", + "Start-DMSMetadataModelImport", "Start-DMSRecommendation", "Start-DMSReplication", "Start-DMSReplicationTask", diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/AWS.Tools.DatabaseMigrationService.psd1 b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/AWS.Tools.DatabaseMigrationService.psd1 index 46d0b00783..02831e49ed 100644 --- a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/AWS.Tools.DatabaseMigrationService.psd1 +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/AWS.Tools.DatabaseMigrationService.psd1 @@ -87,16 +87,23 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 # Cmdlets to export from this module CmdletsToExport = @( 'Complete-DMSPendingMaintenanceAction', + 'Edit-DMSConversionConfiguration', + 'Edit-DMSDataProvider', 'Edit-DMSEndpoint', 'Edit-DMSEventSubscription', + 'Edit-DMSInstanceProfile', + 'Edit-DMSMigrationProject', 'Edit-DMSReplicationConfig', 'Edit-DMSReplicationInstance', 'Edit-DMSReplicationSubnetGroup', 'Edit-DMSReplicationTask', + 'Export-DMSMetadataModelAssessment', 'Get-DMSAccountAttribute', 'Get-DMSApplicableIndividualAssessment', 'Get-DMSCertificate', 'Get-DMSConnection', + 'Get-DMSConversionConfiguration', + 'Get-DMSDataProvider', 'Get-DMSEndpoint', 'Get-DMSEndpointSetting', 'Get-DMSEndpointType', @@ -104,11 +111,19 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Get-DMSEvent', 'Get-DMSEventCategory', 'Get-DMSEventSubscription', + 'Get-DMSExtensionPackAssociation', 'Get-DMSFleetAdvisorCollector', 'Get-DMSFleetAdvisorDatabase', 'Get-DMSFleetAdvisorLsaAnalysis', 'Get-DMSFleetAdvisorSchema', 'Get-DMSFleetAdvisorSchemaObjectSummary', + 'Get-DMSInstanceProfile', + 'Get-DMSMetadataModelAssessment', + 'Get-DMSMetadataModelConversion', + 'Get-DMSMetadataModelExportsAsScript', + 'Get-DMSMetadataModelExportsToTarget', + 'Get-DMSMetadataModelImport', + 'Get-DMSMigrationProject', 'Get-DMSOrderableReplicationInstance', 'Get-DMSPendingMaintenanceAction', 'Get-DMSRecommendation', @@ -130,19 +145,25 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Import-DMSCertificate', 'Invoke-DMSSchemaRefresh', 'Move-DMSReplicationTask', + 'New-DMSDataProvider', 'New-DMSEndpoint', 'New-DMSEventSubscription', 'New-DMSFleetAdvisorCollector', + 'New-DMSInstanceProfile', + 'New-DMSMigrationProject', 'New-DMSReplicationConfig', 'New-DMSReplicationInstance', 'New-DMSReplicationSubnetGroup', 'New-DMSReplicationTask', 'Remove-DMSCertificate', 'Remove-DMSConnection', + 'Remove-DMSDataProvider', 'Remove-DMSEndpoint', 'Remove-DMSEventSubscription', 'Remove-DMSFleetAdvisorCollector', 'Remove-DMSFleetAdvisorDatabaseId', + 'Remove-DMSInstanceProfile', + 'Remove-DMSMigrationProject', 'Remove-DMSReplicationConfig', 'Remove-DMSReplicationInstance', 'Remove-DMSReplicationSubnetGroup', @@ -154,7 +175,13 @@ This version of AWS Tools for PowerShell is compatible with Windows PowerShell 5 'Restore-DMSTable', 'Set-DMSResourceTag', 'Start-DMSBatchRecommendation', + 'Start-DMSExtensionPackAssociation', 'Start-DMSFleetAdvisorLsaAnalysis', + 'Start-DMSMetadataModelAssessment', + 'Start-DMSMetadataModelConversion', + 'Start-DMSMetadataModelExportAsScript', + 'Start-DMSMetadataModelExportToTarget', + 'Start-DMSMetadataModelImport', 'Start-DMSRecommendation', 'Start-DMSReplication', 'Start-DMSReplicationTask', diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Edit-DMSConversionConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Edit-DMSConversionConfiguration-Cmdlet.cs new file mode 100644 index 0000000000..8eecbc7751 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Edit-DMSConversionConfiguration-Cmdlet.cs @@ -0,0 +1,245 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Modifies the specified schema conversion configuration using the provided parameters. + /// + [Cmdlet("Edit", "DMSConversionConfiguration", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("System.String")] + [AWSCmdlet("Calls the AWS Database Migration Service ModifyConversionConfiguration API operation.", Operation = new[] {"ModifyConversionConfiguration"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.ModifyConversionConfigurationResponse))] + [AWSCmdletOutput("System.String or Amazon.DatabaseMigrationService.Model.ModifyConversionConfigurationResponse", + "This cmdlet returns a System.String object.", + "The service call response (type Amazon.DatabaseMigrationService.Model.ModifyConversionConfigurationResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class EditDMSConversionConfigurationCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter ConversionConfiguration + /// + /// + /// The new conversion configuration. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String ConversionConfiguration { get; set; } + #endregion + + #region Parameter MigrationProjectIdentifier + /// + /// + /// The migration project name or Amazon Resource Name (ARN). + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String MigrationProjectIdentifier { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'MigrationProjectIdentifier'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.ModifyConversionConfigurationResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.ModifyConversionConfigurationResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "MigrationProjectIdentifier"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the MigrationProjectIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.MigrationProjectIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Edit-DMSConversionConfiguration (ModifyConversionConfiguration)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.MigrationProjectIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.ConversionConfiguration = this.ConversionConfiguration; + #if MODULAR + if (this.ConversionConfiguration == null && ParameterWasBound(nameof(this.ConversionConfiguration))) + { + WriteWarning("You are passing $null as a value for parameter ConversionConfiguration which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.MigrationProjectIdentifier = this.MigrationProjectIdentifier; + #if MODULAR + if (this.MigrationProjectIdentifier == null && ParameterWasBound(nameof(this.MigrationProjectIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter MigrationProjectIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DatabaseMigrationService.Model.ModifyConversionConfigurationRequest(); + + if (cmdletContext.ConversionConfiguration != null) + { + request.ConversionConfiguration = cmdletContext.ConversionConfiguration; + } + if (cmdletContext.MigrationProjectIdentifier != null) + { + request.MigrationProjectIdentifier = cmdletContext.MigrationProjectIdentifier; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.ModifyConversionConfigurationResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.ModifyConversionConfigurationRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "ModifyConversionConfiguration"); + try + { + #if DESKTOP + return client.ModifyConversionConfiguration(request); + #elif CORECLR + return client.ModifyConversionConfigurationAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String ConversionConfiguration { get; set; } + public System.String MigrationProjectIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.MigrationProjectIdentifier; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Edit-DMSDataProvider-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Edit-DMSDataProvider-Cmdlet.cs new file mode 100644 index 0000000000..69229614d7 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Edit-DMSDataProvider-Cmdlet.cs @@ -0,0 +1,932 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Modifies the specified data provider using the provided settings. + /// + /// + /// You must remove the data provider from all migration projects before you can modify + /// it. + /// + /// + [Cmdlet("Edit", "DMSDataProvider", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.DatabaseMigrationService.Model.DataProvider")] + [AWSCmdlet("Calls the AWS Database Migration Service ModifyDataProvider API operation.", Operation = new[] {"ModifyDataProvider"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.ModifyDataProviderResponse))] + [AWSCmdletOutput("Amazon.DatabaseMigrationService.Model.DataProvider or Amazon.DatabaseMigrationService.Model.ModifyDataProviderResponse", + "This cmdlet returns an Amazon.DatabaseMigrationService.Model.DataProvider object.", + "The service call response (type Amazon.DatabaseMigrationService.Model.ModifyDataProviderResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class EditDMSDataProviderCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter OracleSettings_AsmServer + /// + /// + /// The address of your Oracle Automatic Storage Management (ASM) server. You can set + /// this value from the asm_server value. You set asm_server + /// as part of the extra connection attribute string to access an Oracle server with Binary + /// Reader that uses ASM. For more information, see Configuration + /// for change data capture (CDC) on an Oracle source database. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_OracleSettings_AsmServer")] + public System.String OracleSettings_AsmServer { get; set; } + #endregion + + #region Parameter MicrosoftSqlServerSettings_CertificateArn + /// + /// + /// The Amazon Resource Name (ARN) of the certificate used for SSL connection. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_MicrosoftSqlServerSettings_CertificateArn")] + public System.String MicrosoftSqlServerSettings_CertificateArn { get; set; } + #endregion + + #region Parameter MySqlSettings_CertificateArn + /// + /// + /// The Amazon Resource Name (ARN) of the certificate used for SSL connection. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_MySqlSettings_CertificateArn")] + public System.String MySqlSettings_CertificateArn { get; set; } + #endregion + + #region Parameter OracleSettings_CertificateArn + /// + /// + /// The Amazon Resource Name (ARN) of the certificate used for SSL connection. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_OracleSettings_CertificateArn")] + public System.String OracleSettings_CertificateArn { get; set; } + #endregion + + #region Parameter PostgreSqlSettings_CertificateArn + /// + /// + /// The Amazon Resource Name (ARN) of the certificate used for SSL connection. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_PostgreSqlSettings_CertificateArn")] + public System.String PostgreSqlSettings_CertificateArn { get; set; } + #endregion + + #region Parameter MicrosoftSqlServerSettings_DatabaseName + /// + /// + /// The database name on the Microsoft SQL Server data provider. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_MicrosoftSqlServerSettings_DatabaseName")] + public System.String MicrosoftSqlServerSettings_DatabaseName { get; set; } + #endregion + + #region Parameter OracleSettings_DatabaseName + /// + /// + /// The database name on the Oracle data provider. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_OracleSettings_DatabaseName")] + public System.String OracleSettings_DatabaseName { get; set; } + #endregion + + #region Parameter PostgreSqlSettings_DatabaseName + /// + /// + /// The database name on the PostgreSQL data provider. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_PostgreSqlSettings_DatabaseName")] + public System.String PostgreSqlSettings_DatabaseName { get; set; } + #endregion + + #region Parameter DataProviderIdentifier + /// + /// + /// The identifier of the data provider. Identifiers must begin with a letter and must + /// contain only ASCII letters, digits, and hyphens. They can't end with a hyphen, or + /// contain two consecutive hyphens. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DataProviderIdentifier { get; set; } + #endregion + + #region Parameter DataProviderName + /// + /// + /// The name of the data provider. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String DataProviderName { get; set; } + #endregion + + #region Parameter Description + /// + /// + /// A user-friendly description of the data provider. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Description { get; set; } + #endregion + + #region Parameter Engine + /// + /// + /// The type of database engine for the data provider. Valid values include "aurora", + /// "aurora_postgresql", "mysql", "oracle", "postgres", + /// and "sqlserver". A value of "aurora" represents Amazon Aurora + /// MySQL-Compatible Edition. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Engine { get; set; } + #endregion + + #region Parameter ExactSetting + /// + /// + /// If this attribute is Y, the current call to ModifyDataProvider replaces + /// all existing data provider settings with the exact settings that you specify in this + /// call. If this attribute is N, the current call to ModifyDataProvider + /// does two things:
  • It replaces any data provider settings that already exist with new values, for settings + /// with the same names.
  • It creates new data provider settings that you specify in the call, for settings with + /// different names.
+ ///
+ ///
+ [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("ExactSettings")] + public System.Boolean? ExactSetting { get; set; } + #endregion + + #region Parameter MicrosoftSqlServerSettings_Port + /// + /// + /// The port value for the Microsoft SQL Server data provider. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_MicrosoftSqlServerSettings_Port")] + public System.Int32? MicrosoftSqlServerSettings_Port { get; set; } + #endregion + + #region Parameter MySqlSettings_Port + /// + /// + /// The port value for the MySQL data provider. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_MySqlSettings_Port")] + public System.Int32? MySqlSettings_Port { get; set; } + #endregion + + #region Parameter OracleSettings_Port + /// + /// + /// The port value for the Oracle data provider. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_OracleSettings_Port")] + public System.Int32? OracleSettings_Port { get; set; } + #endregion + + #region Parameter PostgreSqlSettings_Port + /// + /// + /// The port value for the PostgreSQL data provider. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_PostgreSqlSettings_Port")] + public System.Int32? PostgreSqlSettings_Port { get; set; } + #endregion + + #region Parameter OracleSettings_SecretsManagerOracleAsmAccessRoleArn + /// + /// + /// The ARN of the IAM role that provides access to the secret in Secrets Manager that + /// contains the Oracle ASM connection details. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_OracleSettings_SecretsManagerOracleAsmAccessRoleArn")] + public System.String OracleSettings_SecretsManagerOracleAsmAccessRoleArn { get; set; } + #endregion + + #region Parameter OracleSettings_SecretsManagerOracleAsmSecretId + /// + /// + /// The identifier of the secret in Secrets Manager that contains the Oracle ASM connection + /// details.Required only if your data provider uses the Oracle ASM server. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_OracleSettings_SecretsManagerOracleAsmSecretId")] + public System.String OracleSettings_SecretsManagerOracleAsmSecretId { get; set; } + #endregion + + #region Parameter OracleSettings_SecretsManagerSecurityDbEncryptionAccessRoleArn + /// + /// + /// The ARN of the IAM role that provides access to the secret in Secrets Manager that + /// contains the TDE password. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_OracleSettings_SecretsManagerSecurityDbEncryptionAccessRoleArn")] + public System.String OracleSettings_SecretsManagerSecurityDbEncryptionAccessRoleArn { get; set; } + #endregion + + #region Parameter OracleSettings_SecretsManagerSecurityDbEncryptionSecretId + /// + /// + /// The identifier of the secret in Secrets Manager that contains the transparent data + /// encryption (TDE) password. DMS requires this password to access Oracle redo logs encrypted + /// by TDE using Binary Reader. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_OracleSettings_SecretsManagerSecurityDbEncryptionSecretId")] + public System.String OracleSettings_SecretsManagerSecurityDbEncryptionSecretId { get; set; } + #endregion + + #region Parameter MicrosoftSqlServerSettings_ServerName + /// + /// + /// The name of the Microsoft SQL Server server. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_MicrosoftSqlServerSettings_ServerName")] + public System.String MicrosoftSqlServerSettings_ServerName { get; set; } + #endregion + + #region Parameter MySqlSettings_ServerName + /// + /// + /// The name of the MySQL server. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_MySqlSettings_ServerName")] + public System.String MySqlSettings_ServerName { get; set; } + #endregion + + #region Parameter OracleSettings_ServerName + /// + /// + /// The name of the Oracle server. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_OracleSettings_ServerName")] + public System.String OracleSettings_ServerName { get; set; } + #endregion + + #region Parameter PostgreSqlSettings_ServerName + /// + /// + /// The name of the PostgreSQL server. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_PostgreSqlSettings_ServerName")] + public System.String PostgreSqlSettings_ServerName { get; set; } + #endregion + + #region Parameter MicrosoftSqlServerSettings_SslMode + /// + /// + /// The SSL mode used to connect to the Microsoft SQL Server data provider. The default + /// value is none. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_MicrosoftSqlServerSettings_SslMode")] + [AWSConstantClassSource("Amazon.DatabaseMigrationService.DmsSslModeValue")] + public Amazon.DatabaseMigrationService.DmsSslModeValue MicrosoftSqlServerSettings_SslMode { get; set; } + #endregion + + #region Parameter MySqlSettings_SslMode + /// + /// + /// The SSL mode used to connect to the MySQL data provider. The default value is none. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_MySqlSettings_SslMode")] + [AWSConstantClassSource("Amazon.DatabaseMigrationService.DmsSslModeValue")] + public Amazon.DatabaseMigrationService.DmsSslModeValue MySqlSettings_SslMode { get; set; } + #endregion + + #region Parameter OracleSettings_SslMode + /// + /// + /// The SSL mode used to connect to the Oracle data provider. The default value is none. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_OracleSettings_SslMode")] + [AWSConstantClassSource("Amazon.DatabaseMigrationService.DmsSslModeValue")] + public Amazon.DatabaseMigrationService.DmsSslModeValue OracleSettings_SslMode { get; set; } + #endregion + + #region Parameter PostgreSqlSettings_SslMode + /// + /// + /// The SSL mode used to connect to the PostgreSQL data provider. The default value is + /// none. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_PostgreSqlSettings_SslMode")] + [AWSConstantClassSource("Amazon.DatabaseMigrationService.DmsSslModeValue")] + public Amazon.DatabaseMigrationService.DmsSslModeValue PostgreSqlSettings_SslMode { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'DataProvider'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.ModifyDataProviderResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.ModifyDataProviderResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "DataProvider"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the DataProviderIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^DataProviderIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^DataProviderIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.DataProviderIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Edit-DMSDataProvider (ModifyDataProvider)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.DataProviderIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.DataProviderIdentifier = this.DataProviderIdentifier; + #if MODULAR + if (this.DataProviderIdentifier == null && ParameterWasBound(nameof(this.DataProviderIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter DataProviderIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.DataProviderName = this.DataProviderName; + context.Description = this.Description; + context.Engine = this.Engine; + context.ExactSetting = this.ExactSetting; + context.MicrosoftSqlServerSettings_CertificateArn = this.MicrosoftSqlServerSettings_CertificateArn; + context.MicrosoftSqlServerSettings_DatabaseName = this.MicrosoftSqlServerSettings_DatabaseName; + context.MicrosoftSqlServerSettings_Port = this.MicrosoftSqlServerSettings_Port; + context.MicrosoftSqlServerSettings_ServerName = this.MicrosoftSqlServerSettings_ServerName; + context.MicrosoftSqlServerSettings_SslMode = this.MicrosoftSqlServerSettings_SslMode; + context.MySqlSettings_CertificateArn = this.MySqlSettings_CertificateArn; + context.MySqlSettings_Port = this.MySqlSettings_Port; + context.MySqlSettings_ServerName = this.MySqlSettings_ServerName; + context.MySqlSettings_SslMode = this.MySqlSettings_SslMode; + context.OracleSettings_AsmServer = this.OracleSettings_AsmServer; + context.OracleSettings_CertificateArn = this.OracleSettings_CertificateArn; + context.OracleSettings_DatabaseName = this.OracleSettings_DatabaseName; + context.OracleSettings_Port = this.OracleSettings_Port; + context.OracleSettings_SecretsManagerOracleAsmAccessRoleArn = this.OracleSettings_SecretsManagerOracleAsmAccessRoleArn; + context.OracleSettings_SecretsManagerOracleAsmSecretId = this.OracleSettings_SecretsManagerOracleAsmSecretId; + context.OracleSettings_SecretsManagerSecurityDbEncryptionAccessRoleArn = this.OracleSettings_SecretsManagerSecurityDbEncryptionAccessRoleArn; + context.OracleSettings_SecretsManagerSecurityDbEncryptionSecretId = this.OracleSettings_SecretsManagerSecurityDbEncryptionSecretId; + context.OracleSettings_ServerName = this.OracleSettings_ServerName; + context.OracleSettings_SslMode = this.OracleSettings_SslMode; + context.PostgreSqlSettings_CertificateArn = this.PostgreSqlSettings_CertificateArn; + context.PostgreSqlSettings_DatabaseName = this.PostgreSqlSettings_DatabaseName; + context.PostgreSqlSettings_Port = this.PostgreSqlSettings_Port; + context.PostgreSqlSettings_ServerName = this.PostgreSqlSettings_ServerName; + context.PostgreSqlSettings_SslMode = this.PostgreSqlSettings_SslMode; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DatabaseMigrationService.Model.ModifyDataProviderRequest(); + + if (cmdletContext.DataProviderIdentifier != null) + { + request.DataProviderIdentifier = cmdletContext.DataProviderIdentifier; + } + if (cmdletContext.DataProviderName != null) + { + request.DataProviderName = cmdletContext.DataProviderName; + } + if (cmdletContext.Description != null) + { + request.Description = cmdletContext.Description; + } + if (cmdletContext.Engine != null) + { + request.Engine = cmdletContext.Engine; + } + if (cmdletContext.ExactSetting != null) + { + request.ExactSettings = cmdletContext.ExactSetting.Value; + } + + // populate Settings + var requestSettingsIsNull = true; + request.Settings = new Amazon.DatabaseMigrationService.Model.DataProviderSettings(); + Amazon.DatabaseMigrationService.Model.MySqlDataProviderSettings requestSettings_settings_MySqlSettings = null; + + // populate MySqlSettings + var requestSettings_settings_MySqlSettingsIsNull = true; + requestSettings_settings_MySqlSettings = new Amazon.DatabaseMigrationService.Model.MySqlDataProviderSettings(); + System.String requestSettings_settings_MySqlSettings_mySqlSettings_CertificateArn = null; + if (cmdletContext.MySqlSettings_CertificateArn != null) + { + requestSettings_settings_MySqlSettings_mySqlSettings_CertificateArn = cmdletContext.MySqlSettings_CertificateArn; + } + if (requestSettings_settings_MySqlSettings_mySqlSettings_CertificateArn != null) + { + requestSettings_settings_MySqlSettings.CertificateArn = requestSettings_settings_MySqlSettings_mySqlSettings_CertificateArn; + requestSettings_settings_MySqlSettingsIsNull = false; + } + System.Int32? requestSettings_settings_MySqlSettings_mySqlSettings_Port = null; + if (cmdletContext.MySqlSettings_Port != null) + { + requestSettings_settings_MySqlSettings_mySqlSettings_Port = cmdletContext.MySqlSettings_Port.Value; + } + if (requestSettings_settings_MySqlSettings_mySqlSettings_Port != null) + { + requestSettings_settings_MySqlSettings.Port = requestSettings_settings_MySqlSettings_mySqlSettings_Port.Value; + requestSettings_settings_MySqlSettingsIsNull = false; + } + System.String requestSettings_settings_MySqlSettings_mySqlSettings_ServerName = null; + if (cmdletContext.MySqlSettings_ServerName != null) + { + requestSettings_settings_MySqlSettings_mySqlSettings_ServerName = cmdletContext.MySqlSettings_ServerName; + } + if (requestSettings_settings_MySqlSettings_mySqlSettings_ServerName != null) + { + requestSettings_settings_MySqlSettings.ServerName = requestSettings_settings_MySqlSettings_mySqlSettings_ServerName; + requestSettings_settings_MySqlSettingsIsNull = false; + } + Amazon.DatabaseMigrationService.DmsSslModeValue requestSettings_settings_MySqlSettings_mySqlSettings_SslMode = null; + if (cmdletContext.MySqlSettings_SslMode != null) + { + requestSettings_settings_MySqlSettings_mySqlSettings_SslMode = cmdletContext.MySqlSettings_SslMode; + } + if (requestSettings_settings_MySqlSettings_mySqlSettings_SslMode != null) + { + requestSettings_settings_MySqlSettings.SslMode = requestSettings_settings_MySqlSettings_mySqlSettings_SslMode; + requestSettings_settings_MySqlSettingsIsNull = false; + } + // determine if requestSettings_settings_MySqlSettings should be set to null + if (requestSettings_settings_MySqlSettingsIsNull) + { + requestSettings_settings_MySqlSettings = null; + } + if (requestSettings_settings_MySqlSettings != null) + { + request.Settings.MySqlSettings = requestSettings_settings_MySqlSettings; + requestSettingsIsNull = false; + } + Amazon.DatabaseMigrationService.Model.MicrosoftSqlServerDataProviderSettings requestSettings_settings_MicrosoftSqlServerSettings = null; + + // populate MicrosoftSqlServerSettings + var requestSettings_settings_MicrosoftSqlServerSettingsIsNull = true; + requestSettings_settings_MicrosoftSqlServerSettings = new Amazon.DatabaseMigrationService.Model.MicrosoftSqlServerDataProviderSettings(); + System.String requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_CertificateArn = null; + if (cmdletContext.MicrosoftSqlServerSettings_CertificateArn != null) + { + requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_CertificateArn = cmdletContext.MicrosoftSqlServerSettings_CertificateArn; + } + if (requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_CertificateArn != null) + { + requestSettings_settings_MicrosoftSqlServerSettings.CertificateArn = requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_CertificateArn; + requestSettings_settings_MicrosoftSqlServerSettingsIsNull = false; + } + System.String requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_DatabaseName = null; + if (cmdletContext.MicrosoftSqlServerSettings_DatabaseName != null) + { + requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_DatabaseName = cmdletContext.MicrosoftSqlServerSettings_DatabaseName; + } + if (requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_DatabaseName != null) + { + requestSettings_settings_MicrosoftSqlServerSettings.DatabaseName = requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_DatabaseName; + requestSettings_settings_MicrosoftSqlServerSettingsIsNull = false; + } + System.Int32? requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_Port = null; + if (cmdletContext.MicrosoftSqlServerSettings_Port != null) + { + requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_Port = cmdletContext.MicrosoftSqlServerSettings_Port.Value; + } + if (requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_Port != null) + { + requestSettings_settings_MicrosoftSqlServerSettings.Port = requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_Port.Value; + requestSettings_settings_MicrosoftSqlServerSettingsIsNull = false; + } + System.String requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_ServerName = null; + if (cmdletContext.MicrosoftSqlServerSettings_ServerName != null) + { + requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_ServerName = cmdletContext.MicrosoftSqlServerSettings_ServerName; + } + if (requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_ServerName != null) + { + requestSettings_settings_MicrosoftSqlServerSettings.ServerName = requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_ServerName; + requestSettings_settings_MicrosoftSqlServerSettingsIsNull = false; + } + Amazon.DatabaseMigrationService.DmsSslModeValue requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_SslMode = null; + if (cmdletContext.MicrosoftSqlServerSettings_SslMode != null) + { + requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_SslMode = cmdletContext.MicrosoftSqlServerSettings_SslMode; + } + if (requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_SslMode != null) + { + requestSettings_settings_MicrosoftSqlServerSettings.SslMode = requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_SslMode; + requestSettings_settings_MicrosoftSqlServerSettingsIsNull = false; + } + // determine if requestSettings_settings_MicrosoftSqlServerSettings should be set to null + if (requestSettings_settings_MicrosoftSqlServerSettingsIsNull) + { + requestSettings_settings_MicrosoftSqlServerSettings = null; + } + if (requestSettings_settings_MicrosoftSqlServerSettings != null) + { + request.Settings.MicrosoftSqlServerSettings = requestSettings_settings_MicrosoftSqlServerSettings; + requestSettingsIsNull = false; + } + Amazon.DatabaseMigrationService.Model.PostgreSqlDataProviderSettings requestSettings_settings_PostgreSqlSettings = null; + + // populate PostgreSqlSettings + var requestSettings_settings_PostgreSqlSettingsIsNull = true; + requestSettings_settings_PostgreSqlSettings = new Amazon.DatabaseMigrationService.Model.PostgreSqlDataProviderSettings(); + System.String requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_CertificateArn = null; + if (cmdletContext.PostgreSqlSettings_CertificateArn != null) + { + requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_CertificateArn = cmdletContext.PostgreSqlSettings_CertificateArn; + } + if (requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_CertificateArn != null) + { + requestSettings_settings_PostgreSqlSettings.CertificateArn = requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_CertificateArn; + requestSettings_settings_PostgreSqlSettingsIsNull = false; + } + System.String requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_DatabaseName = null; + if (cmdletContext.PostgreSqlSettings_DatabaseName != null) + { + requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_DatabaseName = cmdletContext.PostgreSqlSettings_DatabaseName; + } + if (requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_DatabaseName != null) + { + requestSettings_settings_PostgreSqlSettings.DatabaseName = requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_DatabaseName; + requestSettings_settings_PostgreSqlSettingsIsNull = false; + } + System.Int32? requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_Port = null; + if (cmdletContext.PostgreSqlSettings_Port != null) + { + requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_Port = cmdletContext.PostgreSqlSettings_Port.Value; + } + if (requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_Port != null) + { + requestSettings_settings_PostgreSqlSettings.Port = requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_Port.Value; + requestSettings_settings_PostgreSqlSettingsIsNull = false; + } + System.String requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_ServerName = null; + if (cmdletContext.PostgreSqlSettings_ServerName != null) + { + requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_ServerName = cmdletContext.PostgreSqlSettings_ServerName; + } + if (requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_ServerName != null) + { + requestSettings_settings_PostgreSqlSettings.ServerName = requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_ServerName; + requestSettings_settings_PostgreSqlSettingsIsNull = false; + } + Amazon.DatabaseMigrationService.DmsSslModeValue requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_SslMode = null; + if (cmdletContext.PostgreSqlSettings_SslMode != null) + { + requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_SslMode = cmdletContext.PostgreSqlSettings_SslMode; + } + if (requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_SslMode != null) + { + requestSettings_settings_PostgreSqlSettings.SslMode = requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_SslMode; + requestSettings_settings_PostgreSqlSettingsIsNull = false; + } + // determine if requestSettings_settings_PostgreSqlSettings should be set to null + if (requestSettings_settings_PostgreSqlSettingsIsNull) + { + requestSettings_settings_PostgreSqlSettings = null; + } + if (requestSettings_settings_PostgreSqlSettings != null) + { + request.Settings.PostgreSqlSettings = requestSettings_settings_PostgreSqlSettings; + requestSettingsIsNull = false; + } + Amazon.DatabaseMigrationService.Model.OracleDataProviderSettings requestSettings_settings_OracleSettings = null; + + // populate OracleSettings + var requestSettings_settings_OracleSettingsIsNull = true; + requestSettings_settings_OracleSettings = new Amazon.DatabaseMigrationService.Model.OracleDataProviderSettings(); + System.String requestSettings_settings_OracleSettings_oracleSettings_AsmServer = null; + if (cmdletContext.OracleSettings_AsmServer != null) + { + requestSettings_settings_OracleSettings_oracleSettings_AsmServer = cmdletContext.OracleSettings_AsmServer; + } + if (requestSettings_settings_OracleSettings_oracleSettings_AsmServer != null) + { + requestSettings_settings_OracleSettings.AsmServer = requestSettings_settings_OracleSettings_oracleSettings_AsmServer; + requestSettings_settings_OracleSettingsIsNull = false; + } + System.String requestSettings_settings_OracleSettings_oracleSettings_CertificateArn = null; + if (cmdletContext.OracleSettings_CertificateArn != null) + { + requestSettings_settings_OracleSettings_oracleSettings_CertificateArn = cmdletContext.OracleSettings_CertificateArn; + } + if (requestSettings_settings_OracleSettings_oracleSettings_CertificateArn != null) + { + requestSettings_settings_OracleSettings.CertificateArn = requestSettings_settings_OracleSettings_oracleSettings_CertificateArn; + requestSettings_settings_OracleSettingsIsNull = false; + } + System.String requestSettings_settings_OracleSettings_oracleSettings_DatabaseName = null; + if (cmdletContext.OracleSettings_DatabaseName != null) + { + requestSettings_settings_OracleSettings_oracleSettings_DatabaseName = cmdletContext.OracleSettings_DatabaseName; + } + if (requestSettings_settings_OracleSettings_oracleSettings_DatabaseName != null) + { + requestSettings_settings_OracleSettings.DatabaseName = requestSettings_settings_OracleSettings_oracleSettings_DatabaseName; + requestSettings_settings_OracleSettingsIsNull = false; + } + System.Int32? requestSettings_settings_OracleSettings_oracleSettings_Port = null; + if (cmdletContext.OracleSettings_Port != null) + { + requestSettings_settings_OracleSettings_oracleSettings_Port = cmdletContext.OracleSettings_Port.Value; + } + if (requestSettings_settings_OracleSettings_oracleSettings_Port != null) + { + requestSettings_settings_OracleSettings.Port = requestSettings_settings_OracleSettings_oracleSettings_Port.Value; + requestSettings_settings_OracleSettingsIsNull = false; + } + System.String requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerOracleAsmAccessRoleArn = null; + if (cmdletContext.OracleSettings_SecretsManagerOracleAsmAccessRoleArn != null) + { + requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerOracleAsmAccessRoleArn = cmdletContext.OracleSettings_SecretsManagerOracleAsmAccessRoleArn; + } + if (requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerOracleAsmAccessRoleArn != null) + { + requestSettings_settings_OracleSettings.SecretsManagerOracleAsmAccessRoleArn = requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerOracleAsmAccessRoleArn; + requestSettings_settings_OracleSettingsIsNull = false; + } + System.String requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerOracleAsmSecretId = null; + if (cmdletContext.OracleSettings_SecretsManagerOracleAsmSecretId != null) + { + requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerOracleAsmSecretId = cmdletContext.OracleSettings_SecretsManagerOracleAsmSecretId; + } + if (requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerOracleAsmSecretId != null) + { + requestSettings_settings_OracleSettings.SecretsManagerOracleAsmSecretId = requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerOracleAsmSecretId; + requestSettings_settings_OracleSettingsIsNull = false; + } + System.String requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerSecurityDbEncryptionAccessRoleArn = null; + if (cmdletContext.OracleSettings_SecretsManagerSecurityDbEncryptionAccessRoleArn != null) + { + requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerSecurityDbEncryptionAccessRoleArn = cmdletContext.OracleSettings_SecretsManagerSecurityDbEncryptionAccessRoleArn; + } + if (requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerSecurityDbEncryptionAccessRoleArn != null) + { + requestSettings_settings_OracleSettings.SecretsManagerSecurityDbEncryptionAccessRoleArn = requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerSecurityDbEncryptionAccessRoleArn; + requestSettings_settings_OracleSettingsIsNull = false; + } + System.String requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerSecurityDbEncryptionSecretId = null; + if (cmdletContext.OracleSettings_SecretsManagerSecurityDbEncryptionSecretId != null) + { + requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerSecurityDbEncryptionSecretId = cmdletContext.OracleSettings_SecretsManagerSecurityDbEncryptionSecretId; + } + if (requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerSecurityDbEncryptionSecretId != null) + { + requestSettings_settings_OracleSettings.SecretsManagerSecurityDbEncryptionSecretId = requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerSecurityDbEncryptionSecretId; + requestSettings_settings_OracleSettingsIsNull = false; + } + System.String requestSettings_settings_OracleSettings_oracleSettings_ServerName = null; + if (cmdletContext.OracleSettings_ServerName != null) + { + requestSettings_settings_OracleSettings_oracleSettings_ServerName = cmdletContext.OracleSettings_ServerName; + } + if (requestSettings_settings_OracleSettings_oracleSettings_ServerName != null) + { + requestSettings_settings_OracleSettings.ServerName = requestSettings_settings_OracleSettings_oracleSettings_ServerName; + requestSettings_settings_OracleSettingsIsNull = false; + } + Amazon.DatabaseMigrationService.DmsSslModeValue requestSettings_settings_OracleSettings_oracleSettings_SslMode = null; + if (cmdletContext.OracleSettings_SslMode != null) + { + requestSettings_settings_OracleSettings_oracleSettings_SslMode = cmdletContext.OracleSettings_SslMode; + } + if (requestSettings_settings_OracleSettings_oracleSettings_SslMode != null) + { + requestSettings_settings_OracleSettings.SslMode = requestSettings_settings_OracleSettings_oracleSettings_SslMode; + requestSettings_settings_OracleSettingsIsNull = false; + } + // determine if requestSettings_settings_OracleSettings should be set to null + if (requestSettings_settings_OracleSettingsIsNull) + { + requestSettings_settings_OracleSettings = null; + } + if (requestSettings_settings_OracleSettings != null) + { + request.Settings.OracleSettings = requestSettings_settings_OracleSettings; + requestSettingsIsNull = false; + } + // determine if request.Settings should be set to null + if (requestSettingsIsNull) + { + request.Settings = null; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.ModifyDataProviderResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.ModifyDataProviderRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "ModifyDataProvider"); + try + { + #if DESKTOP + return client.ModifyDataProvider(request); + #elif CORECLR + return client.ModifyDataProviderAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String DataProviderIdentifier { get; set; } + public System.String DataProviderName { get; set; } + public System.String Description { get; set; } + public System.String Engine { get; set; } + public System.Boolean? ExactSetting { get; set; } + public System.String MicrosoftSqlServerSettings_CertificateArn { get; set; } + public System.String MicrosoftSqlServerSettings_DatabaseName { get; set; } + public System.Int32? MicrosoftSqlServerSettings_Port { get; set; } + public System.String MicrosoftSqlServerSettings_ServerName { get; set; } + public Amazon.DatabaseMigrationService.DmsSslModeValue MicrosoftSqlServerSettings_SslMode { get; set; } + public System.String MySqlSettings_CertificateArn { get; set; } + public System.Int32? MySqlSettings_Port { get; set; } + public System.String MySqlSettings_ServerName { get; set; } + public Amazon.DatabaseMigrationService.DmsSslModeValue MySqlSettings_SslMode { get; set; } + public System.String OracleSettings_AsmServer { get; set; } + public System.String OracleSettings_CertificateArn { get; set; } + public System.String OracleSettings_DatabaseName { get; set; } + public System.Int32? OracleSettings_Port { get; set; } + public System.String OracleSettings_SecretsManagerOracleAsmAccessRoleArn { get; set; } + public System.String OracleSettings_SecretsManagerOracleAsmSecretId { get; set; } + public System.String OracleSettings_SecretsManagerSecurityDbEncryptionAccessRoleArn { get; set; } + public System.String OracleSettings_SecretsManagerSecurityDbEncryptionSecretId { get; set; } + public System.String OracleSettings_ServerName { get; set; } + public Amazon.DatabaseMigrationService.DmsSslModeValue OracleSettings_SslMode { get; set; } + public System.String PostgreSqlSettings_CertificateArn { get; set; } + public System.String PostgreSqlSettings_DatabaseName { get; set; } + public System.Int32? PostgreSqlSettings_Port { get; set; } + public System.String PostgreSqlSettings_ServerName { get; set; } + public Amazon.DatabaseMigrationService.DmsSslModeValue PostgreSqlSettings_SslMode { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.DataProvider; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Edit-DMSInstanceProfile-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Edit-DMSInstanceProfile-Cmdlet.cs new file mode 100644 index 0000000000..c4d1fd9ba6 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Edit-DMSInstanceProfile-Cmdlet.cs @@ -0,0 +1,366 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Modifies the specified instance profile using the provided parameters. + /// + /// + /// All migration projects associated with the instance profile must be deleted or modified + /// before you can modify the instance profile. + /// + /// + [Cmdlet("Edit", "DMSInstanceProfile", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.DatabaseMigrationService.Model.InstanceProfile")] + [AWSCmdlet("Calls the AWS Database Migration Service ModifyInstanceProfile API operation.", Operation = new[] {"ModifyInstanceProfile"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.ModifyInstanceProfileResponse))] + [AWSCmdletOutput("Amazon.DatabaseMigrationService.Model.InstanceProfile or Amazon.DatabaseMigrationService.Model.ModifyInstanceProfileResponse", + "This cmdlet returns an Amazon.DatabaseMigrationService.Model.InstanceProfile object.", + "The service call response (type Amazon.DatabaseMigrationService.Model.ModifyInstanceProfileResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class EditDMSInstanceProfileCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter AvailabilityZone + /// + /// + /// The Availability Zone where the instance profile runs. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String AvailabilityZone { get; set; } + #endregion + + #region Parameter Description + /// + /// + /// A user-friendly description for the instance profile. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Description { get; set; } + #endregion + + #region Parameter InstanceProfileIdentifier + /// + /// + /// The identifier of the instance profile. Identifiers must begin with a letter and must + /// contain only ASCII letters, digits, and hyphens. They can't end with a hyphen, or + /// contain two consecutive hyphens. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String InstanceProfileIdentifier { get; set; } + #endregion + + #region Parameter InstanceProfileName + /// + /// + /// A user-friendly name for the instance profile. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String InstanceProfileName { get; set; } + #endregion + + #region Parameter KmsKeyArn + /// + /// + /// The Amazon Resource Name (ARN) of the KMS key that is used to encrypt the connection + /// parameters for the instance profile.If you don't specify a value for the KmsKeyArn parameter, then DMS uses + /// your default encryption key.KMS creates the default encryption key for your Amazon Web Services account. Your + /// Amazon Web Services account has a different default encryption key for each Amazon + /// Web Services Region. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String KmsKeyArn { get; set; } + #endregion + + #region Parameter NetworkType + /// + /// + /// Specifies the network type for the instance profile. A value of IPV4 + /// represents an instance profile with IPv4 network type and only supports IPv4 addressing. + /// A value of IPV6 represents an instance profile with IPv6 network type + /// and only supports IPv6 addressing. A value of DUAL represents an instance + /// profile with dual network type that supports IPv4 and IPv6 addressing. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String NetworkType { get; set; } + #endregion + + #region Parameter PubliclyAccessible + /// + /// + /// Specifies the accessibility options for the instance profile. A value of true + /// represents an instance profile with a public IP address. A value of false + /// represents an instance profile with a private IP address. The default value is true. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Boolean? PubliclyAccessible { get; set; } + #endregion + + #region Parameter SubnetGroupIdentifier + /// + /// + /// A subnet group to associate with the instance profile. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String SubnetGroupIdentifier { get; set; } + #endregion + + #region Parameter VpcSecurityGroup + /// + /// + /// Specifies the VPC security groups to be used with the instance profile. The VPC security + /// group must work with the VPC containing the instance profile. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("VpcSecurityGroups")] + public System.String[] VpcSecurityGroup { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'InstanceProfile'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.ModifyInstanceProfileResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.ModifyInstanceProfileResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "InstanceProfile"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the InstanceProfileIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^InstanceProfileIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^InstanceProfileIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.InstanceProfileIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Edit-DMSInstanceProfile (ModifyInstanceProfile)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.InstanceProfileIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.AvailabilityZone = this.AvailabilityZone; + context.Description = this.Description; + context.InstanceProfileIdentifier = this.InstanceProfileIdentifier; + #if MODULAR + if (this.InstanceProfileIdentifier == null && ParameterWasBound(nameof(this.InstanceProfileIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter InstanceProfileIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.InstanceProfileName = this.InstanceProfileName; + context.KmsKeyArn = this.KmsKeyArn; + context.NetworkType = this.NetworkType; + context.PubliclyAccessible = this.PubliclyAccessible; + context.SubnetGroupIdentifier = this.SubnetGroupIdentifier; + if (this.VpcSecurityGroup != null) + { + context.VpcSecurityGroup = new List(this.VpcSecurityGroup); + } + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DatabaseMigrationService.Model.ModifyInstanceProfileRequest(); + + if (cmdletContext.AvailabilityZone != null) + { + request.AvailabilityZone = cmdletContext.AvailabilityZone; + } + if (cmdletContext.Description != null) + { + request.Description = cmdletContext.Description; + } + if (cmdletContext.InstanceProfileIdentifier != null) + { + request.InstanceProfileIdentifier = cmdletContext.InstanceProfileIdentifier; + } + if (cmdletContext.InstanceProfileName != null) + { + request.InstanceProfileName = cmdletContext.InstanceProfileName; + } + if (cmdletContext.KmsKeyArn != null) + { + request.KmsKeyArn = cmdletContext.KmsKeyArn; + } + if (cmdletContext.NetworkType != null) + { + request.NetworkType = cmdletContext.NetworkType; + } + if (cmdletContext.PubliclyAccessible != null) + { + request.PubliclyAccessible = cmdletContext.PubliclyAccessible.Value; + } + if (cmdletContext.SubnetGroupIdentifier != null) + { + request.SubnetGroupIdentifier = cmdletContext.SubnetGroupIdentifier; + } + if (cmdletContext.VpcSecurityGroup != null) + { + request.VpcSecurityGroups = cmdletContext.VpcSecurityGroup; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.ModifyInstanceProfileResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.ModifyInstanceProfileRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "ModifyInstanceProfile"); + try + { + #if DESKTOP + return client.ModifyInstanceProfile(request); + #elif CORECLR + return client.ModifyInstanceProfileAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String AvailabilityZone { get; set; } + public System.String Description { get; set; } + public System.String InstanceProfileIdentifier { get; set; } + public System.String InstanceProfileName { get; set; } + public System.String KmsKeyArn { get; set; } + public System.String NetworkType { get; set; } + public System.Boolean? PubliclyAccessible { get; set; } + public System.String SubnetGroupIdentifier { get; set; } + public List VpcSecurityGroup { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.InstanceProfile; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Edit-DMSMigrationProject-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Edit-DMSMigrationProject-Cmdlet.cs new file mode 100644 index 0000000000..5077ab2ef4 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Edit-DMSMigrationProject-Cmdlet.cs @@ -0,0 +1,386 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Modifies the specified migration project using the provided parameters. + /// + /// + /// The migration project must be closed before you can modify it. + /// + /// + [Cmdlet("Edit", "DMSMigrationProject", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.DatabaseMigrationService.Model.MigrationProject")] + [AWSCmdlet("Calls the AWS Database Migration Service ModifyMigrationProject API operation.", Operation = new[] {"ModifyMigrationProject"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.ModifyMigrationProjectResponse))] + [AWSCmdletOutput("Amazon.DatabaseMigrationService.Model.MigrationProject or Amazon.DatabaseMigrationService.Model.ModifyMigrationProjectResponse", + "This cmdlet returns an Amazon.DatabaseMigrationService.Model.MigrationProject object.", + "The service call response (type Amazon.DatabaseMigrationService.Model.ModifyMigrationProjectResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class EditDMSMigrationProjectCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter Description + /// + /// + /// A user-friendly description of the migration project. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Description { get; set; } + #endregion + + #region Parameter InstanceProfileIdentifier + /// + /// + /// The name or Amazon Resource Name (ARN) for the instance profile. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String InstanceProfileIdentifier { get; set; } + #endregion + + #region Parameter MigrationProjectIdentifier + /// + /// + /// The identifier of the migration project. Identifiers must begin with a letter and + /// must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen, + /// or contain two consecutive hyphens. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String MigrationProjectIdentifier { get; set; } + #endregion + + #region Parameter MigrationProjectName + /// + /// + /// A user-friendly name for the migration project. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String MigrationProjectName { get; set; } + #endregion + + #region Parameter SchemaConversionApplicationAttributes_S3BucketPath + /// + /// + /// The path for the Amazon S3 bucket that the application uses for exporting assessment + /// reports. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String SchemaConversionApplicationAttributes_S3BucketPath { get; set; } + #endregion + + #region Parameter SchemaConversionApplicationAttributes_S3BucketRoleArn + /// + /// + /// The ARN for the role the application uses to access its Amazon S3 bucket. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String SchemaConversionApplicationAttributes_S3BucketRoleArn { get; set; } + #endregion + + #region Parameter SourceDataProviderDescriptor + /// + /// + /// Information about the source data provider, including the name, ARN, and Amazon Web + /// Services Secrets Manager parameters. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("SourceDataProviderDescriptors")] + public Amazon.DatabaseMigrationService.Model.DataProviderDescriptorDefinition[] SourceDataProviderDescriptor { get; set; } + #endregion + + #region Parameter TargetDataProviderDescriptor + /// + /// + /// Information about the target data provider, including the name, ARN, and Amazon Web + /// Services Secrets Manager parameters. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("TargetDataProviderDescriptors")] + public Amazon.DatabaseMigrationService.Model.DataProviderDescriptorDefinition[] TargetDataProviderDescriptor { get; set; } + #endregion + + #region Parameter TransformationRule + /// + /// + /// The settings in JSON format for migration rules. Migration rules make it possible + /// for you to change the object names according to the rules that you specify. For example, + /// you can change an object name to lowercase or uppercase, add or remove a prefix or + /// suffix, or rename objects. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("TransformationRules")] + public System.String TransformationRule { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'MigrationProject'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.ModifyMigrationProjectResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.ModifyMigrationProjectResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "MigrationProject"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the MigrationProjectIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.MigrationProjectIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Edit-DMSMigrationProject (ModifyMigrationProject)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.MigrationProjectIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Description = this.Description; + context.InstanceProfileIdentifier = this.InstanceProfileIdentifier; + context.MigrationProjectIdentifier = this.MigrationProjectIdentifier; + #if MODULAR + if (this.MigrationProjectIdentifier == null && ParameterWasBound(nameof(this.MigrationProjectIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter MigrationProjectIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.MigrationProjectName = this.MigrationProjectName; + context.SchemaConversionApplicationAttributes_S3BucketPath = this.SchemaConversionApplicationAttributes_S3BucketPath; + context.SchemaConversionApplicationAttributes_S3BucketRoleArn = this.SchemaConversionApplicationAttributes_S3BucketRoleArn; + if (this.SourceDataProviderDescriptor != null) + { + context.SourceDataProviderDescriptor = new List(this.SourceDataProviderDescriptor); + } + if (this.TargetDataProviderDescriptor != null) + { + context.TargetDataProviderDescriptor = new List(this.TargetDataProviderDescriptor); + } + context.TransformationRule = this.TransformationRule; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DatabaseMigrationService.Model.ModifyMigrationProjectRequest(); + + if (cmdletContext.Description != null) + { + request.Description = cmdletContext.Description; + } + if (cmdletContext.InstanceProfileIdentifier != null) + { + request.InstanceProfileIdentifier = cmdletContext.InstanceProfileIdentifier; + } + if (cmdletContext.MigrationProjectIdentifier != null) + { + request.MigrationProjectIdentifier = cmdletContext.MigrationProjectIdentifier; + } + if (cmdletContext.MigrationProjectName != null) + { + request.MigrationProjectName = cmdletContext.MigrationProjectName; + } + + // populate SchemaConversionApplicationAttributes + var requestSchemaConversionApplicationAttributesIsNull = true; + request.SchemaConversionApplicationAttributes = new Amazon.DatabaseMigrationService.Model.SCApplicationAttributes(); + System.String requestSchemaConversionApplicationAttributes_schemaConversionApplicationAttributes_S3BucketPath = null; + if (cmdletContext.SchemaConversionApplicationAttributes_S3BucketPath != null) + { + requestSchemaConversionApplicationAttributes_schemaConversionApplicationAttributes_S3BucketPath = cmdletContext.SchemaConversionApplicationAttributes_S3BucketPath; + } + if (requestSchemaConversionApplicationAttributes_schemaConversionApplicationAttributes_S3BucketPath != null) + { + request.SchemaConversionApplicationAttributes.S3BucketPath = requestSchemaConversionApplicationAttributes_schemaConversionApplicationAttributes_S3BucketPath; + requestSchemaConversionApplicationAttributesIsNull = false; + } + System.String requestSchemaConversionApplicationAttributes_schemaConversionApplicationAttributes_S3BucketRoleArn = null; + if (cmdletContext.SchemaConversionApplicationAttributes_S3BucketRoleArn != null) + { + requestSchemaConversionApplicationAttributes_schemaConversionApplicationAttributes_S3BucketRoleArn = cmdletContext.SchemaConversionApplicationAttributes_S3BucketRoleArn; + } + if (requestSchemaConversionApplicationAttributes_schemaConversionApplicationAttributes_S3BucketRoleArn != null) + { + request.SchemaConversionApplicationAttributes.S3BucketRoleArn = requestSchemaConversionApplicationAttributes_schemaConversionApplicationAttributes_S3BucketRoleArn; + requestSchemaConversionApplicationAttributesIsNull = false; + } + // determine if request.SchemaConversionApplicationAttributes should be set to null + if (requestSchemaConversionApplicationAttributesIsNull) + { + request.SchemaConversionApplicationAttributes = null; + } + if (cmdletContext.SourceDataProviderDescriptor != null) + { + request.SourceDataProviderDescriptors = cmdletContext.SourceDataProviderDescriptor; + } + if (cmdletContext.TargetDataProviderDescriptor != null) + { + request.TargetDataProviderDescriptors = cmdletContext.TargetDataProviderDescriptor; + } + if (cmdletContext.TransformationRule != null) + { + request.TransformationRules = cmdletContext.TransformationRule; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.ModifyMigrationProjectResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.ModifyMigrationProjectRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "ModifyMigrationProject"); + try + { + #if DESKTOP + return client.ModifyMigrationProject(request); + #elif CORECLR + return client.ModifyMigrationProjectAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String Description { get; set; } + public System.String InstanceProfileIdentifier { get; set; } + public System.String MigrationProjectIdentifier { get; set; } + public System.String MigrationProjectName { get; set; } + public System.String SchemaConversionApplicationAttributes_S3BucketPath { get; set; } + public System.String SchemaConversionApplicationAttributes_S3BucketRoleArn { get; set; } + public List SourceDataProviderDescriptor { get; set; } + public List TargetDataProviderDescriptor { get; set; } + public System.String TransformationRule { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.MigrationProject; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Export-DMSMetadataModelAssessment-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Export-DMSMetadataModelAssessment-Cmdlet.cs new file mode 100644 index 0000000000..14480f1c77 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Export-DMSMetadataModelAssessment-Cmdlet.cs @@ -0,0 +1,282 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Saves a copy of a database migration assessment report to your Amazon S3 bucket. DMS + /// can save your assessment report as a comma-separated value (CSV) or a PDF file. + /// + [Cmdlet("Export", "DMSMetadataModelAssessment", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.DatabaseMigrationService.Model.ExportMetadataModelAssessmentResponse")] + [AWSCmdlet("Calls the AWS Database Migration Service ExportMetadataModelAssessment API operation.", Operation = new[] {"ExportMetadataModelAssessment"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.ExportMetadataModelAssessmentResponse))] + [AWSCmdletOutput("Amazon.DatabaseMigrationService.Model.ExportMetadataModelAssessmentResponse", + "This cmdlet returns an Amazon.DatabaseMigrationService.Model.ExportMetadataModelAssessmentResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class ExportDMSMetadataModelAssessmentCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter AssessmentReportType + /// + /// + /// The file format of the assessment file. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("AssessmentReportTypes")] + public System.String[] AssessmentReportType { get; set; } + #endregion + + #region Parameter FileName + /// + /// + /// The name of the assessment file to create in your Amazon S3 bucket. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String FileName { get; set; } + #endregion + + #region Parameter MigrationProjectIdentifier + /// + /// + /// The migration project name or Amazon Resource Name (ARN). + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String MigrationProjectIdentifier { get; set; } + #endregion + + #region Parameter SelectionRule + /// + /// + /// A value that specifies the database objects to assess. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [Alias("SelectionRules")] + public System.String SelectionRule { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.ExportMetadataModelAssessmentResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.ExportMetadataModelAssessmentResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the MigrationProjectIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.MigrationProjectIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Export-DMSMetadataModelAssessment (ExportMetadataModelAssessment)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.MigrationProjectIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (this.AssessmentReportType != null) + { + context.AssessmentReportType = new List(this.AssessmentReportType); + } + context.FileName = this.FileName; + context.MigrationProjectIdentifier = this.MigrationProjectIdentifier; + #if MODULAR + if (this.MigrationProjectIdentifier == null && ParameterWasBound(nameof(this.MigrationProjectIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter MigrationProjectIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.SelectionRule = this.SelectionRule; + #if MODULAR + if (this.SelectionRule == null && ParameterWasBound(nameof(this.SelectionRule))) + { + WriteWarning("You are passing $null as a value for parameter SelectionRule which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DatabaseMigrationService.Model.ExportMetadataModelAssessmentRequest(); + + if (cmdletContext.AssessmentReportType != null) + { + request.AssessmentReportTypes = cmdletContext.AssessmentReportType; + } + if (cmdletContext.FileName != null) + { + request.FileName = cmdletContext.FileName; + } + if (cmdletContext.MigrationProjectIdentifier != null) + { + request.MigrationProjectIdentifier = cmdletContext.MigrationProjectIdentifier; + } + if (cmdletContext.SelectionRule != null) + { + request.SelectionRules = cmdletContext.SelectionRule; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.ExportMetadataModelAssessmentResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.ExportMetadataModelAssessmentRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "ExportMetadataModelAssessment"); + try + { + #if DESKTOP + return client.ExportMetadataModelAssessment(request); + #elif CORECLR + return client.ExportMetadataModelAssessmentAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public List AssessmentReportType { get; set; } + public System.String FileName { get; set; } + public System.String MigrationProjectIdentifier { get; set; } + public System.String SelectionRule { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSConversionConfiguration-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSConversionConfiguration-Cmdlet.cs new file mode 100644 index 0000000000..5cf28b487d --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSConversionConfiguration-Cmdlet.cs @@ -0,0 +1,199 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Returns configuration parameters for a schema conversion project. + /// + [Cmdlet("Get", "DMSConversionConfiguration")] + [OutputType("Amazon.DatabaseMigrationService.Model.DescribeConversionConfigurationResponse")] + [AWSCmdlet("Calls the AWS Database Migration Service DescribeConversionConfiguration API operation.", Operation = new[] {"DescribeConversionConfiguration"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.DescribeConversionConfigurationResponse))] + [AWSCmdletOutput("Amazon.DatabaseMigrationService.Model.DescribeConversionConfigurationResponse", + "This cmdlet returns an Amazon.DatabaseMigrationService.Model.DescribeConversionConfigurationResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetDMSConversionConfigurationCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter MigrationProjectIdentifier + /// + /// + /// The name or Amazon Resource Name (ARN) for the schema conversion project to describe. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String MigrationProjectIdentifier { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is '*'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.DescribeConversionConfigurationResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.DescribeConversionConfigurationResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "*"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the MigrationProjectIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.MigrationProjectIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.MigrationProjectIdentifier = this.MigrationProjectIdentifier; + #if MODULAR + if (this.MigrationProjectIdentifier == null && ParameterWasBound(nameof(this.MigrationProjectIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter MigrationProjectIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DatabaseMigrationService.Model.DescribeConversionConfigurationRequest(); + + if (cmdletContext.MigrationProjectIdentifier != null) + { + request.MigrationProjectIdentifier = cmdletContext.MigrationProjectIdentifier; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.DescribeConversionConfigurationResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.DescribeConversionConfigurationRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "DescribeConversionConfiguration"); + try + { + #if DESKTOP + return client.DescribeConversionConfiguration(request); + #elif CORECLR + return client.DescribeConversionConfigurationAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String MigrationProjectIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSDataProvider-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSDataProvider-Cmdlet.cs new file mode 100644 index 0000000000..96a35d05d6 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSDataProvider-Cmdlet.cs @@ -0,0 +1,248 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Returns a paginated list of data providers for your account in the current region.

This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + ///
+ [Cmdlet("Get", "DMSDataProvider")] + [OutputType("Amazon.DatabaseMigrationService.Model.DataProvider")] + [AWSCmdlet("Calls the AWS Database Migration Service DescribeDataProviders API operation.", Operation = new[] {"DescribeDataProviders"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.DescribeDataProvidersResponse))] + [AWSCmdletOutput("Amazon.DatabaseMigrationService.Model.DataProvider or Amazon.DatabaseMigrationService.Model.DescribeDataProvidersResponse", + "This cmdlet returns a collection of Amazon.DatabaseMigrationService.Model.DataProvider objects.", + "The service call response (type Amazon.DatabaseMigrationService.Model.DescribeDataProvidersResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetDMSDataProviderCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter Filter + /// + /// + /// Filters applied to the data providers described in the form of key-value pairs. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Filters")] + public Amazon.DatabaseMigrationService.Model.Filter[] Filter { get; set; } + #endregion + + #region Parameter Marker + /// + /// + /// Specifies the unique pagination token that makes it possible to display the next page + /// of results. If this parameter is specified, the response includes only records beyond + /// the marker, up to the value specified by MaxRecords.If Marker is returned by a previous response, there are more results + /// available. The value of Marker is a unique pagination token for each + /// page. To retrieve the next page, make the call again using the returned token and + /// keeping all other arguments unchanged. + /// + /// + ///
Note: This parameter is only used if you are manually controlling output pagination of the service API call. + ///
In order to manually control output pagination, use '-Marker $null' for the first call and '-Marker $AWSHistory.LastServiceResponse.Marker' for subsequent calls. + ///
+ ///
+ [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("NextToken")] + public System.String Marker { get; set; } + #endregion + + #region Parameter MaxRecord + /// + /// + /// The maximum number of records to include in the response. If more records exist than + /// the specified MaxRecords value, DMS includes a pagination token in the + /// response so that you can retrieve the remaining results. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxRecords")] + public System.Int32? MaxRecord { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'DataProviders'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.DescribeDataProvidersResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.DescribeDataProvidersResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "DataProviders"; + #endregion + + #region Parameter NoAutoIteration + /// + /// By default the cmdlet will auto-iterate and retrieve all results to the pipeline by performing multiple + /// service calls. If set, the cmdlet will retrieve only the next 'page' of results using the value of Marker + /// as the start point. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter NoAutoIteration { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + if (this.Filter != null) + { + context.Filter = new List(this.Filter); + } + context.Marker = this.Marker; + context.MaxRecord = this.MaxRecord; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + var useParameterSelect = this.Select.StartsWith("^"); + + // create request and set iteration invariants + var request = new Amazon.DatabaseMigrationService.Model.DescribeDataProvidersRequest(); + + if (cmdletContext.Filter != null) + { + request.Filters = cmdletContext.Filter; + } + if (cmdletContext.MaxRecord != null) + { + request.MaxRecords = cmdletContext.MaxRecord.Value; + } + + // Initialize loop variant and commence piping + var _nextToken = cmdletContext.Marker; + var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.Marker)); + + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + do + { + request.Marker = _nextToken; + + CmdletOutput output; + + try + { + + var response = CallAWSServiceOperation(client, request); + + object pipelineOutput = null; + if (!useParameterSelect) + { + pipelineOutput = cmdletContext.Select(response, this); + } + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + + _nextToken = response.Marker; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + ProcessOutput(output); + + } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken)); + + if (useParameterSelect) + { + WriteObject(cmdletContext.Select(null, this)); + } + + + return null; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.DescribeDataProvidersResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.DescribeDataProvidersRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "DescribeDataProviders"); + try + { + #if DESKTOP + return client.DescribeDataProviders(request); + #elif CORECLR + return client.DescribeDataProvidersAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public List Filter { get; set; } + public System.String Marker { get; set; } + public System.Int32? MaxRecord { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.DataProviders; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSExtensionPackAssociation-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSExtensionPackAssociation-Cmdlet.cs new file mode 100644 index 0000000000..0fae709ecf --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSExtensionPackAssociation-Cmdlet.cs @@ -0,0 +1,302 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Returns a paginated list of extension pack associations for the specified migration + /// project. An extension pack is an add-on module that emulates functions present in + /// a source database that are required when converting objects to the target database.

This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + ///
+ [Cmdlet("Get", "DMSExtensionPackAssociation")] + [OutputType("Amazon.DatabaseMigrationService.Model.SchemaConversionRequest")] + [AWSCmdlet("Calls the AWS Database Migration Service DescribeExtensionPackAssociations API operation.", Operation = new[] {"DescribeExtensionPackAssociations"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.DescribeExtensionPackAssociationsResponse))] + [AWSCmdletOutput("Amazon.DatabaseMigrationService.Model.SchemaConversionRequest or Amazon.DatabaseMigrationService.Model.DescribeExtensionPackAssociationsResponse", + "This cmdlet returns a collection of Amazon.DatabaseMigrationService.Model.SchemaConversionRequest objects.", + "The service call response (type Amazon.DatabaseMigrationService.Model.DescribeExtensionPackAssociationsResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetDMSExtensionPackAssociationCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter Filter + /// + /// + /// Filters applied to the extension pack associations described in the form of key-value + /// pairs. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Filters")] + public Amazon.DatabaseMigrationService.Model.Filter[] Filter { get; set; } + #endregion + + #region Parameter MigrationProjectIdentifier + /// + /// + /// The name or Amazon Resource Name (ARN) for the migration project. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String MigrationProjectIdentifier { get; set; } + #endregion + + #region Parameter Marker + /// + /// + /// Specifies the unique pagination token that makes it possible to display the next page + /// of results. If this parameter is specified, the response includes only records beyond + /// the marker, up to the value specified by MaxRecords.If Marker is returned by a previous response, there are more results + /// available. The value of Marker is a unique pagination token for each + /// page. To retrieve the next page, make the call again using the returned token and + /// keeping all other arguments unchanged. + /// + /// + ///
Note: This parameter is only used if you are manually controlling output pagination of the service API call. + ///
In order to manually control output pagination, use '-Marker $null' for the first call and '-Marker $AWSHistory.LastServiceResponse.Marker' for subsequent calls. + ///
+ ///
+ [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("NextToken")] + public System.String Marker { get; set; } + #endregion + + #region Parameter MaxRecord + /// + /// + /// The maximum number of records to include in the response. If more records exist than + /// the specified MaxRecords value, DMS includes a pagination token in the + /// response so that you can retrieve the remaining results. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxRecords")] + public System.Int32? MaxRecord { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'Requests'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.DescribeExtensionPackAssociationsResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.DescribeExtensionPackAssociationsResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "Requests"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the MigrationProjectIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter NoAutoIteration + /// + /// By default the cmdlet will auto-iterate and retrieve all results to the pipeline by performing multiple + /// service calls. If set, the cmdlet will retrieve only the next 'page' of results using the value of Marker + /// as the start point. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter NoAutoIteration { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.MigrationProjectIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (this.Filter != null) + { + context.Filter = new List(this.Filter); + } + context.Marker = this.Marker; + context.MaxRecord = this.MaxRecord; + context.MigrationProjectIdentifier = this.MigrationProjectIdentifier; + #if MODULAR + if (this.MigrationProjectIdentifier == null && ParameterWasBound(nameof(this.MigrationProjectIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter MigrationProjectIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + var useParameterSelect = this.Select.StartsWith("^") || this.PassThru.IsPresent; + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + + // create request and set iteration invariants + var request = new Amazon.DatabaseMigrationService.Model.DescribeExtensionPackAssociationsRequest(); + + if (cmdletContext.Filter != null) + { + request.Filters = cmdletContext.Filter; + } + if (cmdletContext.MaxRecord != null) + { + request.MaxRecords = cmdletContext.MaxRecord.Value; + } + if (cmdletContext.MigrationProjectIdentifier != null) + { + request.MigrationProjectIdentifier = cmdletContext.MigrationProjectIdentifier; + } + + // Initialize loop variant and commence piping + var _nextToken = cmdletContext.Marker; + var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.Marker)); + + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + do + { + request.Marker = _nextToken; + + CmdletOutput output; + + try + { + + var response = CallAWSServiceOperation(client, request); + + object pipelineOutput = null; + if (!useParameterSelect) + { + pipelineOutput = cmdletContext.Select(response, this); + } + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + + _nextToken = response.Marker; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + ProcessOutput(output); + + } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken)); + + if (useParameterSelect) + { + WriteObject(cmdletContext.Select(null, this)); + } + + + return null; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.DescribeExtensionPackAssociationsResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.DescribeExtensionPackAssociationsRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "DescribeExtensionPackAssociations"); + try + { + #if DESKTOP + return client.DescribeExtensionPackAssociations(request); + #elif CORECLR + return client.DescribeExtensionPackAssociationsAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public List Filter { get; set; } + public System.String Marker { get; set; } + public System.Int32? MaxRecord { get; set; } + public System.String MigrationProjectIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.Requests; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSInstanceProfile-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSInstanceProfile-Cmdlet.cs new file mode 100644 index 0000000000..67c6462e50 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSInstanceProfile-Cmdlet.cs @@ -0,0 +1,248 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Returns a paginated list of instance profiles for your account in the current region.

This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + ///
+ [Cmdlet("Get", "DMSInstanceProfile")] + [OutputType("Amazon.DatabaseMigrationService.Model.InstanceProfile")] + [AWSCmdlet("Calls the AWS Database Migration Service DescribeInstanceProfiles API operation.", Operation = new[] {"DescribeInstanceProfiles"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.DescribeInstanceProfilesResponse))] + [AWSCmdletOutput("Amazon.DatabaseMigrationService.Model.InstanceProfile or Amazon.DatabaseMigrationService.Model.DescribeInstanceProfilesResponse", + "This cmdlet returns a collection of Amazon.DatabaseMigrationService.Model.InstanceProfile objects.", + "The service call response (type Amazon.DatabaseMigrationService.Model.DescribeInstanceProfilesResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetDMSInstanceProfileCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter Filter + /// + /// + /// Filters applied to the instance profiles described in the form of key-value pairs. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Filters")] + public Amazon.DatabaseMigrationService.Model.Filter[] Filter { get; set; } + #endregion + + #region Parameter Marker + /// + /// + /// Specifies the unique pagination token that makes it possible to display the next page + /// of results. If this parameter is specified, the response includes only records beyond + /// the marker, up to the value specified by MaxRecords.If Marker is returned by a previous response, there are more results + /// available. The value of Marker is a unique pagination token for each + /// page. To retrieve the next page, make the call again using the returned token and + /// keeping all other arguments unchanged. + /// + /// + ///
Note: This parameter is only used if you are manually controlling output pagination of the service API call. + ///
In order to manually control output pagination, use '-Marker $null' for the first call and '-Marker $AWSHistory.LastServiceResponse.Marker' for subsequent calls. + ///
+ ///
+ [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("NextToken")] + public System.String Marker { get; set; } + #endregion + + #region Parameter MaxRecord + /// + /// + /// The maximum number of records to include in the response. If more records exist than + /// the specified MaxRecords value, DMS includes a pagination token in the + /// response so that you can retrieve the remaining results. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxRecords")] + public System.Int32? MaxRecord { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'InstanceProfiles'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.DescribeInstanceProfilesResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.DescribeInstanceProfilesResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "InstanceProfiles"; + #endregion + + #region Parameter NoAutoIteration + /// + /// By default the cmdlet will auto-iterate and retrieve all results to the pipeline by performing multiple + /// service calls. If set, the cmdlet will retrieve only the next 'page' of results using the value of Marker + /// as the start point. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter NoAutoIteration { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + if (this.Filter != null) + { + context.Filter = new List(this.Filter); + } + context.Marker = this.Marker; + context.MaxRecord = this.MaxRecord; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + var useParameterSelect = this.Select.StartsWith("^"); + + // create request and set iteration invariants + var request = new Amazon.DatabaseMigrationService.Model.DescribeInstanceProfilesRequest(); + + if (cmdletContext.Filter != null) + { + request.Filters = cmdletContext.Filter; + } + if (cmdletContext.MaxRecord != null) + { + request.MaxRecords = cmdletContext.MaxRecord.Value; + } + + // Initialize loop variant and commence piping + var _nextToken = cmdletContext.Marker; + var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.Marker)); + + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + do + { + request.Marker = _nextToken; + + CmdletOutput output; + + try + { + + var response = CallAWSServiceOperation(client, request); + + object pipelineOutput = null; + if (!useParameterSelect) + { + pipelineOutput = cmdletContext.Select(response, this); + } + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + + _nextToken = response.Marker; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + ProcessOutput(output); + + } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken)); + + if (useParameterSelect) + { + WriteObject(cmdletContext.Select(null, this)); + } + + + return null; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.DescribeInstanceProfilesResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.DescribeInstanceProfilesRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "DescribeInstanceProfiles"); + try + { + #if DESKTOP + return client.DescribeInstanceProfiles(request); + #elif CORECLR + return client.DescribeInstanceProfilesAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public List Filter { get; set; } + public System.String Marker { get; set; } + public System.Int32? MaxRecord { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.InstanceProfiles; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSMetadataModelAssessment-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSMetadataModelAssessment-Cmdlet.cs new file mode 100644 index 0000000000..0c3e81aa72 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSMetadataModelAssessment-Cmdlet.cs @@ -0,0 +1,301 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Returns a paginated list of metadata model assessments for your account in the current + /// region.

This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + ///
+ [Cmdlet("Get", "DMSMetadataModelAssessment")] + [OutputType("Amazon.DatabaseMigrationService.Model.SchemaConversionRequest")] + [AWSCmdlet("Calls the AWS Database Migration Service DescribeMetadataModelAssessments API operation.", Operation = new[] {"DescribeMetadataModelAssessments"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.DescribeMetadataModelAssessmentsResponse))] + [AWSCmdletOutput("Amazon.DatabaseMigrationService.Model.SchemaConversionRequest or Amazon.DatabaseMigrationService.Model.DescribeMetadataModelAssessmentsResponse", + "This cmdlet returns a collection of Amazon.DatabaseMigrationService.Model.SchemaConversionRequest objects.", + "The service call response (type Amazon.DatabaseMigrationService.Model.DescribeMetadataModelAssessmentsResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetDMSMetadataModelAssessmentCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter Filter + /// + /// + /// Filters applied to the metadata model assessments described in the form of key-value + /// pairs. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Filters")] + public Amazon.DatabaseMigrationService.Model.Filter[] Filter { get; set; } + #endregion + + #region Parameter MigrationProjectIdentifier + /// + /// + /// The name or Amazon Resource Name (ARN) of the migration project. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String MigrationProjectIdentifier { get; set; } + #endregion + + #region Parameter Marker + /// + /// + /// Specifies the unique pagination token that makes it possible to display the next page + /// of results. If this parameter is specified, the response includes only records beyond + /// the marker, up to the value specified by MaxRecords.If Marker is returned by a previous response, there are more results + /// available. The value of Marker is a unique pagination token for each + /// page. To retrieve the next page, make the call again using the returned token and + /// keeping all other arguments unchanged. + /// + /// + ///
Note: This parameter is only used if you are manually controlling output pagination of the service API call. + ///
In order to manually control output pagination, use '-Marker $null' for the first call and '-Marker $AWSHistory.LastServiceResponse.Marker' for subsequent calls. + ///
+ ///
+ [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("NextToken")] + public System.String Marker { get; set; } + #endregion + + #region Parameter MaxRecord + /// + /// + /// The maximum number of records to include in the response. If more records exist than + /// the specified MaxRecords value, DMS includes a pagination token in the + /// response so that you can retrieve the remaining results. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxRecords")] + public System.Int32? MaxRecord { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'Requests'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.DescribeMetadataModelAssessmentsResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.DescribeMetadataModelAssessmentsResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "Requests"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the MigrationProjectIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter NoAutoIteration + /// + /// By default the cmdlet will auto-iterate and retrieve all results to the pipeline by performing multiple + /// service calls. If set, the cmdlet will retrieve only the next 'page' of results using the value of Marker + /// as the start point. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter NoAutoIteration { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.MigrationProjectIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (this.Filter != null) + { + context.Filter = new List(this.Filter); + } + context.Marker = this.Marker; + context.MaxRecord = this.MaxRecord; + context.MigrationProjectIdentifier = this.MigrationProjectIdentifier; + #if MODULAR + if (this.MigrationProjectIdentifier == null && ParameterWasBound(nameof(this.MigrationProjectIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter MigrationProjectIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + var useParameterSelect = this.Select.StartsWith("^") || this.PassThru.IsPresent; + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + + // create request and set iteration invariants + var request = new Amazon.DatabaseMigrationService.Model.DescribeMetadataModelAssessmentsRequest(); + + if (cmdletContext.Filter != null) + { + request.Filters = cmdletContext.Filter; + } + if (cmdletContext.MaxRecord != null) + { + request.MaxRecords = cmdletContext.MaxRecord.Value; + } + if (cmdletContext.MigrationProjectIdentifier != null) + { + request.MigrationProjectIdentifier = cmdletContext.MigrationProjectIdentifier; + } + + // Initialize loop variant and commence piping + var _nextToken = cmdletContext.Marker; + var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.Marker)); + + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + do + { + request.Marker = _nextToken; + + CmdletOutput output; + + try + { + + var response = CallAWSServiceOperation(client, request); + + object pipelineOutput = null; + if (!useParameterSelect) + { + pipelineOutput = cmdletContext.Select(response, this); + } + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + + _nextToken = response.Marker; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + ProcessOutput(output); + + } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken)); + + if (useParameterSelect) + { + WriteObject(cmdletContext.Select(null, this)); + } + + + return null; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.DescribeMetadataModelAssessmentsResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.DescribeMetadataModelAssessmentsRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "DescribeMetadataModelAssessments"); + try + { + #if DESKTOP + return client.DescribeMetadataModelAssessments(request); + #elif CORECLR + return client.DescribeMetadataModelAssessmentsAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public List Filter { get; set; } + public System.String Marker { get; set; } + public System.Int32? MaxRecord { get; set; } + public System.String MigrationProjectIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.Requests; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSMetadataModelConversion-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSMetadataModelConversion-Cmdlet.cs new file mode 100644 index 0000000000..bd233b0247 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSMetadataModelConversion-Cmdlet.cs @@ -0,0 +1,300 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Returns a paginated list of metadata model conversions for a migration project.

This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + ///
+ [Cmdlet("Get", "DMSMetadataModelConversion")] + [OutputType("Amazon.DatabaseMigrationService.Model.SchemaConversionRequest")] + [AWSCmdlet("Calls the AWS Database Migration Service DescribeMetadataModelConversions API operation.", Operation = new[] {"DescribeMetadataModelConversions"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.DescribeMetadataModelConversionsResponse))] + [AWSCmdletOutput("Amazon.DatabaseMigrationService.Model.SchemaConversionRequest or Amazon.DatabaseMigrationService.Model.DescribeMetadataModelConversionsResponse", + "This cmdlet returns a collection of Amazon.DatabaseMigrationService.Model.SchemaConversionRequest objects.", + "The service call response (type Amazon.DatabaseMigrationService.Model.DescribeMetadataModelConversionsResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetDMSMetadataModelConversionCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter Filter + /// + /// + /// Filters applied to the metadata model conversions described in the form of key-value + /// pairs. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Filters")] + public Amazon.DatabaseMigrationService.Model.Filter[] Filter { get; set; } + #endregion + + #region Parameter MigrationProjectIdentifier + /// + /// + /// The migration project name or Amazon Resource Name (ARN). + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String MigrationProjectIdentifier { get; set; } + #endregion + + #region Parameter Marker + /// + /// + /// Specifies the unique pagination token that makes it possible to display the next page + /// of results. If this parameter is specified, the response includes only records beyond + /// the marker, up to the value specified by MaxRecords.If Marker is returned by a previous response, there are more results + /// available. The value of Marker is a unique pagination token for each + /// page. To retrieve the next page, make the call again using the returned token and + /// keeping all other arguments unchanged. + /// + /// + ///
Note: This parameter is only used if you are manually controlling output pagination of the service API call. + ///
In order to manually control output pagination, use '-Marker $null' for the first call and '-Marker $AWSHistory.LastServiceResponse.Marker' for subsequent calls. + ///
+ ///
+ [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("NextToken")] + public System.String Marker { get; set; } + #endregion + + #region Parameter MaxRecord + /// + /// + /// The maximum number of records to include in the response. If more records exist than + /// the specified MaxRecords value, DMS includes a pagination token in the + /// response so that you can retrieve the remaining results. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxRecords")] + public System.Int32? MaxRecord { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'Requests'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.DescribeMetadataModelConversionsResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.DescribeMetadataModelConversionsResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "Requests"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the MigrationProjectIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter NoAutoIteration + /// + /// By default the cmdlet will auto-iterate and retrieve all results to the pipeline by performing multiple + /// service calls. If set, the cmdlet will retrieve only the next 'page' of results using the value of Marker + /// as the start point. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter NoAutoIteration { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.MigrationProjectIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (this.Filter != null) + { + context.Filter = new List(this.Filter); + } + context.Marker = this.Marker; + context.MaxRecord = this.MaxRecord; + context.MigrationProjectIdentifier = this.MigrationProjectIdentifier; + #if MODULAR + if (this.MigrationProjectIdentifier == null && ParameterWasBound(nameof(this.MigrationProjectIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter MigrationProjectIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + var useParameterSelect = this.Select.StartsWith("^") || this.PassThru.IsPresent; + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + + // create request and set iteration invariants + var request = new Amazon.DatabaseMigrationService.Model.DescribeMetadataModelConversionsRequest(); + + if (cmdletContext.Filter != null) + { + request.Filters = cmdletContext.Filter; + } + if (cmdletContext.MaxRecord != null) + { + request.MaxRecords = cmdletContext.MaxRecord.Value; + } + if (cmdletContext.MigrationProjectIdentifier != null) + { + request.MigrationProjectIdentifier = cmdletContext.MigrationProjectIdentifier; + } + + // Initialize loop variant and commence piping + var _nextToken = cmdletContext.Marker; + var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.Marker)); + + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + do + { + request.Marker = _nextToken; + + CmdletOutput output; + + try + { + + var response = CallAWSServiceOperation(client, request); + + object pipelineOutput = null; + if (!useParameterSelect) + { + pipelineOutput = cmdletContext.Select(response, this); + } + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + + _nextToken = response.Marker; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + ProcessOutput(output); + + } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken)); + + if (useParameterSelect) + { + WriteObject(cmdletContext.Select(null, this)); + } + + + return null; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.DescribeMetadataModelConversionsResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.DescribeMetadataModelConversionsRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "DescribeMetadataModelConversions"); + try + { + #if DESKTOP + return client.DescribeMetadataModelConversions(request); + #elif CORECLR + return client.DescribeMetadataModelConversionsAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public List Filter { get; set; } + public System.String Marker { get; set; } + public System.Int32? MaxRecord { get; set; } + public System.String MigrationProjectIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.Requests; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSMetadataModelExportsAsScript-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSMetadataModelExportsAsScript-Cmdlet.cs new file mode 100644 index 0000000000..46b55bce5a --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSMetadataModelExportsAsScript-Cmdlet.cs @@ -0,0 +1,299 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Returns a paginated list of metadata model exports.

This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + ///
+ [Cmdlet("Get", "DMSMetadataModelExportsAsScript")] + [OutputType("Amazon.DatabaseMigrationService.Model.SchemaConversionRequest")] + [AWSCmdlet("Calls the AWS Database Migration Service DescribeMetadataModelExportsAsScript API operation.", Operation = new[] {"DescribeMetadataModelExportsAsScript"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.DescribeMetadataModelExportsAsScriptResponse))] + [AWSCmdletOutput("Amazon.DatabaseMigrationService.Model.SchemaConversionRequest or Amazon.DatabaseMigrationService.Model.DescribeMetadataModelExportsAsScriptResponse", + "This cmdlet returns a collection of Amazon.DatabaseMigrationService.Model.SchemaConversionRequest objects.", + "The service call response (type Amazon.DatabaseMigrationService.Model.DescribeMetadataModelExportsAsScriptResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetDMSMetadataModelExportsAsScriptCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter Filter + /// + /// + /// Filters applied to the metadata model exports described in the form of key-value pairs. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Filters")] + public Amazon.DatabaseMigrationService.Model.Filter[] Filter { get; set; } + #endregion + + #region Parameter MigrationProjectIdentifier + /// + /// + /// The migration project name or Amazon Resource Name (ARN). + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String MigrationProjectIdentifier { get; set; } + #endregion + + #region Parameter Marker + /// + /// + /// Specifies the unique pagination token that makes it possible to display the next page + /// of results. If this parameter is specified, the response includes only records beyond + /// the marker, up to the value specified by MaxRecords.If Marker is returned by a previous response, there are more results + /// available. The value of Marker is a unique pagination token for each + /// page. To retrieve the next page, make the call again using the returned token and + /// keeping all other arguments unchanged. + /// + /// + ///
Note: This parameter is only used if you are manually controlling output pagination of the service API call. + ///
In order to manually control output pagination, use '-Marker $null' for the first call and '-Marker $AWSHistory.LastServiceResponse.Marker' for subsequent calls. + ///
+ ///
+ [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("NextToken")] + public System.String Marker { get; set; } + #endregion + + #region Parameter MaxRecord + /// + /// + /// The maximum number of records to include in the response. If more records exist than + /// the specified MaxRecords value, DMS includes a pagination token in the + /// response so that you can retrieve the remaining results. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxRecords")] + public System.Int32? MaxRecord { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'Requests'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.DescribeMetadataModelExportsAsScriptResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.DescribeMetadataModelExportsAsScriptResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "Requests"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the MigrationProjectIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter NoAutoIteration + /// + /// By default the cmdlet will auto-iterate and retrieve all results to the pipeline by performing multiple + /// service calls. If set, the cmdlet will retrieve only the next 'page' of results using the value of Marker + /// as the start point. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter NoAutoIteration { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.MigrationProjectIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (this.Filter != null) + { + context.Filter = new List(this.Filter); + } + context.Marker = this.Marker; + context.MaxRecord = this.MaxRecord; + context.MigrationProjectIdentifier = this.MigrationProjectIdentifier; + #if MODULAR + if (this.MigrationProjectIdentifier == null && ParameterWasBound(nameof(this.MigrationProjectIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter MigrationProjectIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + var useParameterSelect = this.Select.StartsWith("^") || this.PassThru.IsPresent; + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + + // create request and set iteration invariants + var request = new Amazon.DatabaseMigrationService.Model.DescribeMetadataModelExportsAsScriptRequest(); + + if (cmdletContext.Filter != null) + { + request.Filters = cmdletContext.Filter; + } + if (cmdletContext.MaxRecord != null) + { + request.MaxRecords = cmdletContext.MaxRecord.Value; + } + if (cmdletContext.MigrationProjectIdentifier != null) + { + request.MigrationProjectIdentifier = cmdletContext.MigrationProjectIdentifier; + } + + // Initialize loop variant and commence piping + var _nextToken = cmdletContext.Marker; + var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.Marker)); + + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + do + { + request.Marker = _nextToken; + + CmdletOutput output; + + try + { + + var response = CallAWSServiceOperation(client, request); + + object pipelineOutput = null; + if (!useParameterSelect) + { + pipelineOutput = cmdletContext.Select(response, this); + } + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + + _nextToken = response.Marker; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + ProcessOutput(output); + + } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken)); + + if (useParameterSelect) + { + WriteObject(cmdletContext.Select(null, this)); + } + + + return null; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.DescribeMetadataModelExportsAsScriptResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.DescribeMetadataModelExportsAsScriptRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "DescribeMetadataModelExportsAsScript"); + try + { + #if DESKTOP + return client.DescribeMetadataModelExportsAsScript(request); + #elif CORECLR + return client.DescribeMetadataModelExportsAsScriptAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public List Filter { get; set; } + public System.String Marker { get; set; } + public System.Int32? MaxRecord { get; set; } + public System.String MigrationProjectIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.Requests; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSMetadataModelExportsToTarget-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSMetadataModelExportsToTarget-Cmdlet.cs new file mode 100644 index 0000000000..946566d01f --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSMetadataModelExportsToTarget-Cmdlet.cs @@ -0,0 +1,299 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Returns a paginated list of metadata model exports.

This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + ///
+ [Cmdlet("Get", "DMSMetadataModelExportsToTarget")] + [OutputType("Amazon.DatabaseMigrationService.Model.SchemaConversionRequest")] + [AWSCmdlet("Calls the AWS Database Migration Service DescribeMetadataModelExportsToTarget API operation.", Operation = new[] {"DescribeMetadataModelExportsToTarget"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.DescribeMetadataModelExportsToTargetResponse))] + [AWSCmdletOutput("Amazon.DatabaseMigrationService.Model.SchemaConversionRequest or Amazon.DatabaseMigrationService.Model.DescribeMetadataModelExportsToTargetResponse", + "This cmdlet returns a collection of Amazon.DatabaseMigrationService.Model.SchemaConversionRequest objects.", + "The service call response (type Amazon.DatabaseMigrationService.Model.DescribeMetadataModelExportsToTargetResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetDMSMetadataModelExportsToTargetCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter Filter + /// + /// + /// Filters applied to the metadata model exports described in the form of key-value pairs. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Filters")] + public Amazon.DatabaseMigrationService.Model.Filter[] Filter { get; set; } + #endregion + + #region Parameter MigrationProjectIdentifier + /// + /// + /// The migration project name or Amazon Resource Name (ARN). + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String MigrationProjectIdentifier { get; set; } + #endregion + + #region Parameter Marker + /// + /// + /// Specifies the unique pagination token that makes it possible to display the next page + /// of results. If this parameter is specified, the response includes only records beyond + /// the marker, up to the value specified by MaxRecords.If Marker is returned by a previous response, there are more results + /// available. The value of Marker is a unique pagination token for each + /// page. To retrieve the next page, make the call again using the returned token and + /// keeping all other arguments unchanged. + /// + /// + ///
Note: This parameter is only used if you are manually controlling output pagination of the service API call. + ///
In order to manually control output pagination, use '-Marker $null' for the first call and '-Marker $AWSHistory.LastServiceResponse.Marker' for subsequent calls. + ///
+ ///
+ [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("NextToken")] + public System.String Marker { get; set; } + #endregion + + #region Parameter MaxRecord + /// + /// + /// The maximum number of records to include in the response. If more records exist than + /// the specified MaxRecords value, DMS includes a pagination token in the + /// response so that you can retrieve the remaining results. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxRecords")] + public System.Int32? MaxRecord { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'Requests'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.DescribeMetadataModelExportsToTargetResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.DescribeMetadataModelExportsToTargetResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "Requests"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the MigrationProjectIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter NoAutoIteration + /// + /// By default the cmdlet will auto-iterate and retrieve all results to the pipeline by performing multiple + /// service calls. If set, the cmdlet will retrieve only the next 'page' of results using the value of Marker + /// as the start point. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter NoAutoIteration { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.MigrationProjectIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (this.Filter != null) + { + context.Filter = new List(this.Filter); + } + context.Marker = this.Marker; + context.MaxRecord = this.MaxRecord; + context.MigrationProjectIdentifier = this.MigrationProjectIdentifier; + #if MODULAR + if (this.MigrationProjectIdentifier == null && ParameterWasBound(nameof(this.MigrationProjectIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter MigrationProjectIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + var useParameterSelect = this.Select.StartsWith("^") || this.PassThru.IsPresent; + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + + // create request and set iteration invariants + var request = new Amazon.DatabaseMigrationService.Model.DescribeMetadataModelExportsToTargetRequest(); + + if (cmdletContext.Filter != null) + { + request.Filters = cmdletContext.Filter; + } + if (cmdletContext.MaxRecord != null) + { + request.MaxRecords = cmdletContext.MaxRecord.Value; + } + if (cmdletContext.MigrationProjectIdentifier != null) + { + request.MigrationProjectIdentifier = cmdletContext.MigrationProjectIdentifier; + } + + // Initialize loop variant and commence piping + var _nextToken = cmdletContext.Marker; + var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.Marker)); + + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + do + { + request.Marker = _nextToken; + + CmdletOutput output; + + try + { + + var response = CallAWSServiceOperation(client, request); + + object pipelineOutput = null; + if (!useParameterSelect) + { + pipelineOutput = cmdletContext.Select(response, this); + } + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + + _nextToken = response.Marker; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + ProcessOutput(output); + + } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken)); + + if (useParameterSelect) + { + WriteObject(cmdletContext.Select(null, this)); + } + + + return null; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.DescribeMetadataModelExportsToTargetResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.DescribeMetadataModelExportsToTargetRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "DescribeMetadataModelExportsToTarget"); + try + { + #if DESKTOP + return client.DescribeMetadataModelExportsToTarget(request); + #elif CORECLR + return client.DescribeMetadataModelExportsToTargetAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public List Filter { get; set; } + public System.String Marker { get; set; } + public System.Int32? MaxRecord { get; set; } + public System.String MigrationProjectIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.Requests; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSMetadataModelImport-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSMetadataModelImport-Cmdlet.cs new file mode 100644 index 0000000000..1c491d2b07 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSMetadataModelImport-Cmdlet.cs @@ -0,0 +1,297 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Returns a paginated list of metadata model imports.

This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + ///
+ [Cmdlet("Get", "DMSMetadataModelImport")] + [OutputType("Amazon.DatabaseMigrationService.Model.SchemaConversionRequest")] + [AWSCmdlet("Calls the AWS Database Migration Service DescribeMetadataModelImports API operation.", Operation = new[] {"DescribeMetadataModelImports"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.DescribeMetadataModelImportsResponse))] + [AWSCmdletOutput("Amazon.DatabaseMigrationService.Model.SchemaConversionRequest or Amazon.DatabaseMigrationService.Model.DescribeMetadataModelImportsResponse", + "This cmdlet returns a collection of Amazon.DatabaseMigrationService.Model.SchemaConversionRequest objects.", + "The service call response (type Amazon.DatabaseMigrationService.Model.DescribeMetadataModelImportsResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetDMSMetadataModelImportCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter Filter + /// + /// + /// Filters applied to the metadata model imports described in the form of key-value pairs. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Filters")] + public Amazon.DatabaseMigrationService.Model.Filter[] Filter { get; set; } + #endregion + + #region Parameter MigrationProjectIdentifier + /// + /// + /// The migration project name or Amazon Resource Name (ARN). + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String MigrationProjectIdentifier { get; set; } + #endregion + + #region Parameter Marker + /// + /// + /// Specifies the unique pagination token that makes it possible to display the next page + /// of results. If this parameter is specified, the response includes only records beyond + /// the marker, up to the value specified by MaxRecords.If Marker is returned by a previous response, there are more results + /// available. The value of Marker is a unique pagination token for each + /// page. To retrieve the next page, make the call again using the returned token and + /// keeping all other arguments unchanged. + /// + /// + ///
Note: This parameter is only used if you are manually controlling output pagination of the service API call. + ///
In order to manually control output pagination, use '-Marker $null' for the first call and '-Marker $AWSHistory.LastServiceResponse.Marker' for subsequent calls. + ///
+ ///
+ [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("NextToken")] + public System.String Marker { get; set; } + #endregion + + #region Parameter MaxRecord + /// + /// + /// A paginated list of metadata model imports. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxRecords")] + public System.Int32? MaxRecord { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'Requests'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.DescribeMetadataModelImportsResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.DescribeMetadataModelImportsResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "Requests"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the MigrationProjectIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter NoAutoIteration + /// + /// By default the cmdlet will auto-iterate and retrieve all results to the pipeline by performing multiple + /// service calls. If set, the cmdlet will retrieve only the next 'page' of results using the value of Marker + /// as the start point. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter NoAutoIteration { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.MigrationProjectIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (this.Filter != null) + { + context.Filter = new List(this.Filter); + } + context.Marker = this.Marker; + context.MaxRecord = this.MaxRecord; + context.MigrationProjectIdentifier = this.MigrationProjectIdentifier; + #if MODULAR + if (this.MigrationProjectIdentifier == null && ParameterWasBound(nameof(this.MigrationProjectIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter MigrationProjectIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + var useParameterSelect = this.Select.StartsWith("^") || this.PassThru.IsPresent; + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + + // create request and set iteration invariants + var request = new Amazon.DatabaseMigrationService.Model.DescribeMetadataModelImportsRequest(); + + if (cmdletContext.Filter != null) + { + request.Filters = cmdletContext.Filter; + } + if (cmdletContext.MaxRecord != null) + { + request.MaxRecords = cmdletContext.MaxRecord.Value; + } + if (cmdletContext.MigrationProjectIdentifier != null) + { + request.MigrationProjectIdentifier = cmdletContext.MigrationProjectIdentifier; + } + + // Initialize loop variant and commence piping + var _nextToken = cmdletContext.Marker; + var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.Marker)); + + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + do + { + request.Marker = _nextToken; + + CmdletOutput output; + + try + { + + var response = CallAWSServiceOperation(client, request); + + object pipelineOutput = null; + if (!useParameterSelect) + { + pipelineOutput = cmdletContext.Select(response, this); + } + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + + _nextToken = response.Marker; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + ProcessOutput(output); + + } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken)); + + if (useParameterSelect) + { + WriteObject(cmdletContext.Select(null, this)); + } + + + return null; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.DescribeMetadataModelImportsResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.DescribeMetadataModelImportsRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "DescribeMetadataModelImports"); + try + { + #if DESKTOP + return client.DescribeMetadataModelImports(request); + #elif CORECLR + return client.DescribeMetadataModelImportsAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public List Filter { get; set; } + public System.String Marker { get; set; } + public System.Int32? MaxRecord { get; set; } + public System.String MigrationProjectIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.Requests; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSMigrationProject-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSMigrationProject-Cmdlet.cs new file mode 100644 index 0000000000..0d447d98a7 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Get-DMSMigrationProject-Cmdlet.cs @@ -0,0 +1,248 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Returns a paginated list of migration projects for your account in the current region.

This cmdlet automatically pages all available results to the pipeline - parameters related to iteration are only needed if you want to manually control the paginated output. To disable autopagination, use -NoAutoIteration. + ///
+ [Cmdlet("Get", "DMSMigrationProject")] + [OutputType("Amazon.DatabaseMigrationService.Model.MigrationProject")] + [AWSCmdlet("Calls the AWS Database Migration Service DescribeMigrationProjects API operation.", Operation = new[] {"DescribeMigrationProjects"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.DescribeMigrationProjectsResponse))] + [AWSCmdletOutput("Amazon.DatabaseMigrationService.Model.MigrationProject or Amazon.DatabaseMigrationService.Model.DescribeMigrationProjectsResponse", + "This cmdlet returns a collection of Amazon.DatabaseMigrationService.Model.MigrationProject objects.", + "The service call response (type Amazon.DatabaseMigrationService.Model.DescribeMigrationProjectsResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class GetDMSMigrationProjectCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter Filter + /// + /// + /// Filters applied to the migration projects described in the form of key-value pairs. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Filters")] + public Amazon.DatabaseMigrationService.Model.Filter[] Filter { get; set; } + #endregion + + #region Parameter Marker + /// + /// + /// Specifies the unique pagination token that makes it possible to display the next page + /// of results. If this parameter is specified, the response includes only records beyond + /// the marker, up to the value specified by MaxRecords.If Marker is returned by a previous response, there are more results + /// available. The value of Marker is a unique pagination token for each + /// page. To retrieve the next page, make the call again using the returned token and + /// keeping all other arguments unchanged. + /// + /// + ///
Note: This parameter is only used if you are manually controlling output pagination of the service API call. + ///
In order to manually control output pagination, use '-Marker $null' for the first call and '-Marker $AWSHistory.LastServiceResponse.Marker' for subsequent calls. + ///
+ ///
+ [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("NextToken")] + public System.String Marker { get; set; } + #endregion + + #region Parameter MaxRecord + /// + /// + /// The maximum number of records to include in the response. If more records exist than + /// the specified MaxRecords value, DMS includes a pagination token in the + /// response so that you can retrieve the remaining results. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("MaxRecords")] + public System.Int32? MaxRecord { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'MigrationProjects'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.DescribeMigrationProjectsResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.DescribeMigrationProjectsResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "MigrationProjects"; + #endregion + + #region Parameter NoAutoIteration + /// + /// By default the cmdlet will auto-iterate and retrieve all results to the pipeline by performing multiple + /// service calls. If set, the cmdlet will retrieve only the next 'page' of results using the value of Marker + /// as the start point. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter NoAutoIteration { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + } + if (this.Filter != null) + { + context.Filter = new List(this.Filter); + } + context.Marker = this.Marker; + context.MaxRecord = this.MaxRecord; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + var useParameterSelect = this.Select.StartsWith("^"); + + // create request and set iteration invariants + var request = new Amazon.DatabaseMigrationService.Model.DescribeMigrationProjectsRequest(); + + if (cmdletContext.Filter != null) + { + request.Filters = cmdletContext.Filter; + } + if (cmdletContext.MaxRecord != null) + { + request.MaxRecords = cmdletContext.MaxRecord.Value; + } + + // Initialize loop variant and commence piping + var _nextToken = cmdletContext.Marker; + var _userControllingPaging = this.NoAutoIteration.IsPresent || ParameterWasBound(nameof(this.Marker)); + + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + do + { + request.Marker = _nextToken; + + CmdletOutput output; + + try + { + + var response = CallAWSServiceOperation(client, request); + + object pipelineOutput = null; + if (!useParameterSelect) + { + pipelineOutput = cmdletContext.Select(response, this); + } + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + + _nextToken = response.Marker; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + ProcessOutput(output); + + } while (!_userControllingPaging && AutoIterationHelpers.HasValue(_nextToken)); + + if (useParameterSelect) + { + WriteObject(cmdletContext.Select(null, this)); + } + + + return null; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.DescribeMigrationProjectsResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.DescribeMigrationProjectsRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "DescribeMigrationProjects"); + try + { + #if DESKTOP + return client.DescribeMigrationProjects(request); + #elif CORECLR + return client.DescribeMigrationProjectsAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public List Filter { get; set; } + public System.String Marker { get; set; } + public System.Int32? MaxRecord { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.MigrationProjects; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/New-DMSDataProvider-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/New-DMSDataProvider-Cmdlet.cs new file mode 100644 index 0000000000..67b3305111 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/New-DMSDataProvider-Cmdlet.cs @@ -0,0 +1,908 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Creates a data provider using the provided settings. A data provider stores a data + /// store type and location information about your database. + /// + [Cmdlet("New", "DMSDataProvider", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.DatabaseMigrationService.Model.DataProvider")] + [AWSCmdlet("Calls the AWS Database Migration Service CreateDataProvider API operation.", Operation = new[] {"CreateDataProvider"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.CreateDataProviderResponse))] + [AWSCmdletOutput("Amazon.DatabaseMigrationService.Model.DataProvider or Amazon.DatabaseMigrationService.Model.CreateDataProviderResponse", + "This cmdlet returns an Amazon.DatabaseMigrationService.Model.DataProvider object.", + "The service call response (type Amazon.DatabaseMigrationService.Model.CreateDataProviderResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class NewDMSDataProviderCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter OracleSettings_AsmServer + /// + /// + /// The address of your Oracle Automatic Storage Management (ASM) server. You can set + /// this value from the asm_server value. You set asm_server + /// as part of the extra connection attribute string to access an Oracle server with Binary + /// Reader that uses ASM. For more information, see Configuration + /// for change data capture (CDC) on an Oracle source database. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_OracleSettings_AsmServer")] + public System.String OracleSettings_AsmServer { get; set; } + #endregion + + #region Parameter MicrosoftSqlServerSettings_CertificateArn + /// + /// + /// The Amazon Resource Name (ARN) of the certificate used for SSL connection. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_MicrosoftSqlServerSettings_CertificateArn")] + public System.String MicrosoftSqlServerSettings_CertificateArn { get; set; } + #endregion + + #region Parameter MySqlSettings_CertificateArn + /// + /// + /// The Amazon Resource Name (ARN) of the certificate used for SSL connection. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_MySqlSettings_CertificateArn")] + public System.String MySqlSettings_CertificateArn { get; set; } + #endregion + + #region Parameter OracleSettings_CertificateArn + /// + /// + /// The Amazon Resource Name (ARN) of the certificate used for SSL connection. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_OracleSettings_CertificateArn")] + public System.String OracleSettings_CertificateArn { get; set; } + #endregion + + #region Parameter PostgreSqlSettings_CertificateArn + /// + /// + /// The Amazon Resource Name (ARN) of the certificate used for SSL connection. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_PostgreSqlSettings_CertificateArn")] + public System.String PostgreSqlSettings_CertificateArn { get; set; } + #endregion + + #region Parameter MicrosoftSqlServerSettings_DatabaseName + /// + /// + /// The database name on the Microsoft SQL Server data provider. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_MicrosoftSqlServerSettings_DatabaseName")] + public System.String MicrosoftSqlServerSettings_DatabaseName { get; set; } + #endregion + + #region Parameter OracleSettings_DatabaseName + /// + /// + /// The database name on the Oracle data provider. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_OracleSettings_DatabaseName")] + public System.String OracleSettings_DatabaseName { get; set; } + #endregion + + #region Parameter PostgreSqlSettings_DatabaseName + /// + /// + /// The database name on the PostgreSQL data provider. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_PostgreSqlSettings_DatabaseName")] + public System.String PostgreSqlSettings_DatabaseName { get; set; } + #endregion + + #region Parameter DataProviderName + /// + /// + /// A user-friendly name for the data provider. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String DataProviderName { get; set; } + #endregion + + #region Parameter Description + /// + /// + /// A user-friendly description of the data provider. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Description { get; set; } + #endregion + + #region Parameter Engine + /// + /// + /// The type of database engine for the data provider. Valid values include "aurora", + /// "aurora_postgresql", "mysql", "oracle", "postgres", + /// and "sqlserver". A value of "aurora" represents Amazon Aurora + /// MySQL-Compatible Edition. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String Engine { get; set; } + #endregion + + #region Parameter MicrosoftSqlServerSettings_Port + /// + /// + /// The port value for the Microsoft SQL Server data provider. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_MicrosoftSqlServerSettings_Port")] + public System.Int32? MicrosoftSqlServerSettings_Port { get; set; } + #endregion + + #region Parameter MySqlSettings_Port + /// + /// + /// The port value for the MySQL data provider. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_MySqlSettings_Port")] + public System.Int32? MySqlSettings_Port { get; set; } + #endregion + + #region Parameter OracleSettings_Port + /// + /// + /// The port value for the Oracle data provider. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_OracleSettings_Port")] + public System.Int32? OracleSettings_Port { get; set; } + #endregion + + #region Parameter PostgreSqlSettings_Port + /// + /// + /// The port value for the PostgreSQL data provider. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_PostgreSqlSettings_Port")] + public System.Int32? PostgreSqlSettings_Port { get; set; } + #endregion + + #region Parameter OracleSettings_SecretsManagerOracleAsmAccessRoleArn + /// + /// + /// The ARN of the IAM role that provides access to the secret in Secrets Manager that + /// contains the Oracle ASM connection details. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_OracleSettings_SecretsManagerOracleAsmAccessRoleArn")] + public System.String OracleSettings_SecretsManagerOracleAsmAccessRoleArn { get; set; } + #endregion + + #region Parameter OracleSettings_SecretsManagerOracleAsmSecretId + /// + /// + /// The identifier of the secret in Secrets Manager that contains the Oracle ASM connection + /// details.Required only if your data provider uses the Oracle ASM server. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_OracleSettings_SecretsManagerOracleAsmSecretId")] + public System.String OracleSettings_SecretsManagerOracleAsmSecretId { get; set; } + #endregion + + #region Parameter OracleSettings_SecretsManagerSecurityDbEncryptionAccessRoleArn + /// + /// + /// The ARN of the IAM role that provides access to the secret in Secrets Manager that + /// contains the TDE password. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_OracleSettings_SecretsManagerSecurityDbEncryptionAccessRoleArn")] + public System.String OracleSettings_SecretsManagerSecurityDbEncryptionAccessRoleArn { get; set; } + #endregion + + #region Parameter OracleSettings_SecretsManagerSecurityDbEncryptionSecretId + /// + /// + /// The identifier of the secret in Secrets Manager that contains the transparent data + /// encryption (TDE) password. DMS requires this password to access Oracle redo logs encrypted + /// by TDE using Binary Reader. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_OracleSettings_SecretsManagerSecurityDbEncryptionSecretId")] + public System.String OracleSettings_SecretsManagerSecurityDbEncryptionSecretId { get; set; } + #endregion + + #region Parameter MicrosoftSqlServerSettings_ServerName + /// + /// + /// The name of the Microsoft SQL Server server. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_MicrosoftSqlServerSettings_ServerName")] + public System.String MicrosoftSqlServerSettings_ServerName { get; set; } + #endregion + + #region Parameter MySqlSettings_ServerName + /// + /// + /// The name of the MySQL server. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_MySqlSettings_ServerName")] + public System.String MySqlSettings_ServerName { get; set; } + #endregion + + #region Parameter OracleSettings_ServerName + /// + /// + /// The name of the Oracle server. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_OracleSettings_ServerName")] + public System.String OracleSettings_ServerName { get; set; } + #endregion + + #region Parameter PostgreSqlSettings_ServerName + /// + /// + /// The name of the PostgreSQL server. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_PostgreSqlSettings_ServerName")] + public System.String PostgreSqlSettings_ServerName { get; set; } + #endregion + + #region Parameter MicrosoftSqlServerSettings_SslMode + /// + /// + /// The SSL mode used to connect to the Microsoft SQL Server data provider. The default + /// value is none. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_MicrosoftSqlServerSettings_SslMode")] + [AWSConstantClassSource("Amazon.DatabaseMigrationService.DmsSslModeValue")] + public Amazon.DatabaseMigrationService.DmsSslModeValue MicrosoftSqlServerSettings_SslMode { get; set; } + #endregion + + #region Parameter MySqlSettings_SslMode + /// + /// + /// The SSL mode used to connect to the MySQL data provider. The default value is none. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_MySqlSettings_SslMode")] + [AWSConstantClassSource("Amazon.DatabaseMigrationService.DmsSslModeValue")] + public Amazon.DatabaseMigrationService.DmsSslModeValue MySqlSettings_SslMode { get; set; } + #endregion + + #region Parameter OracleSettings_SslMode + /// + /// + /// The SSL mode used to connect to the Oracle data provider. The default value is none. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_OracleSettings_SslMode")] + [AWSConstantClassSource("Amazon.DatabaseMigrationService.DmsSslModeValue")] + public Amazon.DatabaseMigrationService.DmsSslModeValue OracleSettings_SslMode { get; set; } + #endregion + + #region Parameter PostgreSqlSettings_SslMode + /// + /// + /// The SSL mode used to connect to the PostgreSQL data provider. The default value is + /// none. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Settings_PostgreSqlSettings_SslMode")] + [AWSConstantClassSource("Amazon.DatabaseMigrationService.DmsSslModeValue")] + public Amazon.DatabaseMigrationService.DmsSslModeValue PostgreSqlSettings_SslMode { get; set; } + #endregion + + #region Parameter Tag + /// + /// + /// One or more tags to be assigned to the data provider. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Tags")] + public Amazon.DatabaseMigrationService.Model.Tag[] Tag { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'DataProvider'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.CreateDataProviderResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.CreateDataProviderResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "DataProvider"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the Engine parameter. + /// The -PassThru parameter is deprecated, use -Select '^Engine' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^Engine' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.DataProviderName), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "New-DMSDataProvider (CreateDataProvider)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.Engine; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.DataProviderName = this.DataProviderName; + context.Description = this.Description; + context.Engine = this.Engine; + #if MODULAR + if (this.Engine == null && ParameterWasBound(nameof(this.Engine))) + { + WriteWarning("You are passing $null as a value for parameter Engine which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.MicrosoftSqlServerSettings_CertificateArn = this.MicrosoftSqlServerSettings_CertificateArn; + context.MicrosoftSqlServerSettings_DatabaseName = this.MicrosoftSqlServerSettings_DatabaseName; + context.MicrosoftSqlServerSettings_Port = this.MicrosoftSqlServerSettings_Port; + context.MicrosoftSqlServerSettings_ServerName = this.MicrosoftSqlServerSettings_ServerName; + context.MicrosoftSqlServerSettings_SslMode = this.MicrosoftSqlServerSettings_SslMode; + context.MySqlSettings_CertificateArn = this.MySqlSettings_CertificateArn; + context.MySqlSettings_Port = this.MySqlSettings_Port; + context.MySqlSettings_ServerName = this.MySqlSettings_ServerName; + context.MySqlSettings_SslMode = this.MySqlSettings_SslMode; + context.OracleSettings_AsmServer = this.OracleSettings_AsmServer; + context.OracleSettings_CertificateArn = this.OracleSettings_CertificateArn; + context.OracleSettings_DatabaseName = this.OracleSettings_DatabaseName; + context.OracleSettings_Port = this.OracleSettings_Port; + context.OracleSettings_SecretsManagerOracleAsmAccessRoleArn = this.OracleSettings_SecretsManagerOracleAsmAccessRoleArn; + context.OracleSettings_SecretsManagerOracleAsmSecretId = this.OracleSettings_SecretsManagerOracleAsmSecretId; + context.OracleSettings_SecretsManagerSecurityDbEncryptionAccessRoleArn = this.OracleSettings_SecretsManagerSecurityDbEncryptionAccessRoleArn; + context.OracleSettings_SecretsManagerSecurityDbEncryptionSecretId = this.OracleSettings_SecretsManagerSecurityDbEncryptionSecretId; + context.OracleSettings_ServerName = this.OracleSettings_ServerName; + context.OracleSettings_SslMode = this.OracleSettings_SslMode; + context.PostgreSqlSettings_CertificateArn = this.PostgreSqlSettings_CertificateArn; + context.PostgreSqlSettings_DatabaseName = this.PostgreSqlSettings_DatabaseName; + context.PostgreSqlSettings_Port = this.PostgreSqlSettings_Port; + context.PostgreSqlSettings_ServerName = this.PostgreSqlSettings_ServerName; + context.PostgreSqlSettings_SslMode = this.PostgreSqlSettings_SslMode; + if (this.Tag != null) + { + context.Tag = new List(this.Tag); + } + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DatabaseMigrationService.Model.CreateDataProviderRequest(); + + if (cmdletContext.DataProviderName != null) + { + request.DataProviderName = cmdletContext.DataProviderName; + } + if (cmdletContext.Description != null) + { + request.Description = cmdletContext.Description; + } + if (cmdletContext.Engine != null) + { + request.Engine = cmdletContext.Engine; + } + + // populate Settings + var requestSettingsIsNull = true; + request.Settings = new Amazon.DatabaseMigrationService.Model.DataProviderSettings(); + Amazon.DatabaseMigrationService.Model.MySqlDataProviderSettings requestSettings_settings_MySqlSettings = null; + + // populate MySqlSettings + var requestSettings_settings_MySqlSettingsIsNull = true; + requestSettings_settings_MySqlSettings = new Amazon.DatabaseMigrationService.Model.MySqlDataProviderSettings(); + System.String requestSettings_settings_MySqlSettings_mySqlSettings_CertificateArn = null; + if (cmdletContext.MySqlSettings_CertificateArn != null) + { + requestSettings_settings_MySqlSettings_mySqlSettings_CertificateArn = cmdletContext.MySqlSettings_CertificateArn; + } + if (requestSettings_settings_MySqlSettings_mySqlSettings_CertificateArn != null) + { + requestSettings_settings_MySqlSettings.CertificateArn = requestSettings_settings_MySqlSettings_mySqlSettings_CertificateArn; + requestSettings_settings_MySqlSettingsIsNull = false; + } + System.Int32? requestSettings_settings_MySqlSettings_mySqlSettings_Port = null; + if (cmdletContext.MySqlSettings_Port != null) + { + requestSettings_settings_MySqlSettings_mySqlSettings_Port = cmdletContext.MySqlSettings_Port.Value; + } + if (requestSettings_settings_MySqlSettings_mySqlSettings_Port != null) + { + requestSettings_settings_MySqlSettings.Port = requestSettings_settings_MySqlSettings_mySqlSettings_Port.Value; + requestSettings_settings_MySqlSettingsIsNull = false; + } + System.String requestSettings_settings_MySqlSettings_mySqlSettings_ServerName = null; + if (cmdletContext.MySqlSettings_ServerName != null) + { + requestSettings_settings_MySqlSettings_mySqlSettings_ServerName = cmdletContext.MySqlSettings_ServerName; + } + if (requestSettings_settings_MySqlSettings_mySqlSettings_ServerName != null) + { + requestSettings_settings_MySqlSettings.ServerName = requestSettings_settings_MySqlSettings_mySqlSettings_ServerName; + requestSettings_settings_MySqlSettingsIsNull = false; + } + Amazon.DatabaseMigrationService.DmsSslModeValue requestSettings_settings_MySqlSettings_mySqlSettings_SslMode = null; + if (cmdletContext.MySqlSettings_SslMode != null) + { + requestSettings_settings_MySqlSettings_mySqlSettings_SslMode = cmdletContext.MySqlSettings_SslMode; + } + if (requestSettings_settings_MySqlSettings_mySqlSettings_SslMode != null) + { + requestSettings_settings_MySqlSettings.SslMode = requestSettings_settings_MySqlSettings_mySqlSettings_SslMode; + requestSettings_settings_MySqlSettingsIsNull = false; + } + // determine if requestSettings_settings_MySqlSettings should be set to null + if (requestSettings_settings_MySqlSettingsIsNull) + { + requestSettings_settings_MySqlSettings = null; + } + if (requestSettings_settings_MySqlSettings != null) + { + request.Settings.MySqlSettings = requestSettings_settings_MySqlSettings; + requestSettingsIsNull = false; + } + Amazon.DatabaseMigrationService.Model.MicrosoftSqlServerDataProviderSettings requestSettings_settings_MicrosoftSqlServerSettings = null; + + // populate MicrosoftSqlServerSettings + var requestSettings_settings_MicrosoftSqlServerSettingsIsNull = true; + requestSettings_settings_MicrosoftSqlServerSettings = new Amazon.DatabaseMigrationService.Model.MicrosoftSqlServerDataProviderSettings(); + System.String requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_CertificateArn = null; + if (cmdletContext.MicrosoftSqlServerSettings_CertificateArn != null) + { + requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_CertificateArn = cmdletContext.MicrosoftSqlServerSettings_CertificateArn; + } + if (requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_CertificateArn != null) + { + requestSettings_settings_MicrosoftSqlServerSettings.CertificateArn = requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_CertificateArn; + requestSettings_settings_MicrosoftSqlServerSettingsIsNull = false; + } + System.String requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_DatabaseName = null; + if (cmdletContext.MicrosoftSqlServerSettings_DatabaseName != null) + { + requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_DatabaseName = cmdletContext.MicrosoftSqlServerSettings_DatabaseName; + } + if (requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_DatabaseName != null) + { + requestSettings_settings_MicrosoftSqlServerSettings.DatabaseName = requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_DatabaseName; + requestSettings_settings_MicrosoftSqlServerSettingsIsNull = false; + } + System.Int32? requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_Port = null; + if (cmdletContext.MicrosoftSqlServerSettings_Port != null) + { + requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_Port = cmdletContext.MicrosoftSqlServerSettings_Port.Value; + } + if (requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_Port != null) + { + requestSettings_settings_MicrosoftSqlServerSettings.Port = requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_Port.Value; + requestSettings_settings_MicrosoftSqlServerSettingsIsNull = false; + } + System.String requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_ServerName = null; + if (cmdletContext.MicrosoftSqlServerSettings_ServerName != null) + { + requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_ServerName = cmdletContext.MicrosoftSqlServerSettings_ServerName; + } + if (requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_ServerName != null) + { + requestSettings_settings_MicrosoftSqlServerSettings.ServerName = requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_ServerName; + requestSettings_settings_MicrosoftSqlServerSettingsIsNull = false; + } + Amazon.DatabaseMigrationService.DmsSslModeValue requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_SslMode = null; + if (cmdletContext.MicrosoftSqlServerSettings_SslMode != null) + { + requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_SslMode = cmdletContext.MicrosoftSqlServerSettings_SslMode; + } + if (requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_SslMode != null) + { + requestSettings_settings_MicrosoftSqlServerSettings.SslMode = requestSettings_settings_MicrosoftSqlServerSettings_microsoftSqlServerSettings_SslMode; + requestSettings_settings_MicrosoftSqlServerSettingsIsNull = false; + } + // determine if requestSettings_settings_MicrosoftSqlServerSettings should be set to null + if (requestSettings_settings_MicrosoftSqlServerSettingsIsNull) + { + requestSettings_settings_MicrosoftSqlServerSettings = null; + } + if (requestSettings_settings_MicrosoftSqlServerSettings != null) + { + request.Settings.MicrosoftSqlServerSettings = requestSettings_settings_MicrosoftSqlServerSettings; + requestSettingsIsNull = false; + } + Amazon.DatabaseMigrationService.Model.PostgreSqlDataProviderSettings requestSettings_settings_PostgreSqlSettings = null; + + // populate PostgreSqlSettings + var requestSettings_settings_PostgreSqlSettingsIsNull = true; + requestSettings_settings_PostgreSqlSettings = new Amazon.DatabaseMigrationService.Model.PostgreSqlDataProviderSettings(); + System.String requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_CertificateArn = null; + if (cmdletContext.PostgreSqlSettings_CertificateArn != null) + { + requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_CertificateArn = cmdletContext.PostgreSqlSettings_CertificateArn; + } + if (requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_CertificateArn != null) + { + requestSettings_settings_PostgreSqlSettings.CertificateArn = requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_CertificateArn; + requestSettings_settings_PostgreSqlSettingsIsNull = false; + } + System.String requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_DatabaseName = null; + if (cmdletContext.PostgreSqlSettings_DatabaseName != null) + { + requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_DatabaseName = cmdletContext.PostgreSqlSettings_DatabaseName; + } + if (requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_DatabaseName != null) + { + requestSettings_settings_PostgreSqlSettings.DatabaseName = requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_DatabaseName; + requestSettings_settings_PostgreSqlSettingsIsNull = false; + } + System.Int32? requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_Port = null; + if (cmdletContext.PostgreSqlSettings_Port != null) + { + requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_Port = cmdletContext.PostgreSqlSettings_Port.Value; + } + if (requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_Port != null) + { + requestSettings_settings_PostgreSqlSettings.Port = requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_Port.Value; + requestSettings_settings_PostgreSqlSettingsIsNull = false; + } + System.String requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_ServerName = null; + if (cmdletContext.PostgreSqlSettings_ServerName != null) + { + requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_ServerName = cmdletContext.PostgreSqlSettings_ServerName; + } + if (requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_ServerName != null) + { + requestSettings_settings_PostgreSqlSettings.ServerName = requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_ServerName; + requestSettings_settings_PostgreSqlSettingsIsNull = false; + } + Amazon.DatabaseMigrationService.DmsSslModeValue requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_SslMode = null; + if (cmdletContext.PostgreSqlSettings_SslMode != null) + { + requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_SslMode = cmdletContext.PostgreSqlSettings_SslMode; + } + if (requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_SslMode != null) + { + requestSettings_settings_PostgreSqlSettings.SslMode = requestSettings_settings_PostgreSqlSettings_postgreSqlSettings_SslMode; + requestSettings_settings_PostgreSqlSettingsIsNull = false; + } + // determine if requestSettings_settings_PostgreSqlSettings should be set to null + if (requestSettings_settings_PostgreSqlSettingsIsNull) + { + requestSettings_settings_PostgreSqlSettings = null; + } + if (requestSettings_settings_PostgreSqlSettings != null) + { + request.Settings.PostgreSqlSettings = requestSettings_settings_PostgreSqlSettings; + requestSettingsIsNull = false; + } + Amazon.DatabaseMigrationService.Model.OracleDataProviderSettings requestSettings_settings_OracleSettings = null; + + // populate OracleSettings + var requestSettings_settings_OracleSettingsIsNull = true; + requestSettings_settings_OracleSettings = new Amazon.DatabaseMigrationService.Model.OracleDataProviderSettings(); + System.String requestSettings_settings_OracleSettings_oracleSettings_AsmServer = null; + if (cmdletContext.OracleSettings_AsmServer != null) + { + requestSettings_settings_OracleSettings_oracleSettings_AsmServer = cmdletContext.OracleSettings_AsmServer; + } + if (requestSettings_settings_OracleSettings_oracleSettings_AsmServer != null) + { + requestSettings_settings_OracleSettings.AsmServer = requestSettings_settings_OracleSettings_oracleSettings_AsmServer; + requestSettings_settings_OracleSettingsIsNull = false; + } + System.String requestSettings_settings_OracleSettings_oracleSettings_CertificateArn = null; + if (cmdletContext.OracleSettings_CertificateArn != null) + { + requestSettings_settings_OracleSettings_oracleSettings_CertificateArn = cmdletContext.OracleSettings_CertificateArn; + } + if (requestSettings_settings_OracleSettings_oracleSettings_CertificateArn != null) + { + requestSettings_settings_OracleSettings.CertificateArn = requestSettings_settings_OracleSettings_oracleSettings_CertificateArn; + requestSettings_settings_OracleSettingsIsNull = false; + } + System.String requestSettings_settings_OracleSettings_oracleSettings_DatabaseName = null; + if (cmdletContext.OracleSettings_DatabaseName != null) + { + requestSettings_settings_OracleSettings_oracleSettings_DatabaseName = cmdletContext.OracleSettings_DatabaseName; + } + if (requestSettings_settings_OracleSettings_oracleSettings_DatabaseName != null) + { + requestSettings_settings_OracleSettings.DatabaseName = requestSettings_settings_OracleSettings_oracleSettings_DatabaseName; + requestSettings_settings_OracleSettingsIsNull = false; + } + System.Int32? requestSettings_settings_OracleSettings_oracleSettings_Port = null; + if (cmdletContext.OracleSettings_Port != null) + { + requestSettings_settings_OracleSettings_oracleSettings_Port = cmdletContext.OracleSettings_Port.Value; + } + if (requestSettings_settings_OracleSettings_oracleSettings_Port != null) + { + requestSettings_settings_OracleSettings.Port = requestSettings_settings_OracleSettings_oracleSettings_Port.Value; + requestSettings_settings_OracleSettingsIsNull = false; + } + System.String requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerOracleAsmAccessRoleArn = null; + if (cmdletContext.OracleSettings_SecretsManagerOracleAsmAccessRoleArn != null) + { + requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerOracleAsmAccessRoleArn = cmdletContext.OracleSettings_SecretsManagerOracleAsmAccessRoleArn; + } + if (requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerOracleAsmAccessRoleArn != null) + { + requestSettings_settings_OracleSettings.SecretsManagerOracleAsmAccessRoleArn = requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerOracleAsmAccessRoleArn; + requestSettings_settings_OracleSettingsIsNull = false; + } + System.String requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerOracleAsmSecretId = null; + if (cmdletContext.OracleSettings_SecretsManagerOracleAsmSecretId != null) + { + requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerOracleAsmSecretId = cmdletContext.OracleSettings_SecretsManagerOracleAsmSecretId; + } + if (requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerOracleAsmSecretId != null) + { + requestSettings_settings_OracleSettings.SecretsManagerOracleAsmSecretId = requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerOracleAsmSecretId; + requestSettings_settings_OracleSettingsIsNull = false; + } + System.String requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerSecurityDbEncryptionAccessRoleArn = null; + if (cmdletContext.OracleSettings_SecretsManagerSecurityDbEncryptionAccessRoleArn != null) + { + requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerSecurityDbEncryptionAccessRoleArn = cmdletContext.OracleSettings_SecretsManagerSecurityDbEncryptionAccessRoleArn; + } + if (requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerSecurityDbEncryptionAccessRoleArn != null) + { + requestSettings_settings_OracleSettings.SecretsManagerSecurityDbEncryptionAccessRoleArn = requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerSecurityDbEncryptionAccessRoleArn; + requestSettings_settings_OracleSettingsIsNull = false; + } + System.String requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerSecurityDbEncryptionSecretId = null; + if (cmdletContext.OracleSettings_SecretsManagerSecurityDbEncryptionSecretId != null) + { + requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerSecurityDbEncryptionSecretId = cmdletContext.OracleSettings_SecretsManagerSecurityDbEncryptionSecretId; + } + if (requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerSecurityDbEncryptionSecretId != null) + { + requestSettings_settings_OracleSettings.SecretsManagerSecurityDbEncryptionSecretId = requestSettings_settings_OracleSettings_oracleSettings_SecretsManagerSecurityDbEncryptionSecretId; + requestSettings_settings_OracleSettingsIsNull = false; + } + System.String requestSettings_settings_OracleSettings_oracleSettings_ServerName = null; + if (cmdletContext.OracleSettings_ServerName != null) + { + requestSettings_settings_OracleSettings_oracleSettings_ServerName = cmdletContext.OracleSettings_ServerName; + } + if (requestSettings_settings_OracleSettings_oracleSettings_ServerName != null) + { + requestSettings_settings_OracleSettings.ServerName = requestSettings_settings_OracleSettings_oracleSettings_ServerName; + requestSettings_settings_OracleSettingsIsNull = false; + } + Amazon.DatabaseMigrationService.DmsSslModeValue requestSettings_settings_OracleSettings_oracleSettings_SslMode = null; + if (cmdletContext.OracleSettings_SslMode != null) + { + requestSettings_settings_OracleSettings_oracleSettings_SslMode = cmdletContext.OracleSettings_SslMode; + } + if (requestSettings_settings_OracleSettings_oracleSettings_SslMode != null) + { + requestSettings_settings_OracleSettings.SslMode = requestSettings_settings_OracleSettings_oracleSettings_SslMode; + requestSettings_settings_OracleSettingsIsNull = false; + } + // determine if requestSettings_settings_OracleSettings should be set to null + if (requestSettings_settings_OracleSettingsIsNull) + { + requestSettings_settings_OracleSettings = null; + } + if (requestSettings_settings_OracleSettings != null) + { + request.Settings.OracleSettings = requestSettings_settings_OracleSettings; + requestSettingsIsNull = false; + } + // determine if request.Settings should be set to null + if (requestSettingsIsNull) + { + request.Settings = null; + } + if (cmdletContext.Tag != null) + { + request.Tags = cmdletContext.Tag; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.CreateDataProviderResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.CreateDataProviderRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "CreateDataProvider"); + try + { + #if DESKTOP + return client.CreateDataProvider(request); + #elif CORECLR + return client.CreateDataProviderAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String DataProviderName { get; set; } + public System.String Description { get; set; } + public System.String Engine { get; set; } + public System.String MicrosoftSqlServerSettings_CertificateArn { get; set; } + public System.String MicrosoftSqlServerSettings_DatabaseName { get; set; } + public System.Int32? MicrosoftSqlServerSettings_Port { get; set; } + public System.String MicrosoftSqlServerSettings_ServerName { get; set; } + public Amazon.DatabaseMigrationService.DmsSslModeValue MicrosoftSqlServerSettings_SslMode { get; set; } + public System.String MySqlSettings_CertificateArn { get; set; } + public System.Int32? MySqlSettings_Port { get; set; } + public System.String MySqlSettings_ServerName { get; set; } + public Amazon.DatabaseMigrationService.DmsSslModeValue MySqlSettings_SslMode { get; set; } + public System.String OracleSettings_AsmServer { get; set; } + public System.String OracleSettings_CertificateArn { get; set; } + public System.String OracleSettings_DatabaseName { get; set; } + public System.Int32? OracleSettings_Port { get; set; } + public System.String OracleSettings_SecretsManagerOracleAsmAccessRoleArn { get; set; } + public System.String OracleSettings_SecretsManagerOracleAsmSecretId { get; set; } + public System.String OracleSettings_SecretsManagerSecurityDbEncryptionAccessRoleArn { get; set; } + public System.String OracleSettings_SecretsManagerSecurityDbEncryptionSecretId { get; set; } + public System.String OracleSettings_ServerName { get; set; } + public Amazon.DatabaseMigrationService.DmsSslModeValue OracleSettings_SslMode { get; set; } + public System.String PostgreSqlSettings_CertificateArn { get; set; } + public System.String PostgreSqlSettings_DatabaseName { get; set; } + public System.Int32? PostgreSqlSettings_Port { get; set; } + public System.String PostgreSqlSettings_ServerName { get; set; } + public Amazon.DatabaseMigrationService.DmsSslModeValue PostgreSqlSettings_SslMode { get; set; } + public List Tag { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.DataProvider; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/New-DMSInstanceProfile-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/New-DMSInstanceProfile-Cmdlet.cs new file mode 100644 index 0000000000..2f98bb58ca --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/New-DMSInstanceProfile-Cmdlet.cs @@ -0,0 +1,352 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Creates the instance profile using the specified parameters. + /// + [Cmdlet("New", "DMSInstanceProfile", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.DatabaseMigrationService.Model.InstanceProfile")] + [AWSCmdlet("Calls the AWS Database Migration Service CreateInstanceProfile API operation.", Operation = new[] {"CreateInstanceProfile"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.CreateInstanceProfileResponse))] + [AWSCmdletOutput("Amazon.DatabaseMigrationService.Model.InstanceProfile or Amazon.DatabaseMigrationService.Model.CreateInstanceProfileResponse", + "This cmdlet returns an Amazon.DatabaseMigrationService.Model.InstanceProfile object.", + "The service call response (type Amazon.DatabaseMigrationService.Model.CreateInstanceProfileResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class NewDMSInstanceProfileCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter AvailabilityZone + /// + /// + /// The Availability Zone where the instance profile will be created. The default value + /// is a random, system-chosen Availability Zone in the Amazon Web Services Region where + /// your data provider is created, for examplem us-east-1d. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String AvailabilityZone { get; set; } + #endregion + + #region Parameter Description + /// + /// + /// A user-friendly description of the instance profile. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Description { get; set; } + #endregion + + #region Parameter InstanceProfileName + /// + /// + /// A user-friendly name for the instance profile. + /// + /// + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + public System.String InstanceProfileName { get; set; } + #endregion + + #region Parameter KmsKeyArn + /// + /// + /// The Amazon Resource Name (ARN) of the KMS key that is used to encrypt the connection + /// parameters for the instance profile.If you don't specify a value for the KmsKeyArn parameter, then DMS uses + /// your default encryption key.KMS creates the default encryption key for your Amazon Web Services account. Your + /// Amazon Web Services account has a different default encryption key for each Amazon + /// Web Services Region. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String KmsKeyArn { get; set; } + #endregion + + #region Parameter NetworkType + /// + /// + /// Specifies the network type for the instance profile. A value of IPV4 + /// represents an instance profile with IPv4 network type and only supports IPv4 addressing. + /// A value of IPV6 represents an instance profile with IPv6 network type + /// and only supports IPv6 addressing. A value of DUAL represents an instance + /// profile with dual network type that supports IPv4 and IPv6 addressing. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String NetworkType { get; set; } + #endregion + + #region Parameter PubliclyAccessible + /// + /// + /// Specifies the accessibility options for the instance profile. A value of true + /// represents an instance profile with a public IP address. A value of false + /// represents an instance profile with a private IP address. The default value is true. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Boolean? PubliclyAccessible { get; set; } + #endregion + + #region Parameter SubnetGroupIdentifier + /// + /// + /// A subnet group to associate with the instance profile. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String SubnetGroupIdentifier { get; set; } + #endregion + + #region Parameter Tag + /// + /// + /// One or more tags to be assigned to the instance profile. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Tags")] + public Amazon.DatabaseMigrationService.Model.Tag[] Tag { get; set; } + #endregion + + #region Parameter VpcSecurityGroup + /// + /// + /// Specifies the VPC security group names to be used with the instance profile. The VPC + /// security group must work with the VPC containing the instance profile. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("VpcSecurityGroups")] + public System.String[] VpcSecurityGroup { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'InstanceProfile'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.CreateInstanceProfileResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.CreateInstanceProfileResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "InstanceProfile"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the InstanceProfileName parameter. + /// The -PassThru parameter is deprecated, use -Select '^InstanceProfileName' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^InstanceProfileName' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.InstanceProfileName), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "New-DMSInstanceProfile (CreateInstanceProfile)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.InstanceProfileName; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.AvailabilityZone = this.AvailabilityZone; + context.Description = this.Description; + context.InstanceProfileName = this.InstanceProfileName; + context.KmsKeyArn = this.KmsKeyArn; + context.NetworkType = this.NetworkType; + context.PubliclyAccessible = this.PubliclyAccessible; + context.SubnetGroupIdentifier = this.SubnetGroupIdentifier; + if (this.Tag != null) + { + context.Tag = new List(this.Tag); + } + if (this.VpcSecurityGroup != null) + { + context.VpcSecurityGroup = new List(this.VpcSecurityGroup); + } + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DatabaseMigrationService.Model.CreateInstanceProfileRequest(); + + if (cmdletContext.AvailabilityZone != null) + { + request.AvailabilityZone = cmdletContext.AvailabilityZone; + } + if (cmdletContext.Description != null) + { + request.Description = cmdletContext.Description; + } + if (cmdletContext.InstanceProfileName != null) + { + request.InstanceProfileName = cmdletContext.InstanceProfileName; + } + if (cmdletContext.KmsKeyArn != null) + { + request.KmsKeyArn = cmdletContext.KmsKeyArn; + } + if (cmdletContext.NetworkType != null) + { + request.NetworkType = cmdletContext.NetworkType; + } + if (cmdletContext.PubliclyAccessible != null) + { + request.PubliclyAccessible = cmdletContext.PubliclyAccessible.Value; + } + if (cmdletContext.SubnetGroupIdentifier != null) + { + request.SubnetGroupIdentifier = cmdletContext.SubnetGroupIdentifier; + } + if (cmdletContext.Tag != null) + { + request.Tags = cmdletContext.Tag; + } + if (cmdletContext.VpcSecurityGroup != null) + { + request.VpcSecurityGroups = cmdletContext.VpcSecurityGroup; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.CreateInstanceProfileResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.CreateInstanceProfileRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "CreateInstanceProfile"); + try + { + #if DESKTOP + return client.CreateInstanceProfile(request); + #elif CORECLR + return client.CreateInstanceProfileAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String AvailabilityZone { get; set; } + public System.String Description { get; set; } + public System.String InstanceProfileName { get; set; } + public System.String KmsKeyArn { get; set; } + public System.String NetworkType { get; set; } + public System.Boolean? PubliclyAccessible { get; set; } + public System.String SubnetGroupIdentifier { get; set; } + public List Tag { get; set; } + public List VpcSecurityGroup { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.InstanceProfile; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/New-DMSMigrationProject-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/New-DMSMigrationProject-Cmdlet.cs new file mode 100644 index 0000000000..5f1f1fd43e --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/New-DMSMigrationProject-Cmdlet.cs @@ -0,0 +1,419 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Creates the migration project using the specified parameters. + /// + /// + /// + /// You can run this action only after you create an instance profile and data providers + /// using CreateInstanceProfile + /// and CreateDataProvider. + /// + /// + [Cmdlet("New", "DMSMigrationProject", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("Amazon.DatabaseMigrationService.Model.MigrationProject")] + [AWSCmdlet("Calls the AWS Database Migration Service CreateMigrationProject API operation.", Operation = new[] {"CreateMigrationProject"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.CreateMigrationProjectResponse))] + [AWSCmdletOutput("Amazon.DatabaseMigrationService.Model.MigrationProject or Amazon.DatabaseMigrationService.Model.CreateMigrationProjectResponse", + "This cmdlet returns an Amazon.DatabaseMigrationService.Model.MigrationProject object.", + "The service call response (type Amazon.DatabaseMigrationService.Model.CreateMigrationProjectResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class NewDMSMigrationProjectCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter Description + /// + /// + /// A user-friendly description of the migration project. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String Description { get; set; } + #endregion + + #region Parameter InstanceProfileIdentifier + /// + /// + /// The identifier of the associated instance profile. Identifiers must begin with a letter + /// and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen, + /// or contain two consecutive hyphens. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String InstanceProfileIdentifier { get; set; } + #endregion + + #region Parameter MigrationProjectName + /// + /// + /// A user-friendly name for the migration project. + /// + /// + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + public System.String MigrationProjectName { get; set; } + #endregion + + #region Parameter SchemaConversionApplicationAttributes_S3BucketPath + /// + /// + /// The path for the Amazon S3 bucket that the application uses for exporting assessment + /// reports. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String SchemaConversionApplicationAttributes_S3BucketPath { get; set; } + #endregion + + #region Parameter SchemaConversionApplicationAttributes_S3BucketRoleArn + /// + /// + /// The ARN for the role the application uses to access its Amazon S3 bucket. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String SchemaConversionApplicationAttributes_S3BucketRoleArn { get; set; } + #endregion + + #region Parameter SourceDataProviderDescriptor + /// + /// + /// Information about the source data provider, including the name, ARN, and Secrets Manager + /// parameters. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyCollection] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [Alias("SourceDataProviderDescriptors")] + public Amazon.DatabaseMigrationService.Model.DataProviderDescriptorDefinition[] SourceDataProviderDescriptor { get; set; } + #endregion + + #region Parameter Tag + /// + /// + /// One or more tags to be assigned to the migration project. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("Tags")] + public Amazon.DatabaseMigrationService.Model.Tag[] Tag { get; set; } + #endregion + + #region Parameter TargetDataProviderDescriptor + /// + /// + /// Information about the target data provider, including the name, ARN, and Amazon Web + /// Services Secrets Manager parameters. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyCollection] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [Alias("TargetDataProviderDescriptors")] + public Amazon.DatabaseMigrationService.Model.DataProviderDescriptorDefinition[] TargetDataProviderDescriptor { get; set; } + #endregion + + #region Parameter TransformationRule + /// + /// + /// The settings in JSON format for migration rules. Migration rules make it possible + /// for you to change the object names according to the rules that you specify. For example, + /// you can change an object name to lowercase or uppercase, add or remove a prefix or + /// suffix, or rename objects. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + [Alias("TransformationRules")] + public System.String TransformationRule { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'MigrationProject'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.CreateMigrationProjectResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.CreateMigrationProjectResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "MigrationProject"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the MigrationProjectName parameter. + /// The -PassThru parameter is deprecated, use -Select '^MigrationProjectName' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^MigrationProjectName' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.MigrationProjectName), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "New-DMSMigrationProject (CreateMigrationProject)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.MigrationProjectName; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.Description = this.Description; + context.InstanceProfileIdentifier = this.InstanceProfileIdentifier; + #if MODULAR + if (this.InstanceProfileIdentifier == null && ParameterWasBound(nameof(this.InstanceProfileIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter InstanceProfileIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.MigrationProjectName = this.MigrationProjectName; + context.SchemaConversionApplicationAttributes_S3BucketPath = this.SchemaConversionApplicationAttributes_S3BucketPath; + context.SchemaConversionApplicationAttributes_S3BucketRoleArn = this.SchemaConversionApplicationAttributes_S3BucketRoleArn; + if (this.SourceDataProviderDescriptor != null) + { + context.SourceDataProviderDescriptor = new List(this.SourceDataProviderDescriptor); + } + #if MODULAR + if (this.SourceDataProviderDescriptor == null && ParameterWasBound(nameof(this.SourceDataProviderDescriptor))) + { + WriteWarning("You are passing $null as a value for parameter SourceDataProviderDescriptor which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + if (this.Tag != null) + { + context.Tag = new List(this.Tag); + } + if (this.TargetDataProviderDescriptor != null) + { + context.TargetDataProviderDescriptor = new List(this.TargetDataProviderDescriptor); + } + #if MODULAR + if (this.TargetDataProviderDescriptor == null && ParameterWasBound(nameof(this.TargetDataProviderDescriptor))) + { + WriteWarning("You are passing $null as a value for parameter TargetDataProviderDescriptor which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.TransformationRule = this.TransformationRule; + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DatabaseMigrationService.Model.CreateMigrationProjectRequest(); + + if (cmdletContext.Description != null) + { + request.Description = cmdletContext.Description; + } + if (cmdletContext.InstanceProfileIdentifier != null) + { + request.InstanceProfileIdentifier = cmdletContext.InstanceProfileIdentifier; + } + if (cmdletContext.MigrationProjectName != null) + { + request.MigrationProjectName = cmdletContext.MigrationProjectName; + } + + // populate SchemaConversionApplicationAttributes + var requestSchemaConversionApplicationAttributesIsNull = true; + request.SchemaConversionApplicationAttributes = new Amazon.DatabaseMigrationService.Model.SCApplicationAttributes(); + System.String requestSchemaConversionApplicationAttributes_schemaConversionApplicationAttributes_S3BucketPath = null; + if (cmdletContext.SchemaConversionApplicationAttributes_S3BucketPath != null) + { + requestSchemaConversionApplicationAttributes_schemaConversionApplicationAttributes_S3BucketPath = cmdletContext.SchemaConversionApplicationAttributes_S3BucketPath; + } + if (requestSchemaConversionApplicationAttributes_schemaConversionApplicationAttributes_S3BucketPath != null) + { + request.SchemaConversionApplicationAttributes.S3BucketPath = requestSchemaConversionApplicationAttributes_schemaConversionApplicationAttributes_S3BucketPath; + requestSchemaConversionApplicationAttributesIsNull = false; + } + System.String requestSchemaConversionApplicationAttributes_schemaConversionApplicationAttributes_S3BucketRoleArn = null; + if (cmdletContext.SchemaConversionApplicationAttributes_S3BucketRoleArn != null) + { + requestSchemaConversionApplicationAttributes_schemaConversionApplicationAttributes_S3BucketRoleArn = cmdletContext.SchemaConversionApplicationAttributes_S3BucketRoleArn; + } + if (requestSchemaConversionApplicationAttributes_schemaConversionApplicationAttributes_S3BucketRoleArn != null) + { + request.SchemaConversionApplicationAttributes.S3BucketRoleArn = requestSchemaConversionApplicationAttributes_schemaConversionApplicationAttributes_S3BucketRoleArn; + requestSchemaConversionApplicationAttributesIsNull = false; + } + // determine if request.SchemaConversionApplicationAttributes should be set to null + if (requestSchemaConversionApplicationAttributesIsNull) + { + request.SchemaConversionApplicationAttributes = null; + } + if (cmdletContext.SourceDataProviderDescriptor != null) + { + request.SourceDataProviderDescriptors = cmdletContext.SourceDataProviderDescriptor; + } + if (cmdletContext.Tag != null) + { + request.Tags = cmdletContext.Tag; + } + if (cmdletContext.TargetDataProviderDescriptor != null) + { + request.TargetDataProviderDescriptors = cmdletContext.TargetDataProviderDescriptor; + } + if (cmdletContext.TransformationRule != null) + { + request.TransformationRules = cmdletContext.TransformationRule; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.CreateMigrationProjectResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.CreateMigrationProjectRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "CreateMigrationProject"); + try + { + #if DESKTOP + return client.CreateMigrationProject(request); + #elif CORECLR + return client.CreateMigrationProjectAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String Description { get; set; } + public System.String InstanceProfileIdentifier { get; set; } + public System.String MigrationProjectName { get; set; } + public System.String SchemaConversionApplicationAttributes_S3BucketPath { get; set; } + public System.String SchemaConversionApplicationAttributes_S3BucketRoleArn { get; set; } + public List SourceDataProviderDescriptor { get; set; } + public List Tag { get; set; } + public List TargetDataProviderDescriptor { get; set; } + public System.String TransformationRule { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.MigrationProject; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Remove-DMSDataProvider-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Remove-DMSDataProvider-Cmdlet.cs new file mode 100644 index 0000000000..9edbcbdf10 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Remove-DMSDataProvider-Cmdlet.cs @@ -0,0 +1,221 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Deletes the specified data provider. + /// + /// + /// All migration projects associated with the data provider must be deleted or modified + /// before you can delete the data provider. + /// + /// + [Cmdlet("Remove", "DMSDataProvider", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] + [OutputType("Amazon.DatabaseMigrationService.Model.DataProvider")] + [AWSCmdlet("Calls the AWS Database Migration Service DeleteDataProvider API operation.", Operation = new[] {"DeleteDataProvider"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.DeleteDataProviderResponse))] + [AWSCmdletOutput("Amazon.DatabaseMigrationService.Model.DataProvider or Amazon.DatabaseMigrationService.Model.DeleteDataProviderResponse", + "This cmdlet returns an Amazon.DatabaseMigrationService.Model.DataProvider object.", + "The service call response (type Amazon.DatabaseMigrationService.Model.DeleteDataProviderResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class RemoveDMSDataProviderCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter DataProviderIdentifier + /// + /// + /// The identifier of the data provider to delete. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String DataProviderIdentifier { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'DataProvider'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.DeleteDataProviderResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.DeleteDataProviderResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "DataProvider"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the DataProviderIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^DataProviderIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^DataProviderIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.DataProviderIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Remove-DMSDataProvider (DeleteDataProvider)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.DataProviderIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.DataProviderIdentifier = this.DataProviderIdentifier; + #if MODULAR + if (this.DataProviderIdentifier == null && ParameterWasBound(nameof(this.DataProviderIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter DataProviderIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DatabaseMigrationService.Model.DeleteDataProviderRequest(); + + if (cmdletContext.DataProviderIdentifier != null) + { + request.DataProviderIdentifier = cmdletContext.DataProviderIdentifier; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.DeleteDataProviderResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.DeleteDataProviderRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "DeleteDataProvider"); + try + { + #if DESKTOP + return client.DeleteDataProvider(request); + #elif CORECLR + return client.DeleteDataProviderAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String DataProviderIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.DataProvider; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Remove-DMSInstanceProfile-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Remove-DMSInstanceProfile-Cmdlet.cs new file mode 100644 index 0000000000..736240619a --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Remove-DMSInstanceProfile-Cmdlet.cs @@ -0,0 +1,221 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Deletes the specified instance profile. + /// + /// + /// All migration projects associated with the instance profile must be deleted or modified + /// before you can delete the instance profile. + /// + /// + [Cmdlet("Remove", "DMSInstanceProfile", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] + [OutputType("Amazon.DatabaseMigrationService.Model.InstanceProfile")] + [AWSCmdlet("Calls the AWS Database Migration Service DeleteInstanceProfile API operation.", Operation = new[] {"DeleteInstanceProfile"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.DeleteInstanceProfileResponse))] + [AWSCmdletOutput("Amazon.DatabaseMigrationService.Model.InstanceProfile or Amazon.DatabaseMigrationService.Model.DeleteInstanceProfileResponse", + "This cmdlet returns an Amazon.DatabaseMigrationService.Model.InstanceProfile object.", + "The service call response (type Amazon.DatabaseMigrationService.Model.DeleteInstanceProfileResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class RemoveDMSInstanceProfileCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter InstanceProfileIdentifier + /// + /// + /// The identifier of the instance profile to delete. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String InstanceProfileIdentifier { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'InstanceProfile'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.DeleteInstanceProfileResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.DeleteInstanceProfileResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "InstanceProfile"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the InstanceProfileIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^InstanceProfileIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^InstanceProfileIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.InstanceProfileIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Remove-DMSInstanceProfile (DeleteInstanceProfile)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.InstanceProfileIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.InstanceProfileIdentifier = this.InstanceProfileIdentifier; + #if MODULAR + if (this.InstanceProfileIdentifier == null && ParameterWasBound(nameof(this.InstanceProfileIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter InstanceProfileIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DatabaseMigrationService.Model.DeleteInstanceProfileRequest(); + + if (cmdletContext.InstanceProfileIdentifier != null) + { + request.InstanceProfileIdentifier = cmdletContext.InstanceProfileIdentifier; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.DeleteInstanceProfileResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.DeleteInstanceProfileRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "DeleteInstanceProfile"); + try + { + #if DESKTOP + return client.DeleteInstanceProfile(request); + #elif CORECLR + return client.DeleteInstanceProfileAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String InstanceProfileIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.InstanceProfile; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Remove-DMSMigrationProject-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Remove-DMSMigrationProject-Cmdlet.cs new file mode 100644 index 0000000000..1e3cd04e70 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Remove-DMSMigrationProject-Cmdlet.cs @@ -0,0 +1,220 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Deletes the specified migration project. + /// + /// + /// The migration project must be closed before you can delete it. + /// + /// + [Cmdlet("Remove", "DMSMigrationProject", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.High)] + [OutputType("Amazon.DatabaseMigrationService.Model.MigrationProject")] + [AWSCmdlet("Calls the AWS Database Migration Service DeleteMigrationProject API operation.", Operation = new[] {"DeleteMigrationProject"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.DeleteMigrationProjectResponse))] + [AWSCmdletOutput("Amazon.DatabaseMigrationService.Model.MigrationProject or Amazon.DatabaseMigrationService.Model.DeleteMigrationProjectResponse", + "This cmdlet returns an Amazon.DatabaseMigrationService.Model.MigrationProject object.", + "The service call response (type Amazon.DatabaseMigrationService.Model.DeleteMigrationProjectResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class RemoveDMSMigrationProjectCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter MigrationProjectIdentifier + /// + /// + /// The name or Amazon Resource Name (ARN) of the migration project to delete. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String MigrationProjectIdentifier { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'MigrationProject'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.DeleteMigrationProjectResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.DeleteMigrationProjectResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "MigrationProject"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the MigrationProjectIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.MigrationProjectIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Remove-DMSMigrationProject (DeleteMigrationProject)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.MigrationProjectIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.MigrationProjectIdentifier = this.MigrationProjectIdentifier; + #if MODULAR + if (this.MigrationProjectIdentifier == null && ParameterWasBound(nameof(this.MigrationProjectIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter MigrationProjectIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DatabaseMigrationService.Model.DeleteMigrationProjectRequest(); + + if (cmdletContext.MigrationProjectIdentifier != null) + { + request.MigrationProjectIdentifier = cmdletContext.MigrationProjectIdentifier; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.DeleteMigrationProjectResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.DeleteMigrationProjectRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "DeleteMigrationProject"); + try + { + #if DESKTOP + return client.DeleteMigrationProject(request); + #elif CORECLR + return client.DeleteMigrationProjectAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String MigrationProjectIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.MigrationProject; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Start-DMSExtensionPackAssociation-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Start-DMSExtensionPackAssociation-Cmdlet.cs new file mode 100644 index 0000000000..97c0851b41 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Start-DMSExtensionPackAssociation-Cmdlet.cs @@ -0,0 +1,218 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Applies the extension pack to your target database. An extension pack is an add-on + /// module that emulates functions present in a source database that are required when + /// converting objects to the target database. + /// + [Cmdlet("Start", "DMSExtensionPackAssociation", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("System.String")] + [AWSCmdlet("Calls the AWS Database Migration Service StartExtensionPackAssociation API operation.", Operation = new[] {"StartExtensionPackAssociation"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.StartExtensionPackAssociationResponse))] + [AWSCmdletOutput("System.String or Amazon.DatabaseMigrationService.Model.StartExtensionPackAssociationResponse", + "This cmdlet returns a System.String object.", + "The service call response (type Amazon.DatabaseMigrationService.Model.StartExtensionPackAssociationResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class StartDMSExtensionPackAssociationCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter MigrationProjectIdentifier + /// + /// + /// The migration project name or Amazon Resource Name (ARN). + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String MigrationProjectIdentifier { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'RequestIdentifier'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.StartExtensionPackAssociationResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.StartExtensionPackAssociationResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "RequestIdentifier"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the MigrationProjectIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.MigrationProjectIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Start-DMSExtensionPackAssociation (StartExtensionPackAssociation)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.MigrationProjectIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.MigrationProjectIdentifier = this.MigrationProjectIdentifier; + #if MODULAR + if (this.MigrationProjectIdentifier == null && ParameterWasBound(nameof(this.MigrationProjectIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter MigrationProjectIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DatabaseMigrationService.Model.StartExtensionPackAssociationRequest(); + + if (cmdletContext.MigrationProjectIdentifier != null) + { + request.MigrationProjectIdentifier = cmdletContext.MigrationProjectIdentifier; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.StartExtensionPackAssociationResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.StartExtensionPackAssociationRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "StartExtensionPackAssociation"); + try + { + #if DESKTOP + return client.StartExtensionPackAssociation(request); + #elif CORECLR + return client.StartExtensionPackAssociationAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String MigrationProjectIdentifier { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.RequestIdentifier; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Start-DMSMetadataModelAssessment-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Start-DMSMetadataModelAssessment-Cmdlet.cs new file mode 100644 index 0000000000..33a6dea94f --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Start-DMSMetadataModelAssessment-Cmdlet.cs @@ -0,0 +1,249 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Creates a database migration assessment report by assessing the migration complexity + /// for your source database. A database migration assessment report summarizes all of + /// the schema conversion tasks. It also details the action items for database objects + /// that can't be converted to the database engine of your target database instance. + /// + [Cmdlet("Start", "DMSMetadataModelAssessment", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("System.String")] + [AWSCmdlet("Calls the AWS Database Migration Service StartMetadataModelAssessment API operation.", Operation = new[] {"StartMetadataModelAssessment"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.StartMetadataModelAssessmentResponse))] + [AWSCmdletOutput("System.String or Amazon.DatabaseMigrationService.Model.StartMetadataModelAssessmentResponse", + "This cmdlet returns a System.String object.", + "The service call response (type Amazon.DatabaseMigrationService.Model.StartMetadataModelAssessmentResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class StartDMSMetadataModelAssessmentCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter MigrationProjectIdentifier + /// + /// + /// The migration project name or Amazon Resource Name (ARN). + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String MigrationProjectIdentifier { get; set; } + #endregion + + #region Parameter SelectionRule + /// + /// + /// A value that specifies the database objects to assess. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [Alias("SelectionRules")] + public System.String SelectionRule { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'RequestIdentifier'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.StartMetadataModelAssessmentResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.StartMetadataModelAssessmentResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "RequestIdentifier"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the MigrationProjectIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.MigrationProjectIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Start-DMSMetadataModelAssessment (StartMetadataModelAssessment)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.MigrationProjectIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.MigrationProjectIdentifier = this.MigrationProjectIdentifier; + #if MODULAR + if (this.MigrationProjectIdentifier == null && ParameterWasBound(nameof(this.MigrationProjectIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter MigrationProjectIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.SelectionRule = this.SelectionRule; + #if MODULAR + if (this.SelectionRule == null && ParameterWasBound(nameof(this.SelectionRule))) + { + WriteWarning("You are passing $null as a value for parameter SelectionRule which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DatabaseMigrationService.Model.StartMetadataModelAssessmentRequest(); + + if (cmdletContext.MigrationProjectIdentifier != null) + { + request.MigrationProjectIdentifier = cmdletContext.MigrationProjectIdentifier; + } + if (cmdletContext.SelectionRule != null) + { + request.SelectionRules = cmdletContext.SelectionRule; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.StartMetadataModelAssessmentResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.StartMetadataModelAssessmentRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "StartMetadataModelAssessment"); + try + { + #if DESKTOP + return client.StartMetadataModelAssessment(request); + #elif CORECLR + return client.StartMetadataModelAssessmentAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String MigrationProjectIdentifier { get; set; } + public System.String SelectionRule { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.RequestIdentifier; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Start-DMSMetadataModelConversion-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Start-DMSMetadataModelConversion-Cmdlet.cs new file mode 100644 index 0000000000..aca97b1746 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Start-DMSMetadataModelConversion-Cmdlet.cs @@ -0,0 +1,246 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Converts your source database objects to a format compatible with the target database. + /// + [Cmdlet("Start", "DMSMetadataModelConversion", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("System.String")] + [AWSCmdlet("Calls the AWS Database Migration Service StartMetadataModelConversion API operation.", Operation = new[] {"StartMetadataModelConversion"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.StartMetadataModelConversionResponse))] + [AWSCmdletOutput("System.String or Amazon.DatabaseMigrationService.Model.StartMetadataModelConversionResponse", + "This cmdlet returns a System.String object.", + "The service call response (type Amazon.DatabaseMigrationService.Model.StartMetadataModelConversionResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class StartDMSMetadataModelConversionCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter MigrationProjectIdentifier + /// + /// + /// The migration project name or Amazon Resource Name (ARN). + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String MigrationProjectIdentifier { get; set; } + #endregion + + #region Parameter SelectionRule + /// + /// + /// A value that specifies the database objects to convert. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [Alias("SelectionRules")] + public System.String SelectionRule { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'RequestIdentifier'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.StartMetadataModelConversionResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.StartMetadataModelConversionResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "RequestIdentifier"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the MigrationProjectIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.MigrationProjectIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Start-DMSMetadataModelConversion (StartMetadataModelConversion)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.MigrationProjectIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.MigrationProjectIdentifier = this.MigrationProjectIdentifier; + #if MODULAR + if (this.MigrationProjectIdentifier == null && ParameterWasBound(nameof(this.MigrationProjectIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter MigrationProjectIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.SelectionRule = this.SelectionRule; + #if MODULAR + if (this.SelectionRule == null && ParameterWasBound(nameof(this.SelectionRule))) + { + WriteWarning("You are passing $null as a value for parameter SelectionRule which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DatabaseMigrationService.Model.StartMetadataModelConversionRequest(); + + if (cmdletContext.MigrationProjectIdentifier != null) + { + request.MigrationProjectIdentifier = cmdletContext.MigrationProjectIdentifier; + } + if (cmdletContext.SelectionRule != null) + { + request.SelectionRules = cmdletContext.SelectionRule; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.StartMetadataModelConversionResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.StartMetadataModelConversionRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "StartMetadataModelConversion"); + try + { + #if DESKTOP + return client.StartMetadataModelConversion(request); + #elif CORECLR + return client.StartMetadataModelConversionAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String MigrationProjectIdentifier { get; set; } + public System.String SelectionRule { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.RequestIdentifier; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Start-DMSMetadataModelExportAsScript-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Start-DMSMetadataModelExportAsScript-Cmdlet.cs new file mode 100644 index 0000000000..8c152ebffb --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Start-DMSMetadataModelExportAsScript-Cmdlet.cs @@ -0,0 +1,292 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Saves your converted code to a file as a SQL script, and stores this file on your + /// Amazon S3 bucket. + /// + [Cmdlet("Start", "DMSMetadataModelExportAsScript", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("System.String")] + [AWSCmdlet("Calls the AWS Database Migration Service StartMetadataModelExportAsScript API operation.", Operation = new[] {"StartMetadataModelExportAsScript"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.StartMetadataModelExportAsScriptResponse))] + [AWSCmdletOutput("System.String or Amazon.DatabaseMigrationService.Model.StartMetadataModelExportAsScriptResponse", + "This cmdlet returns a System.String object.", + "The service call response (type Amazon.DatabaseMigrationService.Model.StartMetadataModelExportAsScriptResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class StartDMSMetadataModelExportAsScriptCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter FileName + /// + /// + /// The name of the model file to create in the Amazon S3 bucket. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.String FileName { get; set; } + #endregion + + #region Parameter MigrationProjectIdentifier + /// + /// + /// The migration project name or Amazon Resource Name (ARN). + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String MigrationProjectIdentifier { get; set; } + #endregion + + #region Parameter Origin + /// + /// + /// Whether to export the metadata model from the source or the target. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [AWSConstantClassSource("Amazon.DatabaseMigrationService.OriginTypeValue")] + public Amazon.DatabaseMigrationService.OriginTypeValue Origin { get; set; } + #endregion + + #region Parameter SelectionRule + /// + /// + /// A value that specifies the database objects to export. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [Alias("SelectionRules")] + public System.String SelectionRule { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'RequestIdentifier'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.StartMetadataModelExportAsScriptResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.StartMetadataModelExportAsScriptResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "RequestIdentifier"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the MigrationProjectIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.MigrationProjectIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Start-DMSMetadataModelExportAsScript (StartMetadataModelExportAsScript)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.MigrationProjectIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.FileName = this.FileName; + context.MigrationProjectIdentifier = this.MigrationProjectIdentifier; + #if MODULAR + if (this.MigrationProjectIdentifier == null && ParameterWasBound(nameof(this.MigrationProjectIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter MigrationProjectIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.Origin = this.Origin; + #if MODULAR + if (this.Origin == null && ParameterWasBound(nameof(this.Origin))) + { + WriteWarning("You are passing $null as a value for parameter Origin which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.SelectionRule = this.SelectionRule; + #if MODULAR + if (this.SelectionRule == null && ParameterWasBound(nameof(this.SelectionRule))) + { + WriteWarning("You are passing $null as a value for parameter SelectionRule which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DatabaseMigrationService.Model.StartMetadataModelExportAsScriptRequest(); + + if (cmdletContext.FileName != null) + { + request.FileName = cmdletContext.FileName; + } + if (cmdletContext.MigrationProjectIdentifier != null) + { + request.MigrationProjectIdentifier = cmdletContext.MigrationProjectIdentifier; + } + if (cmdletContext.Origin != null) + { + request.Origin = cmdletContext.Origin; + } + if (cmdletContext.SelectionRule != null) + { + request.SelectionRules = cmdletContext.SelectionRule; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.StartMetadataModelExportAsScriptResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.StartMetadataModelExportAsScriptRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "StartMetadataModelExportAsScript"); + try + { + #if DESKTOP + return client.StartMetadataModelExportAsScript(request); + #elif CORECLR + return client.StartMetadataModelExportAsScriptAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String FileName { get; set; } + public System.String MigrationProjectIdentifier { get; set; } + public Amazon.DatabaseMigrationService.OriginTypeValue Origin { get; set; } + public System.String SelectionRule { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.RequestIdentifier; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Start-DMSMetadataModelExportToTarget-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Start-DMSMetadataModelExportToTarget-Cmdlet.cs new file mode 100644 index 0000000000..9ef0d70bb1 --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Start-DMSMetadataModelExportToTarget-Cmdlet.cs @@ -0,0 +1,264 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Applies converted database objects to your target database. + /// + [Cmdlet("Start", "DMSMetadataModelExportToTarget", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("System.String")] + [AWSCmdlet("Calls the AWS Database Migration Service StartMetadataModelExportToTarget API operation.", Operation = new[] {"StartMetadataModelExportToTarget"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.StartMetadataModelExportToTargetResponse))] + [AWSCmdletOutput("System.String or Amazon.DatabaseMigrationService.Model.StartMetadataModelExportToTargetResponse", + "This cmdlet returns a System.String object.", + "The service call response (type Amazon.DatabaseMigrationService.Model.StartMetadataModelExportToTargetResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class StartDMSMetadataModelExportToTargetCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter MigrationProjectIdentifier + /// + /// + /// The migration project name or Amazon Resource Name (ARN). + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String MigrationProjectIdentifier { get; set; } + #endregion + + #region Parameter OverwriteExtensionPack + /// + /// + /// Whether to overwrite the migration project extension pack. An extension pack is an + /// add-on module that emulates functions present in a source database that are required + /// when converting objects to the target database. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Boolean? OverwriteExtensionPack { get; set; } + #endregion + + #region Parameter SelectionRule + /// + /// + /// A value that specifies the database objects to export. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [Alias("SelectionRules")] + public System.String SelectionRule { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'RequestIdentifier'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.StartMetadataModelExportToTargetResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.StartMetadataModelExportToTargetResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "RequestIdentifier"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the MigrationProjectIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.MigrationProjectIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Start-DMSMetadataModelExportToTarget (StartMetadataModelExportToTarget)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.MigrationProjectIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.MigrationProjectIdentifier = this.MigrationProjectIdentifier; + #if MODULAR + if (this.MigrationProjectIdentifier == null && ParameterWasBound(nameof(this.MigrationProjectIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter MigrationProjectIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.OverwriteExtensionPack = this.OverwriteExtensionPack; + context.SelectionRule = this.SelectionRule; + #if MODULAR + if (this.SelectionRule == null && ParameterWasBound(nameof(this.SelectionRule))) + { + WriteWarning("You are passing $null as a value for parameter SelectionRule which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DatabaseMigrationService.Model.StartMetadataModelExportToTargetRequest(); + + if (cmdletContext.MigrationProjectIdentifier != null) + { + request.MigrationProjectIdentifier = cmdletContext.MigrationProjectIdentifier; + } + if (cmdletContext.OverwriteExtensionPack != null) + { + request.OverwriteExtensionPack = cmdletContext.OverwriteExtensionPack.Value; + } + if (cmdletContext.SelectionRule != null) + { + request.SelectionRules = cmdletContext.SelectionRule; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.StartMetadataModelExportToTargetResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.StartMetadataModelExportToTargetRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "StartMetadataModelExportToTarget"); + try + { + #if DESKTOP + return client.StartMetadataModelExportToTarget(request); + #elif CORECLR + return client.StartMetadataModelExportToTargetAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String MigrationProjectIdentifier { get; set; } + public System.Boolean? OverwriteExtensionPack { get; set; } + public System.String SelectionRule { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.RequestIdentifier; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Start-DMSMetadataModelImport-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Start-DMSMetadataModelImport-Cmdlet.cs new file mode 100644 index 0000000000..d659ae9a8b --- /dev/null +++ b/modules/AWSPowerShell/Cmdlets/DatabaseMigrationService/Basic/Start-DMSMetadataModelImport-Cmdlet.cs @@ -0,0 +1,298 @@ +/******************************************************************************* + * Copyright 2012-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"). You may not use + * this file except in compliance with the License. A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. + * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * ***************************************************************************** + * + * AWS Tools for Windows (TM) PowerShell (TM) + * + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Management.Automation; +using System.Text; +using Amazon.PowerShell.Common; +using Amazon.Runtime; +using Amazon.DatabaseMigrationService; +using Amazon.DatabaseMigrationService.Model; + +namespace Amazon.PowerShell.Cmdlets.DMS +{ + /// + /// Loads the metadata for all the dependent database objects of the parent object. + /// + /// + /// + /// This operation uses your project's Amazon S3 bucket as a metadata cache to improve + /// performance. + /// + /// + [Cmdlet("Start", "DMSMetadataModelImport", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] + [OutputType("System.String")] + [AWSCmdlet("Calls the AWS Database Migration Service StartMetadataModelImport API operation.", Operation = new[] {"StartMetadataModelImport"}, SelectReturnType = typeof(Amazon.DatabaseMigrationService.Model.StartMetadataModelImportResponse))] + [AWSCmdletOutput("System.String or Amazon.DatabaseMigrationService.Model.StartMetadataModelImportResponse", + "This cmdlet returns a System.String object.", + "The service call response (type Amazon.DatabaseMigrationService.Model.StartMetadataModelImportResponse) can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." + )] + public partial class StartDMSMetadataModelImportCmdlet : AmazonDatabaseMigrationServiceClientCmdlet, IExecutor + { + + #region Parameter MigrationProjectIdentifier + /// + /// + /// The migration project name or Amazon Resource Name (ARN). + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true)] + #else + [System.Management.Automation.Parameter(Position = 0, ValueFromPipelineByPropertyName = true, ValueFromPipeline = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + public System.String MigrationProjectIdentifier { get; set; } + #endregion + + #region Parameter Origin + /// + /// + /// Whether to load metadata to the source or target database. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [AWSConstantClassSource("Amazon.DatabaseMigrationService.OriginTypeValue")] + public Amazon.DatabaseMigrationService.OriginTypeValue Origin { get; set; } + #endregion + + #region Parameter Refresh + /// + /// + /// If true, DMS loads metadata for the specified objects from the source + /// database. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Boolean? Refresh { get; set; } + #endregion + + #region Parameter SelectionRule + /// + /// + /// A value that specifies the database objects to import. + /// + /// + #if !MODULAR + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + #else + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true, Mandatory = true)] + [System.Management.Automation.AllowEmptyString] + [System.Management.Automation.AllowNull] + #endif + [Amazon.PowerShell.Common.AWSRequiredParameter] + [Alias("SelectionRules")] + public System.String SelectionRule { get; set; } + #endregion + + #region Parameter Select + /// + /// Use the -Select parameter to control the cmdlet output. The default value is 'RequestIdentifier'. + /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.DatabaseMigrationService.Model.StartMetadataModelImportResponse). + /// Specifying the name of a property of type Amazon.DatabaseMigrationService.Model.StartMetadataModelImportResponse will result in that property being returned. + /// Specifying -Select '^ParameterName' will result in the cmdlet returning the selected cmdlet parameter value. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public string Select { get; set; } = "RequestIdentifier"; + #endregion + + #region Parameter PassThru + /// + /// Changes the cmdlet behavior to return the value passed to the MigrationProjectIdentifier parameter. + /// The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version. + /// + [System.Obsolete("The -PassThru parameter is deprecated, use -Select '^MigrationProjectIdentifier' instead. This parameter will be removed in a future version.")] + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter PassThru { get; set; } + #endregion + + #region Parameter Force + /// + /// This parameter overrides confirmation prompts to force + /// the cmdlet to continue its operation. This parameter should always + /// be used with caution. + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public SwitchParameter Force { get; set; } + #endregion + + protected override void ProcessRecord() + { + this._AWSSignerType = "v4"; + base.ProcessRecord(); + + var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.MigrationProjectIdentifier), MyInvocation.BoundParameters); + if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Start-DMSMetadataModelImport (StartMetadataModelImport)")) + { + return; + } + + var context = new CmdletContext(); + + // allow for manipulation of parameters prior to loading into context + PreExecutionContextLoad(context); + + #pragma warning disable CS0618, CS0612 //A class member was marked with the Obsolete attribute + if (ParameterWasBound(nameof(this.Select))) + { + context.Select = CreateSelectDelegate(Select) ?? + throw new System.ArgumentException("Invalid value for -Select parameter.", nameof(this.Select)); + if (this.PassThru.IsPresent) + { + throw new System.ArgumentException("-PassThru cannot be used when -Select is specified.", nameof(this.Select)); + } + } + else if (this.PassThru.IsPresent) + { + context.Select = (response, cmdlet) => this.MigrationProjectIdentifier; + } + #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute + context.MigrationProjectIdentifier = this.MigrationProjectIdentifier; + #if MODULAR + if (this.MigrationProjectIdentifier == null && ParameterWasBound(nameof(this.MigrationProjectIdentifier))) + { + WriteWarning("You are passing $null as a value for parameter MigrationProjectIdentifier which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.Origin = this.Origin; + #if MODULAR + if (this.Origin == null && ParameterWasBound(nameof(this.Origin))) + { + WriteWarning("You are passing $null as a value for parameter Origin which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + context.Refresh = this.Refresh; + context.SelectionRule = this.SelectionRule; + #if MODULAR + if (this.SelectionRule == null && ParameterWasBound(nameof(this.SelectionRule))) + { + WriteWarning("You are passing $null as a value for parameter SelectionRule which is marked as required. In case you believe this parameter was incorrectly marked as required, report this by opening an issue at https://github.com/aws/aws-tools-for-powershell/issues."); + } + #endif + + // allow further manipulation of loaded context prior to processing + PostExecutionContextLoad(context); + + var output = Execute(context) as CmdletOutput; + ProcessOutput(output); + } + + #region IExecutor Members + + public object Execute(ExecutorContext context) + { + var cmdletContext = context as CmdletContext; + // create request + var request = new Amazon.DatabaseMigrationService.Model.StartMetadataModelImportRequest(); + + if (cmdletContext.MigrationProjectIdentifier != null) + { + request.MigrationProjectIdentifier = cmdletContext.MigrationProjectIdentifier; + } + if (cmdletContext.Origin != null) + { + request.Origin = cmdletContext.Origin; + } + if (cmdletContext.Refresh != null) + { + request.Refresh = cmdletContext.Refresh.Value; + } + if (cmdletContext.SelectionRule != null) + { + request.SelectionRules = cmdletContext.SelectionRule; + } + + CmdletOutput output; + + // issue call + var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); + try + { + var response = CallAWSServiceOperation(client, request); + object pipelineOutput = null; + pipelineOutput = cmdletContext.Select(response, this); + output = new CmdletOutput + { + PipelineOutput = pipelineOutput, + ServiceResponse = response + }; + } + catch (Exception e) + { + output = new CmdletOutput { ErrorResponse = e }; + } + + return output; + } + + public ExecutorContext CreateContext() + { + return new CmdletContext(); + } + + #endregion + + #region AWS Service Operation Call + + private Amazon.DatabaseMigrationService.Model.StartMetadataModelImportResponse CallAWSServiceOperation(IAmazonDatabaseMigrationService client, Amazon.DatabaseMigrationService.Model.StartMetadataModelImportRequest request) + { + Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Database Migration Service", "StartMetadataModelImport"); + try + { + #if DESKTOP + return client.StartMetadataModelImport(request); + #elif CORECLR + return client.StartMetadataModelImportAsync(request).GetAwaiter().GetResult(); + #else + #error "Unknown build edition" + #endif + } + catch (AmazonServiceException exc) + { + var webException = exc.InnerException as System.Net.WebException; + if (webException != null) + { + throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); + } + throw; + } + } + + #endregion + + internal partial class CmdletContext : ExecutorContext + { + public System.String MigrationProjectIdentifier { get; set; } + public Amazon.DatabaseMigrationService.OriginTypeValue Origin { get; set; } + public System.Boolean? Refresh { get; set; } + public System.String SelectionRule { get; set; } + public System.Func Select { get; set; } = + (response, cmdlet) => response.RequestIdentifier; + } + + } +} diff --git a/modules/AWSPowerShell/Cmdlets/EC2/Basic/Edit-EC2NetworkInterfaceAttribute-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/EC2/Basic/Edit-EC2NetworkInterfaceAttribute-Cmdlet.cs index 02f58461b6..06da38bc10 100644 --- a/modules/AWSPowerShell/Cmdlets/EC2/Basic/Edit-EC2NetworkInterfaceAttribute-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/EC2/Basic/Edit-EC2NetworkInterfaceAttribute-Cmdlet.cs @@ -72,6 +72,27 @@ public partial class EditEC2NetworkInterfaceAttributeCmdlet : AmazonEC2ClientCmd public System.String Description { get; set; } #endregion + #region Parameter EnablePrimaryIpv6 + /// + /// + /// If you’re modifying a network interface in a dual-stack or IPv6-only subnet, you have + /// the option to assign a primary IPv6 IP address. A primary IPv6 address is an IPv6 + /// GUA address associated with an ENI that you have enabled to use a primary IPv6 address. + /// Use this option if the instance that this ENI will be attached to relies on its IPv6 + /// address not changing. Amazon Web Services will automatically assign an IPv6 address + /// associated with the ENI attached to your instance to be the primary IPv6 address. + /// Once you enable an IPv6 GUA address to be a primary IPv6, you cannot disable it. When + /// you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made + /// the primary IPv6 address until the instance is terminated or the network interface + /// is detached. If you have multiple IPv6 addresses associated with an ENI attached to + /// your instance and you enable a primary IPv6 address, the first IPv6 GUA address associated + /// with the ENI becomes the primary IPv6 address. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Boolean? EnablePrimaryIpv6 { get; set; } + #endregion + #region Parameter EnaSrdSpecification_EnaSrdEnabled /// /// @@ -203,6 +224,7 @@ protected override void ProcessRecord() context.Attachment_AttachmentId = this.Attachment_AttachmentId; context.Attachment_DeleteOnTermination = this.Attachment_DeleteOnTermination; context.Description = this.Description; + context.EnablePrimaryIpv6 = this.EnablePrimaryIpv6; context.EnaSrdSpecification_EnaSrdEnabled = this.EnaSrdSpecification_EnaSrdEnabled; context.EnaSrdUdpSpecification_EnaSrdUdpEnabled = this.EnaSrdUdpSpecification_EnaSrdUdpEnabled; if (this.Group != null) @@ -266,6 +288,10 @@ public object Execute(ExecutorContext context) { request.Description = cmdletContext.Description; } + if (cmdletContext.EnablePrimaryIpv6 != null) + { + request.EnablePrimaryIpv6 = cmdletContext.EnablePrimaryIpv6.Value; + } // populate EnaSrdSpecification var requestEnaSrdSpecificationIsNull = true; @@ -386,6 +412,7 @@ internal partial class CmdletContext : ExecutorContext public System.String Attachment_AttachmentId { get; set; } public System.Boolean? Attachment_DeleteOnTermination { get; set; } public System.String Description { get; set; } + public System.Boolean? EnablePrimaryIpv6 { get; set; } public System.Boolean? EnaSrdSpecification_EnaSrdEnabled { get; set; } public System.Boolean? EnaSrdUdpSpecification_EnaSrdUdpEnabled { get; set; } public List Group { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/EC2/Basic/New-EC2Instance-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/EC2/Basic/New-EC2Instance-Cmdlet.cs index bff52537c4..8537dfb50e 100644 --- a/modules/AWSPowerShell/Cmdlets/EC2/Basic/New-EC2Instance-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/EC2/Basic/New-EC2Instance-Cmdlet.cs @@ -309,6 +309,27 @@ public partial class NewEC2InstanceCmdlet : AmazonEC2ClientCmdlet, IExecutor public System.Boolean? EnclaveOptions_Enabled { get; set; } #endregion + #region Parameter EnablePrimaryIpv6 + /// + /// + /// If you’re launching an instance into a dual-stack or IPv6-only subnet, you can enable + /// assigning a primary IPv6 address. A primary IPv6 address is an IPv6 GUA address associated + /// with an ENI that you have enabled to use a primary IPv6 address. Use this option if + /// an instance relies on its IPv6 address not changing. When you launch the instance, + /// Amazon Web Services will automatically assign an IPv6 address associated with the + /// ENI attached to your instance to be the primary IPv6 address. Once you enable an IPv6 + /// GUA address to be a primary IPv6, you cannot disable it. When you enable an IPv6 GUA + /// address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address + /// until the instance is terminated or the network interface is detached. If you have + /// multiple IPv6 addresses associated with an ENI attached to your instance and you enable + /// a primary IPv6 address, the first IPv6 GUA address associated with the ENI becomes + /// the primary IPv6 address. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Boolean? EnablePrimaryIpv6 { get; set; } + #endregion + #region Parameter PrivateDnsNameOptions_EnableResourceNameDnsAAAARecord /// /// @@ -861,6 +882,7 @@ protected override void ProcessRecord() { context.ElasticInferenceAccelerator = new List(this.ElasticInferenceAccelerator); } + context.EnablePrimaryIpv6 = this.EnablePrimaryIpv6; context.EnclaveOptions_Enabled = this.EnclaveOptions_Enabled; context.HibernationOptions_Configured = this.HibernationOptions_Configured; context.IamInstanceProfile_Arn = this.IamInstanceProfile_Arn; @@ -1069,6 +1091,10 @@ public object Execute(ExecutorContext context) { request.ElasticInferenceAccelerators = cmdletContext.ElasticInferenceAccelerator; } + if (cmdletContext.EnablePrimaryIpv6 != null) + { + request.EnablePrimaryIpv6 = cmdletContext.EnablePrimaryIpv6.Value; + } // populate EnclaveOptions var requestEnclaveOptionsIsNull = true; @@ -1510,6 +1536,7 @@ internal partial class CmdletContext : ExecutorContext public System.Boolean? EbsOptimized { get; set; } public List ElasticGpuSpecification { get; set; } public List ElasticInferenceAccelerator { get; set; } + public System.Boolean? EnablePrimaryIpv6 { get; set; } public System.Boolean? EnclaveOptions_Enabled { get; set; } public System.Boolean? HibernationOptions_Configured { get; set; } public System.String IamInstanceProfile_Arn { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/EC2/Basic/New-EC2NetworkInterface-Cmdlet.cs b/modules/AWSPowerShell/Cmdlets/EC2/Basic/New-EC2NetworkInterface-Cmdlet.cs index 435888fc58..d0d4d0f7a3 100644 --- a/modules/AWSPowerShell/Cmdlets/EC2/Basic/New-EC2NetworkInterface-Cmdlet.cs +++ b/modules/AWSPowerShell/Cmdlets/EC2/Basic/New-EC2NetworkInterface-Cmdlet.cs @@ -61,6 +61,27 @@ public partial class NewEC2NetworkInterfaceCmdlet : AmazonEC2ClientCmdlet, IExec public System.String Description { get; set; } #endregion + #region Parameter EnablePrimaryIpv6 + /// + /// + /// If you’re creating a network interface in a dual-stack or IPv6-only subnet, you have + /// the option to assign a primary IPv6 IP address. A primary IPv6 address is an IPv6 + /// GUA address associated with an ENI that you have enabled to use a primary IPv6 address. + /// Use this option if the instance that this ENI will be attached to relies on its IPv6 + /// address not changing. Amazon Web Services will automatically assign an IPv6 address + /// associated with the ENI attached to your instance to be the primary IPv6 address. + /// Once you enable an IPv6 GUA address to be a primary IPv6, you cannot disable it. When + /// you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made + /// the primary IPv6 address until the instance is terminated or the network interface + /// is detached. If you have multiple IPv6 addresses associated with an ENI attached to + /// your instance and you enable a primary IPv6 address, the first IPv6 GUA address associated + /// with the ENI becomes the primary IPv6 address. + /// + /// + [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] + public System.Boolean? EnablePrimaryIpv6 { get; set; } + #endregion + #region Parameter Group /// /// @@ -302,6 +323,7 @@ protected override void ProcessRecord() #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute context.ClientToken = this.ClientToken; context.Description = this.Description; + context.EnablePrimaryIpv6 = this.EnablePrimaryIpv6; if (this.Group != null) { context.Group = new List(this.Group); @@ -363,6 +385,10 @@ public object Execute(ExecutorContext context) { request.Description = cmdletContext.Description; } + if (cmdletContext.EnablePrimaryIpv6 != null) + { + request.EnablePrimaryIpv6 = cmdletContext.EnablePrimaryIpv6.Value; + } if (cmdletContext.Group != null) { request.Groups = cmdletContext.Group; @@ -478,6 +504,7 @@ internal partial class CmdletContext : ExecutorContext { public System.String ClientToken { get; set; } public System.String Description { get; set; } + public System.Boolean? EnablePrimaryIpv6 { get; set; } public List Group { get; set; } public Amazon.EC2.NetworkInterfaceCreationType InterfaceType { get; set; } public System.Int32? Ipv4PrefixCount { get; set; } diff --git a/modules/AWSPowerShell/Cmdlets/SageMaker/AWS.Tools.SageMaker.Completers.psm1 b/modules/AWSPowerShell/Cmdlets/SageMaker/AWS.Tools.SageMaker.Completers.psm1 index 127c760518..11e8abcf2e 100644 --- a/modules/AWSPowerShell/Cmdlets/SageMaker/AWS.Tools.SageMaker.Completers.psm1 +++ b/modules/AWSPowerShell/Cmdlets/SageMaker/AWS.Tools.SageMaker.Completers.psm1 @@ -1290,7 +1290,7 @@ $SM_Completers = { # Amazon.SageMaker.TrainingInstanceType "New-SMHyperParameterTuningJob/TrainingJobDefinition_HyperParameterTuningResourceConfig_InstanceType" { - $v = "ml.c4.2xlarge","ml.c4.4xlarge","ml.c4.8xlarge","ml.c4.xlarge","ml.c5.18xlarge","ml.c5.2xlarge","ml.c5.4xlarge","ml.c5.9xlarge","ml.c5.xlarge","ml.c5n.18xlarge","ml.c5n.2xlarge","ml.c5n.4xlarge","ml.c5n.9xlarge","ml.c5n.xlarge","ml.g4dn.12xlarge","ml.g4dn.16xlarge","ml.g4dn.2xlarge","ml.g4dn.4xlarge","ml.g4dn.8xlarge","ml.g4dn.xlarge","ml.g5.12xlarge","ml.g5.16xlarge","ml.g5.24xlarge","ml.g5.2xlarge","ml.g5.48xlarge","ml.g5.4xlarge","ml.g5.8xlarge","ml.g5.xlarge","ml.m4.10xlarge","ml.m4.16xlarge","ml.m4.2xlarge","ml.m4.4xlarge","ml.m4.xlarge","ml.m5.12xlarge","ml.m5.24xlarge","ml.m5.2xlarge","ml.m5.4xlarge","ml.m5.large","ml.m5.xlarge","ml.p2.16xlarge","ml.p2.8xlarge","ml.p2.xlarge","ml.p3.16xlarge","ml.p3.2xlarge","ml.p3.8xlarge","ml.p3dn.24xlarge","ml.p4d.24xlarge","ml.trn1.2xlarge","ml.trn1.32xlarge","ml.trn1n.32xlarge" + $v = "ml.c4.2xlarge","ml.c4.4xlarge","ml.c4.8xlarge","ml.c4.xlarge","ml.c5.18xlarge","ml.c5.2xlarge","ml.c5.4xlarge","ml.c5.9xlarge","ml.c5.xlarge","ml.c5n.18xlarge","ml.c5n.2xlarge","ml.c5n.4xlarge","ml.c5n.9xlarge","ml.c5n.xlarge","ml.g4dn.12xlarge","ml.g4dn.16xlarge","ml.g4dn.2xlarge","ml.g4dn.4xlarge","ml.g4dn.8xlarge","ml.g4dn.xlarge","ml.g5.12xlarge","ml.g5.16xlarge","ml.g5.24xlarge","ml.g5.2xlarge","ml.g5.48xlarge","ml.g5.4xlarge","ml.g5.8xlarge","ml.g5.xlarge","ml.m4.10xlarge","ml.m4.16xlarge","ml.m4.2xlarge","ml.m4.4xlarge","ml.m4.xlarge","ml.m5.12xlarge","ml.m5.24xlarge","ml.m5.2xlarge","ml.m5.4xlarge","ml.m5.large","ml.m5.xlarge","ml.p2.16xlarge","ml.p2.8xlarge","ml.p2.xlarge","ml.p3.16xlarge","ml.p3.2xlarge","ml.p3.8xlarge","ml.p3dn.24xlarge","ml.p4d.24xlarge","ml.p5.48xlarge","ml.trn1.2xlarge","ml.trn1.32xlarge","ml.trn1n.32xlarge" break } diff --git a/modules/AWSPowerShell/CmdletsList.dat b/modules/AWSPowerShell/CmdletsList.dat index 2257108139..590429a1d1 100644 Binary files a/modules/AWSPowerShell/CmdletsList.dat and b/modules/AWSPowerShell/CmdletsList.dat differ diff --git a/modules/ModularAWSPowerShell/CmdletsList.dat b/modules/ModularAWSPowerShell/CmdletsList.dat index 14c0ee81cb..0be888894b 100644 Binary files a/modules/ModularAWSPowerShell/CmdletsList.dat and b/modules/ModularAWSPowerShell/CmdletsList.dat differ