/******************************************************************************* * 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.MigrationHubStrategyRecommendations; using Amazon.MigrationHubStrategyRecommendations.Model; namespace Amazon.PowerShell.Cmdlets.MHS { /// /// Saves the specified migration and modernization preferences. /// [Cmdlet("Write", "MHSPortfolioPreference", SupportsShouldProcess = true, ConfirmImpact = ConfirmImpact.Medium)] [OutputType("None")] [AWSCmdlet("Calls the Migration Hub Strategy Recommendations PutPortfolioPreferences API operation.", Operation = new[] {"PutPortfolioPreferences"}, SelectReturnType = typeof(Amazon.MigrationHubStrategyRecommendations.Model.PutPortfolioPreferencesResponse))] [AWSCmdletOutput("None or Amazon.MigrationHubStrategyRecommendations.Model.PutPortfolioPreferencesResponse", "This cmdlet does not generate any output." + "The service response (type Amazon.MigrationHubStrategyRecommendations.Model.PutPortfolioPreferencesResponse) can be referenced from properties attached to the cmdlet entry in the $AWSHistory stack." )] public partial class WriteMHSPortfolioPreferenceCmdlet : AmazonMigrationHubStrategyRecommendationsClientCmdlet, IExecutor { #region Parameter ApplicationMode /// /// /// The classification for application component types. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [AWSConstantClassSource("Amazon.MigrationHubStrategyRecommendations.ApplicationMode")] public Amazon.MigrationHubStrategyRecommendations.ApplicationMode ApplicationMode { get; set; } #endregion #region Parameter DatabasePreferences_DatabaseManagementPreference /// /// /// Specifies whether you're interested in self-managed databases or databases managed /// by AWS. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [AWSConstantClassSource("Amazon.MigrationHubStrategyRecommendations.DatabaseManagementPreference")] public Amazon.MigrationHubStrategyRecommendations.DatabaseManagementPreference DatabasePreferences_DatabaseManagementPreference { get; set; } #endregion #region Parameter BusinessGoals_LicenseCostReduction /// /// /// Business goal to reduce license costs. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("PrioritizeBusinessGoals_BusinessGoals_LicenseCostReduction")] public System.Int32? BusinessGoals_LicenseCostReduction { get; set; } #endregion #region Parameter BusinessGoals_ModernizeInfrastructureWithCloudNativeTechnology /// /// /// Business goal to modernize infrastructure by moving to cloud native technologies. /// /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("PrioritizeBusinessGoals_BusinessGoals_ModernizeInfrastructureWithCloudNativeTechnologies")] public System.Int32? BusinessGoals_ModernizeInfrastructureWithCloudNativeTechnology { get; set; } #endregion #region Parameter BusinessGoals_ReduceOperationalOverheadWithManagedService /// /// /// Business goal to reduce the operational overhead on the team by moving into managed /// services. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("PrioritizeBusinessGoals_BusinessGoals_ReduceOperationalOverheadWithManagedServices")] public System.Int32? BusinessGoals_ReduceOperationalOverheadWithManagedService { get; set; } #endregion #region Parameter BusinessGoals_SpeedOfMigration /// /// /// Business goal to achieve migration at a fast pace. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("PrioritizeBusinessGoals_BusinessGoals_SpeedOfMigration")] public System.Int32? BusinessGoals_SpeedOfMigration { get; set; } #endregion #region Parameter Heterogeneous_TargetDatabaseEngine /// /// /// The target database engine for heterogeneous database migration preference. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("DatabasePreferences_DatabaseMigrationPreference_Heterogeneous_TargetDatabaseEngine")] public System.String[] Heterogeneous_TargetDatabaseEngine { get; set; } #endregion #region Parameter Homogeneous_TargetDatabaseEngine /// /// /// The target database engine for homogeneous database migration preferences. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("DatabasePreferences_DatabaseMigrationPreference_Homogeneous_TargetDatabaseEngine")] public System.String[] Homogeneous_TargetDatabaseEngine { get; set; } #endregion #region Parameter NoPreference_TargetDatabaseEngine /// /// /// The target database engine for database migration preference that you specify. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("DatabasePreferences_DatabaseMigrationPreference_NoPreference_TargetDatabaseEngine")] public System.String[] NoPreference_TargetDatabaseEngine { get; set; } #endregion #region Parameter AwsManagedResources_TargetDestination /// /// /// The choice of application destination that you specify. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("ApplicationPreferences_ManagementPreference_AwsManagedResources_TargetDestination")] public System.String[] AwsManagedResources_TargetDestination { get; set; } #endregion #region Parameter NoPreference_TargetDestination /// /// /// The choice of application destination that you specify. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("ApplicationPreferences_ManagementPreference_NoPreference_TargetDestination")] public System.String[] NoPreference_TargetDestination { get; set; } #endregion #region Parameter SelfManageResources_TargetDestination /// /// /// Self-managed resources target destination. /// /// [System.Management.Automation.Parameter(ValueFromPipelineByPropertyName = true)] [Alias("ApplicationPreferences_ManagementPreference_SelfManageResources_TargetDestination")] public System.String[] SelfManageResources_TargetDestination { get; set; } #endregion #region Parameter Select /// /// Use the -Select parameter to control the cmdlet output. The cmdlet doesn't have a return value by default. /// Specifying -Select '*' will result in the cmdlet returning the whole service response (Amazon.MigrationHubStrategyRecommendations.Model.PutPortfolioPreferencesResponse). /// 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 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 = string.Empty; if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Write-MHSPortfolioPreference (PutPortfolioPreferences)")) { return; } 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)); } context.ApplicationMode = this.ApplicationMode; if (this.AwsManagedResources_TargetDestination != null) { context.AwsManagedResources_TargetDestination = new List(this.AwsManagedResources_TargetDestination); } if (this.NoPreference_TargetDestination != null) { context.NoPreference_TargetDestination = new List(this.NoPreference_TargetDestination); } if (this.SelfManageResources_TargetDestination != null) { context.SelfManageResources_TargetDestination = new List(this.SelfManageResources_TargetDestination); } context.DatabasePreferences_DatabaseManagementPreference = this.DatabasePreferences_DatabaseManagementPreference; if (this.Heterogeneous_TargetDatabaseEngine != null) { context.Heterogeneous_TargetDatabaseEngine = new List(this.Heterogeneous_TargetDatabaseEngine); } if (this.Homogeneous_TargetDatabaseEngine != null) { context.Homogeneous_TargetDatabaseEngine = new List(this.Homogeneous_TargetDatabaseEngine); } if (this.NoPreference_TargetDatabaseEngine != null) { context.NoPreference_TargetDatabaseEngine = new List(this.NoPreference_TargetDatabaseEngine); } context.BusinessGoals_LicenseCostReduction = this.BusinessGoals_LicenseCostReduction; context.BusinessGoals_ModernizeInfrastructureWithCloudNativeTechnology = this.BusinessGoals_ModernizeInfrastructureWithCloudNativeTechnology; context.BusinessGoals_ReduceOperationalOverheadWithManagedService = this.BusinessGoals_ReduceOperationalOverheadWithManagedService; context.BusinessGoals_SpeedOfMigration = this.BusinessGoals_SpeedOfMigration; // 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.MigrationHubStrategyRecommendations.Model.PutPortfolioPreferencesRequest(); if (cmdletContext.ApplicationMode != null) { request.ApplicationMode = cmdletContext.ApplicationMode; } // populate ApplicationPreferences var requestApplicationPreferencesIsNull = true; request.ApplicationPreferences = new Amazon.MigrationHubStrategyRecommendations.Model.ApplicationPreferences(); Amazon.MigrationHubStrategyRecommendations.Model.ManagementPreference requestApplicationPreferences_applicationPreferences_ManagementPreference = null; // populate ManagementPreference var requestApplicationPreferences_applicationPreferences_ManagementPreferenceIsNull = true; requestApplicationPreferences_applicationPreferences_ManagementPreference = new Amazon.MigrationHubStrategyRecommendations.Model.ManagementPreference(); Amazon.MigrationHubStrategyRecommendations.Model.AwsManagedResources requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_AwsManagedResources = null; // populate AwsManagedResources var requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_AwsManagedResourcesIsNull = true; requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_AwsManagedResources = new Amazon.MigrationHubStrategyRecommendations.Model.AwsManagedResources(); List requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_AwsManagedResources_awsManagedResources_TargetDestination = null; if (cmdletContext.AwsManagedResources_TargetDestination != null) { requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_AwsManagedResources_awsManagedResources_TargetDestination = cmdletContext.AwsManagedResources_TargetDestination; } if (requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_AwsManagedResources_awsManagedResources_TargetDestination != null) { requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_AwsManagedResources.TargetDestination = requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_AwsManagedResources_awsManagedResources_TargetDestination; requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_AwsManagedResourcesIsNull = false; } // determine if requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_AwsManagedResources should be set to null if (requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_AwsManagedResourcesIsNull) { requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_AwsManagedResources = null; } if (requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_AwsManagedResources != null) { requestApplicationPreferences_applicationPreferences_ManagementPreference.AwsManagedResources = requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_AwsManagedResources; requestApplicationPreferences_applicationPreferences_ManagementPreferenceIsNull = false; } Amazon.MigrationHubStrategyRecommendations.Model.NoManagementPreference requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_NoPreference = null; // populate NoPreference var requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_NoPreferenceIsNull = true; requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_NoPreference = new Amazon.MigrationHubStrategyRecommendations.Model.NoManagementPreference(); List requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_NoPreference_noPreference_TargetDestination = null; if (cmdletContext.NoPreference_TargetDestination != null) { requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_NoPreference_noPreference_TargetDestination = cmdletContext.NoPreference_TargetDestination; } if (requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_NoPreference_noPreference_TargetDestination != null) { requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_NoPreference.TargetDestination = requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_NoPreference_noPreference_TargetDestination; requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_NoPreferenceIsNull = false; } // determine if requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_NoPreference should be set to null if (requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_NoPreferenceIsNull) { requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_NoPreference = null; } if (requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_NoPreference != null) { requestApplicationPreferences_applicationPreferences_ManagementPreference.NoPreference = requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_NoPreference; requestApplicationPreferences_applicationPreferences_ManagementPreferenceIsNull = false; } Amazon.MigrationHubStrategyRecommendations.Model.SelfManageResources requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_SelfManageResources = null; // populate SelfManageResources var requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_SelfManageResourcesIsNull = true; requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_SelfManageResources = new Amazon.MigrationHubStrategyRecommendations.Model.SelfManageResources(); List requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_SelfManageResources_selfManageResources_TargetDestination = null; if (cmdletContext.SelfManageResources_TargetDestination != null) { requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_SelfManageResources_selfManageResources_TargetDestination = cmdletContext.SelfManageResources_TargetDestination; } if (requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_SelfManageResources_selfManageResources_TargetDestination != null) { requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_SelfManageResources.TargetDestination = requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_SelfManageResources_selfManageResources_TargetDestination; requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_SelfManageResourcesIsNull = false; } // determine if requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_SelfManageResources should be set to null if (requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_SelfManageResourcesIsNull) { requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_SelfManageResources = null; } if (requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_SelfManageResources != null) { requestApplicationPreferences_applicationPreferences_ManagementPreference.SelfManageResources = requestApplicationPreferences_applicationPreferences_ManagementPreference_applicationPreferences_ManagementPreference_SelfManageResources; requestApplicationPreferences_applicationPreferences_ManagementPreferenceIsNull = false; } // determine if requestApplicationPreferences_applicationPreferences_ManagementPreference should be set to null if (requestApplicationPreferences_applicationPreferences_ManagementPreferenceIsNull) { requestApplicationPreferences_applicationPreferences_ManagementPreference = null; } if (requestApplicationPreferences_applicationPreferences_ManagementPreference != null) { request.ApplicationPreferences.ManagementPreference = requestApplicationPreferences_applicationPreferences_ManagementPreference; requestApplicationPreferencesIsNull = false; } // determine if request.ApplicationPreferences should be set to null if (requestApplicationPreferencesIsNull) { request.ApplicationPreferences = null; } // populate DatabasePreferences var requestDatabasePreferencesIsNull = true; request.DatabasePreferences = new Amazon.MigrationHubStrategyRecommendations.Model.DatabasePreferences(); Amazon.MigrationHubStrategyRecommendations.DatabaseManagementPreference requestDatabasePreferences_databasePreferences_DatabaseManagementPreference = null; if (cmdletContext.DatabasePreferences_DatabaseManagementPreference != null) { requestDatabasePreferences_databasePreferences_DatabaseManagementPreference = cmdletContext.DatabasePreferences_DatabaseManagementPreference; } if (requestDatabasePreferences_databasePreferences_DatabaseManagementPreference != null) { request.DatabasePreferences.DatabaseManagementPreference = requestDatabasePreferences_databasePreferences_DatabaseManagementPreference; requestDatabasePreferencesIsNull = false; } Amazon.MigrationHubStrategyRecommendations.Model.DatabaseMigrationPreference requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference = null; // populate DatabaseMigrationPreference var requestDatabasePreferences_databasePreferences_DatabaseMigrationPreferenceIsNull = true; requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference = new Amazon.MigrationHubStrategyRecommendations.Model.DatabaseMigrationPreference(); Amazon.MigrationHubStrategyRecommendations.Model.Heterogeneous requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_Heterogeneous = null; // populate Heterogeneous var requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_HeterogeneousIsNull = true; requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_Heterogeneous = new Amazon.MigrationHubStrategyRecommendations.Model.Heterogeneous(); List requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_Heterogeneous_heterogeneous_TargetDatabaseEngine = null; if (cmdletContext.Heterogeneous_TargetDatabaseEngine != null) { requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_Heterogeneous_heterogeneous_TargetDatabaseEngine = cmdletContext.Heterogeneous_TargetDatabaseEngine; } if (requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_Heterogeneous_heterogeneous_TargetDatabaseEngine != null) { requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_Heterogeneous.TargetDatabaseEngine = requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_Heterogeneous_heterogeneous_TargetDatabaseEngine; requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_HeterogeneousIsNull = false; } // determine if requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_Heterogeneous should be set to null if (requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_HeterogeneousIsNull) { requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_Heterogeneous = null; } if (requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_Heterogeneous != null) { requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference.Heterogeneous = requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_Heterogeneous; requestDatabasePreferences_databasePreferences_DatabaseMigrationPreferenceIsNull = false; } Amazon.MigrationHubStrategyRecommendations.Model.Homogeneous requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_Homogeneous = null; // populate Homogeneous var requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_HomogeneousIsNull = true; requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_Homogeneous = new Amazon.MigrationHubStrategyRecommendations.Model.Homogeneous(); List requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_Homogeneous_homogeneous_TargetDatabaseEngine = null; if (cmdletContext.Homogeneous_TargetDatabaseEngine != null) { requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_Homogeneous_homogeneous_TargetDatabaseEngine = cmdletContext.Homogeneous_TargetDatabaseEngine; } if (requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_Homogeneous_homogeneous_TargetDatabaseEngine != null) { requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_Homogeneous.TargetDatabaseEngine = requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_Homogeneous_homogeneous_TargetDatabaseEngine; requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_HomogeneousIsNull = false; } // determine if requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_Homogeneous should be set to null if (requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_HomogeneousIsNull) { requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_Homogeneous = null; } if (requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_Homogeneous != null) { requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference.Homogeneous = requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_Homogeneous; requestDatabasePreferences_databasePreferences_DatabaseMigrationPreferenceIsNull = false; } Amazon.MigrationHubStrategyRecommendations.Model.NoDatabaseMigrationPreference requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_NoPreference = null; // populate NoPreference var requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_NoPreferenceIsNull = true; requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_NoPreference = new Amazon.MigrationHubStrategyRecommendations.Model.NoDatabaseMigrationPreference(); List requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_NoPreference_noPreference_TargetDatabaseEngine = null; if (cmdletContext.NoPreference_TargetDatabaseEngine != null) { requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_NoPreference_noPreference_TargetDatabaseEngine = cmdletContext.NoPreference_TargetDatabaseEngine; } if (requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_NoPreference_noPreference_TargetDatabaseEngine != null) { requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_NoPreference.TargetDatabaseEngine = requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_NoPreference_noPreference_TargetDatabaseEngine; requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_NoPreferenceIsNull = false; } // determine if requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_NoPreference should be set to null if (requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_NoPreferenceIsNull) { requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_NoPreference = null; } if (requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_NoPreference != null) { requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference.NoPreference = requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference_databasePreferences_DatabaseMigrationPreference_NoPreference; requestDatabasePreferences_databasePreferences_DatabaseMigrationPreferenceIsNull = false; } // determine if requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference should be set to null if (requestDatabasePreferences_databasePreferences_DatabaseMigrationPreferenceIsNull) { requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference = null; } if (requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference != null) { request.DatabasePreferences.DatabaseMigrationPreference = requestDatabasePreferences_databasePreferences_DatabaseMigrationPreference; requestDatabasePreferencesIsNull = false; } // determine if request.DatabasePreferences should be set to null if (requestDatabasePreferencesIsNull) { request.DatabasePreferences = null; } // populate PrioritizeBusinessGoals var requestPrioritizeBusinessGoalsIsNull = true; request.PrioritizeBusinessGoals = new Amazon.MigrationHubStrategyRecommendations.Model.PrioritizeBusinessGoals(); Amazon.MigrationHubStrategyRecommendations.Model.BusinessGoals requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoals = null; // populate BusinessGoals var requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoalsIsNull = true; requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoals = new Amazon.MigrationHubStrategyRecommendations.Model.BusinessGoals(); System.Int32? requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoals_businessGoals_LicenseCostReduction = null; if (cmdletContext.BusinessGoals_LicenseCostReduction != null) { requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoals_businessGoals_LicenseCostReduction = cmdletContext.BusinessGoals_LicenseCostReduction.Value; } if (requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoals_businessGoals_LicenseCostReduction != null) { requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoals.LicenseCostReduction = requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoals_businessGoals_LicenseCostReduction.Value; requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoalsIsNull = false; } System.Int32? requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoals_businessGoals_ModernizeInfrastructureWithCloudNativeTechnology = null; if (cmdletContext.BusinessGoals_ModernizeInfrastructureWithCloudNativeTechnology != null) { requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoals_businessGoals_ModernizeInfrastructureWithCloudNativeTechnology = cmdletContext.BusinessGoals_ModernizeInfrastructureWithCloudNativeTechnology.Value; } if (requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoals_businessGoals_ModernizeInfrastructureWithCloudNativeTechnology != null) { requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoals.ModernizeInfrastructureWithCloudNativeTechnologies = requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoals_businessGoals_ModernizeInfrastructureWithCloudNativeTechnology.Value; requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoalsIsNull = false; } System.Int32? requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoals_businessGoals_ReduceOperationalOverheadWithManagedService = null; if (cmdletContext.BusinessGoals_ReduceOperationalOverheadWithManagedService != null) { requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoals_businessGoals_ReduceOperationalOverheadWithManagedService = cmdletContext.BusinessGoals_ReduceOperationalOverheadWithManagedService.Value; } if (requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoals_businessGoals_ReduceOperationalOverheadWithManagedService != null) { requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoals.ReduceOperationalOverheadWithManagedServices = requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoals_businessGoals_ReduceOperationalOverheadWithManagedService.Value; requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoalsIsNull = false; } System.Int32? requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoals_businessGoals_SpeedOfMigration = null; if (cmdletContext.BusinessGoals_SpeedOfMigration != null) { requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoals_businessGoals_SpeedOfMigration = cmdletContext.BusinessGoals_SpeedOfMigration.Value; } if (requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoals_businessGoals_SpeedOfMigration != null) { requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoals.SpeedOfMigration = requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoals_businessGoals_SpeedOfMigration.Value; requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoalsIsNull = false; } // determine if requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoals should be set to null if (requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoalsIsNull) { requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoals = null; } if (requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoals != null) { request.PrioritizeBusinessGoals.BusinessGoals = requestPrioritizeBusinessGoals_prioritizeBusinessGoals_BusinessGoals; requestPrioritizeBusinessGoalsIsNull = false; } // determine if request.PrioritizeBusinessGoals should be set to null if (requestPrioritizeBusinessGoalsIsNull) { request.PrioritizeBusinessGoals = 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.MigrationHubStrategyRecommendations.Model.PutPortfolioPreferencesResponse CallAWSServiceOperation(IAmazonMigrationHubStrategyRecommendations client, Amazon.MigrationHubStrategyRecommendations.Model.PutPortfolioPreferencesRequest request) { Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Migration Hub Strategy Recommendations", "PutPortfolioPreferences"); try { #if DESKTOP return client.PutPortfolioPreferences(request); #elif CORECLR return client.PutPortfolioPreferencesAsync(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 Amazon.MigrationHubStrategyRecommendations.ApplicationMode ApplicationMode { get; set; } public List AwsManagedResources_TargetDestination { get; set; } public List NoPreference_TargetDestination { get; set; } public List SelfManageResources_TargetDestination { get; set; } public Amazon.MigrationHubStrategyRecommendations.DatabaseManagementPreference DatabasePreferences_DatabaseManagementPreference { get; set; } public List Heterogeneous_TargetDatabaseEngine { get; set; } public List Homogeneous_TargetDatabaseEngine { get; set; } public List NoPreference_TargetDatabaseEngine { get; set; } public System.Int32? BusinessGoals_LicenseCostReduction { get; set; } public System.Int32? BusinessGoals_ModernizeInfrastructureWithCloudNativeTechnology { get; set; } public System.Int32? BusinessGoals_ReduceOperationalOverheadWithManagedService { get; set; } public System.Int32? BusinessGoals_SpeedOfMigration { get; set; } public System.Func Select { get; set; } = (response, cmdlet) => null; } } }