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