protected override void ProcessRecord()
{
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<Amazon.CloudFormation.Model.DescribeStackInstanceResponse, GetCFNStackInstanceCmdlet>(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.StackSetName;
}
#pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute
context.CallAs = this.CallAs;
context.StackInstanceAccount = this.StackInstanceAccount;
#if MODULAR
if (this.StackInstanceAccount == null && ParameterWasBound(nameof(this.StackInstanceAccount)))
{
WriteWarning("You are passing $null as a value for parameter StackInstanceAccount 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.StackInstanceRegion = this.StackInstanceRegion;
#if MODULAR
if (this.StackInstanceRegion == null && ParameterWasBound(nameof(this.StackInstanceRegion)))
{
WriteWarning("You are passing $null as a value for parameter StackInstanceRegion 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.StackSetName = this.StackSetName;
#if MODULAR
if (this.StackSetName == null && ParameterWasBound(nameof(this.StackSetName)))
{
WriteWarning("You are passing $null as a value for parameter StackSetName 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);
}