A set of patch filters, typically used for approval rules.
Exemplo n.º 1
0
        public object Execute(ExecutorContext context)
        {
            var cmdletContext = context as CmdletContext;
            // create request
            var request = new Amazon.SimpleSystemsManagement.Model.GetDeployablePatchSnapshotForInstanceRequest();


            // populate BaselineOverride
            var requestBaselineOverrideIsNull = true;

            request.BaselineOverride = new Amazon.SimpleSystemsManagement.Model.BaselineOverride();
            List <System.String> requestBaselineOverride_baselineOverride_ApprovedPatch = null;

            if (cmdletContext.BaselineOverride_ApprovedPatch != null)
            {
                requestBaselineOverride_baselineOverride_ApprovedPatch = cmdletContext.BaselineOverride_ApprovedPatch;
            }
            if (requestBaselineOverride_baselineOverride_ApprovedPatch != null)
            {
                request.BaselineOverride.ApprovedPatches = requestBaselineOverride_baselineOverride_ApprovedPatch;
                requestBaselineOverrideIsNull            = false;
            }
            Amazon.SimpleSystemsManagement.PatchComplianceLevel requestBaselineOverride_baselineOverride_ApprovedPatchesComplianceLevel = null;
            if (cmdletContext.BaselineOverride_ApprovedPatchesComplianceLevel != null)
            {
                requestBaselineOverride_baselineOverride_ApprovedPatchesComplianceLevel = cmdletContext.BaselineOverride_ApprovedPatchesComplianceLevel;
            }
            if (requestBaselineOverride_baselineOverride_ApprovedPatchesComplianceLevel != null)
            {
                request.BaselineOverride.ApprovedPatchesComplianceLevel = requestBaselineOverride_baselineOverride_ApprovedPatchesComplianceLevel;
                requestBaselineOverrideIsNull = false;
            }
            System.Boolean?requestBaselineOverride_baselineOverride_ApprovedPatchesEnableNonSecurity = null;
            if (cmdletContext.BaselineOverride_ApprovedPatchesEnableNonSecurity != null)
            {
                requestBaselineOverride_baselineOverride_ApprovedPatchesEnableNonSecurity = cmdletContext.BaselineOverride_ApprovedPatchesEnableNonSecurity.Value;
            }
            if (requestBaselineOverride_baselineOverride_ApprovedPatchesEnableNonSecurity != null)
            {
                request.BaselineOverride.ApprovedPatchesEnableNonSecurity = requestBaselineOverride_baselineOverride_ApprovedPatchesEnableNonSecurity.Value;
                requestBaselineOverrideIsNull = false;
            }
            Amazon.SimpleSystemsManagement.OperatingSystem requestBaselineOverride_baselineOverride_OperatingSystem = null;
            if (cmdletContext.BaselineOverride_OperatingSystem != null)
            {
                requestBaselineOverride_baselineOverride_OperatingSystem = cmdletContext.BaselineOverride_OperatingSystem;
            }
            if (requestBaselineOverride_baselineOverride_OperatingSystem != null)
            {
                request.BaselineOverride.OperatingSystem = requestBaselineOverride_baselineOverride_OperatingSystem;
                requestBaselineOverrideIsNull            = false;
            }
            List <System.String> requestBaselineOverride_baselineOverride_RejectedPatch = null;

            if (cmdletContext.BaselineOverride_RejectedPatch != null)
            {
                requestBaselineOverride_baselineOverride_RejectedPatch = cmdletContext.BaselineOverride_RejectedPatch;
            }
            if (requestBaselineOverride_baselineOverride_RejectedPatch != null)
            {
                request.BaselineOverride.RejectedPatches = requestBaselineOverride_baselineOverride_RejectedPatch;
                requestBaselineOverrideIsNull            = false;
            }
            Amazon.SimpleSystemsManagement.PatchAction requestBaselineOverride_baselineOverride_RejectedPatchesAction = null;
            if (cmdletContext.BaselineOverride_RejectedPatchesAction != null)
            {
                requestBaselineOverride_baselineOverride_RejectedPatchesAction = cmdletContext.BaselineOverride_RejectedPatchesAction;
            }
            if (requestBaselineOverride_baselineOverride_RejectedPatchesAction != null)
            {
                request.BaselineOverride.RejectedPatchesAction = requestBaselineOverride_baselineOverride_RejectedPatchesAction;
                requestBaselineOverrideIsNull = false;
            }
            List <Amazon.SimpleSystemsManagement.Model.PatchSource> requestBaselineOverride_baselineOverride_Source = null;

            if (cmdletContext.BaselineOverride_Source != null)
            {
                requestBaselineOverride_baselineOverride_Source = cmdletContext.BaselineOverride_Source;
            }
            if (requestBaselineOverride_baselineOverride_Source != null)
            {
                request.BaselineOverride.Sources = requestBaselineOverride_baselineOverride_Source;
                requestBaselineOverrideIsNull    = false;
            }
            Amazon.SimpleSystemsManagement.Model.PatchRuleGroup requestBaselineOverride_baselineOverride_ApprovalRules = null;

            // populate ApprovalRules
            var requestBaselineOverride_baselineOverride_ApprovalRulesIsNull = true;

            requestBaselineOverride_baselineOverride_ApprovalRules = new Amazon.SimpleSystemsManagement.Model.PatchRuleGroup();
            List <Amazon.SimpleSystemsManagement.Model.PatchRule> requestBaselineOverride_baselineOverride_ApprovalRules_approvalRules_PatchRule = null;

            if (cmdletContext.ApprovalRules_PatchRule != null)
            {
                requestBaselineOverride_baselineOverride_ApprovalRules_approvalRules_PatchRule = cmdletContext.ApprovalRules_PatchRule;
            }
            if (requestBaselineOverride_baselineOverride_ApprovalRules_approvalRules_PatchRule != null)
            {
                requestBaselineOverride_baselineOverride_ApprovalRules.PatchRules = requestBaselineOverride_baselineOverride_ApprovalRules_approvalRules_PatchRule;
                requestBaselineOverride_baselineOverride_ApprovalRulesIsNull      = false;
            }
            // determine if requestBaselineOverride_baselineOverride_ApprovalRules should be set to null
            if (requestBaselineOverride_baselineOverride_ApprovalRulesIsNull)
            {
                requestBaselineOverride_baselineOverride_ApprovalRules = null;
            }
            if (requestBaselineOverride_baselineOverride_ApprovalRules != null)
            {
                request.BaselineOverride.ApprovalRules = requestBaselineOverride_baselineOverride_ApprovalRules;
                requestBaselineOverrideIsNull          = false;
            }
            Amazon.SimpleSystemsManagement.Model.PatchFilterGroup requestBaselineOverride_baselineOverride_GlobalFilters = null;

            // populate GlobalFilters
            var requestBaselineOverride_baselineOverride_GlobalFiltersIsNull = true;

            requestBaselineOverride_baselineOverride_GlobalFilters = new Amazon.SimpleSystemsManagement.Model.PatchFilterGroup();
            List <Amazon.SimpleSystemsManagement.Model.PatchFilter> requestBaselineOverride_baselineOverride_GlobalFilters_globalFilters_PatchFilter = null;

            if (cmdletContext.GlobalFilters_PatchFilter != null)
            {
                requestBaselineOverride_baselineOverride_GlobalFilters_globalFilters_PatchFilter = cmdletContext.GlobalFilters_PatchFilter;
            }
            if (requestBaselineOverride_baselineOverride_GlobalFilters_globalFilters_PatchFilter != null)
            {
                requestBaselineOverride_baselineOverride_GlobalFilters.PatchFilters = requestBaselineOverride_baselineOverride_GlobalFilters_globalFilters_PatchFilter;
                requestBaselineOverride_baselineOverride_GlobalFiltersIsNull        = false;
            }
            // determine if requestBaselineOverride_baselineOverride_GlobalFilters should be set to null
            if (requestBaselineOverride_baselineOverride_GlobalFiltersIsNull)
            {
                requestBaselineOverride_baselineOverride_GlobalFilters = null;
            }
            if (requestBaselineOverride_baselineOverride_GlobalFilters != null)
            {
                request.BaselineOverride.GlobalFilters = requestBaselineOverride_baselineOverride_GlobalFilters;
                requestBaselineOverrideIsNull          = false;
            }
            // determine if request.BaselineOverride should be set to null
            if (requestBaselineOverrideIsNull)
            {
                request.BaselineOverride = null;
            }
            if (cmdletContext.InstanceId != null)
            {
                request.InstanceId = cmdletContext.InstanceId;
            }
            if (cmdletContext.SnapshotId != null)
            {
                request.SnapshotId = cmdletContext.SnapshotId;
            }

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