Esempio n. 1
0
        public object Execute(ExecutorContext context)
        {
            var cmdletContext = context as CmdletContext;
            // create request
            var request = new Amazon.AutoScaling.Model.StartInstanceRefreshRequest();

            if (cmdletContext.AutoScalingGroupName != null)
            {
                request.AutoScalingGroupName = cmdletContext.AutoScalingGroupName;
            }

            // populate Preferences
            var requestPreferencesIsNull = true;

            request.Preferences = new Amazon.AutoScaling.Model.RefreshPreferences();
            System.Int32?requestPreferences_preferences_CheckpointDelay = null;
            if (cmdletContext.Preferences_CheckpointDelay != null)
            {
                requestPreferences_preferences_CheckpointDelay = cmdletContext.Preferences_CheckpointDelay.Value;
            }
            if (requestPreferences_preferences_CheckpointDelay != null)
            {
                request.Preferences.CheckpointDelay = requestPreferences_preferences_CheckpointDelay.Value;
                requestPreferencesIsNull            = false;
            }
            List <System.Int32> requestPreferences_preferences_CheckpointPercentage = null;

            if (cmdletContext.Preferences_CheckpointPercentage != null)
            {
                requestPreferences_preferences_CheckpointPercentage = cmdletContext.Preferences_CheckpointPercentage;
            }
            if (requestPreferences_preferences_CheckpointPercentage != null)
            {
                request.Preferences.CheckpointPercentages = requestPreferences_preferences_CheckpointPercentage;
                requestPreferencesIsNull = false;
            }
            System.Int32?requestPreferences_preferences_InstanceWarmup = null;
            if (cmdletContext.Preferences_InstanceWarmup != null)
            {
                requestPreferences_preferences_InstanceWarmup = cmdletContext.Preferences_InstanceWarmup.Value;
            }
            if (requestPreferences_preferences_InstanceWarmup != null)
            {
                request.Preferences.InstanceWarmup = requestPreferences_preferences_InstanceWarmup.Value;
                requestPreferencesIsNull           = false;
            }
            System.Int32?requestPreferences_preferences_MinHealthyPercentage = null;
            if (cmdletContext.Preferences_MinHealthyPercentage != null)
            {
                requestPreferences_preferences_MinHealthyPercentage = cmdletContext.Preferences_MinHealthyPercentage.Value;
            }
            if (requestPreferences_preferences_MinHealthyPercentage != null)
            {
                request.Preferences.MinHealthyPercentage = requestPreferences_preferences_MinHealthyPercentage.Value;
                requestPreferencesIsNull = false;
            }
            // determine if request.Preferences should be set to null
            if (requestPreferencesIsNull)
            {
                request.Preferences = null;
            }
            if (cmdletContext.Strategy != null)
            {
                request.Strategy = cmdletContext.Strategy;
            }

            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);
        }
Esempio n. 2
0
 private Amazon.AutoScaling.Model.StartInstanceRefreshResponse CallAWSServiceOperation(IAmazonAutoScaling client, Amazon.AutoScaling.Model.StartInstanceRefreshRequest request)
 {
     Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "AWS Auto Scaling", "StartInstanceRefresh");
     try
     {
         #if DESKTOP
         return(client.StartInstanceRefresh(request));
         #elif CORECLR
         return(client.StartInstanceRefreshAsync(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;
     }
 }
Esempio n. 3
0
        public object Execute(ExecutorContext context)
        {
            var cmdletContext = context as CmdletContext;
            // create request
            var request = new Amazon.AutoScaling.Model.StartInstanceRefreshRequest();

            if (cmdletContext.AutoScalingGroupName != null)
            {
                request.AutoScalingGroupName = cmdletContext.AutoScalingGroupName;
            }

            // populate DesiredConfiguration
            var requestDesiredConfigurationIsNull = true;

            request.DesiredConfiguration = new Amazon.AutoScaling.Model.DesiredConfiguration();
            Amazon.AutoScaling.Model.MixedInstancesPolicy requestDesiredConfiguration_desiredConfiguration_MixedInstancesPolicy = null;
            if (cmdletContext.DesiredConfiguration_MixedInstancesPolicy != null)
            {
                requestDesiredConfiguration_desiredConfiguration_MixedInstancesPolicy = cmdletContext.DesiredConfiguration_MixedInstancesPolicy;
            }
            if (requestDesiredConfiguration_desiredConfiguration_MixedInstancesPolicy != null)
            {
                request.DesiredConfiguration.MixedInstancesPolicy = requestDesiredConfiguration_desiredConfiguration_MixedInstancesPolicy;
                requestDesiredConfigurationIsNull = false;
            }
            Amazon.AutoScaling.Model.LaunchTemplateSpecification requestDesiredConfiguration_desiredConfiguration_LaunchTemplate = null;

            // populate LaunchTemplate
            var requestDesiredConfiguration_desiredConfiguration_LaunchTemplateIsNull = true;

            requestDesiredConfiguration_desiredConfiguration_LaunchTemplate = new Amazon.AutoScaling.Model.LaunchTemplateSpecification();
            System.String requestDesiredConfiguration_desiredConfiguration_LaunchTemplate_launchTemplate_LaunchTemplateId = null;
            if (cmdletContext.LaunchTemplate_LaunchTemplateId != null)
            {
                requestDesiredConfiguration_desiredConfiguration_LaunchTemplate_launchTemplate_LaunchTemplateId = cmdletContext.LaunchTemplate_LaunchTemplateId;
            }
            if (requestDesiredConfiguration_desiredConfiguration_LaunchTemplate_launchTemplate_LaunchTemplateId != null)
            {
                requestDesiredConfiguration_desiredConfiguration_LaunchTemplate.LaunchTemplateId = requestDesiredConfiguration_desiredConfiguration_LaunchTemplate_launchTemplate_LaunchTemplateId;
                requestDesiredConfiguration_desiredConfiguration_LaunchTemplateIsNull            = false;
            }
            System.String requestDesiredConfiguration_desiredConfiguration_LaunchTemplate_launchTemplate_LaunchTemplateName = null;
            if (cmdletContext.LaunchTemplate_LaunchTemplateName != null)
            {
                requestDesiredConfiguration_desiredConfiguration_LaunchTemplate_launchTemplate_LaunchTemplateName = cmdletContext.LaunchTemplate_LaunchTemplateName;
            }
            if (requestDesiredConfiguration_desiredConfiguration_LaunchTemplate_launchTemplate_LaunchTemplateName != null)
            {
                requestDesiredConfiguration_desiredConfiguration_LaunchTemplate.LaunchTemplateName = requestDesiredConfiguration_desiredConfiguration_LaunchTemplate_launchTemplate_LaunchTemplateName;
                requestDesiredConfiguration_desiredConfiguration_LaunchTemplateIsNull = false;
            }
            System.String requestDesiredConfiguration_desiredConfiguration_LaunchTemplate_launchTemplate_Version = null;
            if (cmdletContext.LaunchTemplate_Version != null)
            {
                requestDesiredConfiguration_desiredConfiguration_LaunchTemplate_launchTemplate_Version = cmdletContext.LaunchTemplate_Version;
            }
            if (requestDesiredConfiguration_desiredConfiguration_LaunchTemplate_launchTemplate_Version != null)
            {
                requestDesiredConfiguration_desiredConfiguration_LaunchTemplate.Version = requestDesiredConfiguration_desiredConfiguration_LaunchTemplate_launchTemplate_Version;
                requestDesiredConfiguration_desiredConfiguration_LaunchTemplateIsNull   = false;
            }
            // determine if requestDesiredConfiguration_desiredConfiguration_LaunchTemplate should be set to null
            if (requestDesiredConfiguration_desiredConfiguration_LaunchTemplateIsNull)
            {
                requestDesiredConfiguration_desiredConfiguration_LaunchTemplate = null;
            }
            if (requestDesiredConfiguration_desiredConfiguration_LaunchTemplate != null)
            {
                request.DesiredConfiguration.LaunchTemplate = requestDesiredConfiguration_desiredConfiguration_LaunchTemplate;
                requestDesiredConfigurationIsNull           = false;
            }
            // determine if request.DesiredConfiguration should be set to null
            if (requestDesiredConfigurationIsNull)
            {
                request.DesiredConfiguration = null;
            }

            // populate Preferences
            var requestPreferencesIsNull = true;

            request.Preferences = new Amazon.AutoScaling.Model.RefreshPreferences();
            System.Int32?requestPreferences_preferences_CheckpointDelay = null;
            if (cmdletContext.Preferences_CheckpointDelay != null)
            {
                requestPreferences_preferences_CheckpointDelay = cmdletContext.Preferences_CheckpointDelay.Value;
            }
            if (requestPreferences_preferences_CheckpointDelay != null)
            {
                request.Preferences.CheckpointDelay = requestPreferences_preferences_CheckpointDelay.Value;
                requestPreferencesIsNull            = false;
            }
            List <System.Int32> requestPreferences_preferences_CheckpointPercentage = null;

            if (cmdletContext.Preferences_CheckpointPercentage != null)
            {
                requestPreferences_preferences_CheckpointPercentage = cmdletContext.Preferences_CheckpointPercentage;
            }
            if (requestPreferences_preferences_CheckpointPercentage != null)
            {
                request.Preferences.CheckpointPercentages = requestPreferences_preferences_CheckpointPercentage;
                requestPreferencesIsNull = false;
            }
            System.Int32?requestPreferences_preferences_InstanceWarmup = null;
            if (cmdletContext.Preferences_InstanceWarmup != null)
            {
                requestPreferences_preferences_InstanceWarmup = cmdletContext.Preferences_InstanceWarmup.Value;
            }
            if (requestPreferences_preferences_InstanceWarmup != null)
            {
                request.Preferences.InstanceWarmup = requestPreferences_preferences_InstanceWarmup.Value;
                requestPreferencesIsNull           = false;
            }
            System.Int32?requestPreferences_preferences_MinHealthyPercentage = null;
            if (cmdletContext.Preferences_MinHealthyPercentage != null)
            {
                requestPreferences_preferences_MinHealthyPercentage = cmdletContext.Preferences_MinHealthyPercentage.Value;
            }
            if (requestPreferences_preferences_MinHealthyPercentage != null)
            {
                request.Preferences.MinHealthyPercentage = requestPreferences_preferences_MinHealthyPercentage.Value;
                requestPreferencesIsNull = false;
            }
            System.Boolean?requestPreferences_preferences_SkipMatching = null;
            if (cmdletContext.Preferences_SkipMatching != null)
            {
                requestPreferences_preferences_SkipMatching = cmdletContext.Preferences_SkipMatching.Value;
            }
            if (requestPreferences_preferences_SkipMatching != null)
            {
                request.Preferences.SkipMatching = requestPreferences_preferences_SkipMatching.Value;
                requestPreferencesIsNull         = false;
            }
            // determine if request.Preferences should be set to null
            if (requestPreferencesIsNull)
            {
                request.Preferences = null;
            }
            if (cmdletContext.Strategy != null)
            {
                request.Strategy = cmdletContext.Strategy;
            }

            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);
        }