protected override void PreExecutionContextLoad(ExecutorContext context) { if (this.SourceTemplateData != null) { this.LaunchTemplateData = AmazonEC2Helper.FromResponseTemplateData(this.SourceTemplateData); } }
protected override void ProcessRecord() { base.ProcessRecord(); var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.InstanceEventWindowId), MyInvocation.BoundParameters); if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Register-EC2InstanceEventWindow (AssociateInstanceEventWindow)")) { 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 <Amazon.EC2.Model.AssociateInstanceEventWindowResponse, RegisterEC2InstanceEventWindowCmdlet>(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.InstanceEventWindowId; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute if (this.AssociationTarget_DedicatedHostId != null) { context.AssociationTarget_DedicatedHostId = new List <System.String>(this.AssociationTarget_DedicatedHostId); } if (this.AssociationTarget_InstanceId != null) { context.AssociationTarget_InstanceId = AmazonEC2Helper.InstanceParamToIDs(this.AssociationTarget_InstanceId); } if (this.AssociationTarget_InstanceTag != null) { context.AssociationTarget_InstanceTag = new List <Amazon.EC2.Model.Tag>(this.AssociationTarget_InstanceTag); } context.InstanceEventWindowId = this.InstanceEventWindowId; #if MODULAR if (this.InstanceEventWindowId == null && ParameterWasBound(nameof(this.InstanceEventWindowId))) { WriteWarning("You are passing $null as a value for parameter InstanceEventWindowId 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); }
protected override void PostExecutionContextLoad(ExecutorContext context) { var cmdletContext = context as CmdletContext; if (this.AssociatePublicIp.HasValue) { if (cmdletContext.NetworkInterface == null) { // Else initialize the NetworkInterfaceSet property, // create an InstanceNetworkInterfaceSpecification with DeviceIndex 0 and // set the flag. var netInterface = new InstanceNetworkInterfaceSpecification { DeviceIndex = 0, AssociatePublicIpAddress = this.AssociatePublicIp.Value, SubnetId = cmdletContext.SubnetId, PrivateIpAddress = cmdletContext.PrivateIpAddress, }; if (cmdletContext.SecurityGroupId != null) { netInterface.Groups = cmdletContext.SecurityGroupId; } cmdletContext.NetworkInterface = new List <InstanceNetworkInterfaceSpecification> { netInterface }; // Set SubnetId and PrivateIpAddress to null as we have processed these parameters // at NIC level. cmdletContext.SubnetId = null; cmdletContext.PrivateIpAddress = null; cmdletContext.SecurityGroupId = null; } else { // Set the flag on the Network Interface with Deviceindex 0 if Network Interfaces are specified. var networkInterface0 = cmdletContext.NetworkInterface.SingleOrDefault( n => n.DeviceIndex == 0); if (networkInterface0 != null) { networkInterface0.AssociatePublicIpAddress = this.AssociatePublicIp.Value; } } } try { cmdletContext.UserData = AmazonEC2Helper.LoadUserData(this.UserData, this.UserDataFile, this.EncodeUserData); } catch (IOException e) { ThrowArgumentError("Error attempting to access UserDataFile.", UserDataFile, e); } }
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.EC2.Model.DescribeInstanceStatusResponse, GetEC2InstanceStatusCmdlet>(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.InstanceId; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute if (this.Filter != null) { context.Filter = new List <Amazon.EC2.Model.Filter>(this.Filter); } context.IncludeAllInstance = this.IncludeAllInstance; if (this.InstanceId != null) { context.InstanceId = AmazonEC2Helper.InstanceParamToIDs(this.InstanceId); } context.MaxResult = this.MaxResult; #if !MODULAR if (ParameterWasBound(nameof(this.MaxResult)) && this.MaxResult.HasValue) { WriteWarning("AWSPowerShell and AWSPowerShell.NetCore use the MaxResult parameter to limit the total number of items returned by the cmdlet." + " This behavior is obsolete and will be removed in a future version of these modules. Pipe the output of this cmdlet into Select-Object -First to terminate" + " retrieving data pages early and control the number of items returned. AWS.Tools already implements the new behavior of simply passing MaxResult" + " to the service to specify how many items should be returned by each service call."); } #endif context.NextToken = this.NextToken; // allow further manipulation of loaded context prior to processing PostExecutionContextLoad(context); var output = Execute(context) as CmdletOutput; ProcessOutput(output); }
protected override void ProcessRecord() { base.ProcessRecord(); var resourceIdentifiersText = FormatParameterValuesForConfirmationMsg(nameof(this.InstanceId), MyInvocation.BoundParameters); if (!ConfirmShouldProceed(this.Force.IsPresent, resourceIdentifiersText, "Stop-EC2Instance (StopInstances)")) { 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 <Amazon.EC2.Model.StopInstancesResponse, StopEC2InstanceCmdlet>(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.InstanceId; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute context.Enforce = this.Enforce; context.Hibernate = this.Hibernate; if (this.InstanceId != null) { context.InstanceId = AmazonEC2Helper.InstanceParamToIDs(this.InstanceId); } // allow further manipulation of loaded context prior to processing PostExecutionContextLoad(context); var output = Execute(context) as CmdletOutput; ProcessOutput(output); }
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.EC2.Model.DescribeInstancesResponse, GetEC2InstanceCmdlet>(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.InstanceId; } #pragma warning restore CS0618, CS0612 //A class member was marked with the Obsolete attribute if (this.Filter != null) { context.Filter = new List <Amazon.EC2.Model.Filter>(this.Filter); } if (this.InstanceId != null) { context.InstanceId = AmazonEC2Helper.InstanceParamToIDs(this.InstanceId); } context.MaxResult = this.MaxResult; context.NextToken = this.NextToken; // allow further manipulation of loaded context prior to processing PostExecutionContextLoad(context); var output = Execute(context) as CmdletOutput; ProcessOutput(output); }