private Amazon.EKS.Model.CreateNodegroupResponse CallAWSServiceOperation(IAmazonEKS client, Amazon.EKS.Model.CreateNodegroupRequest request) { Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Elastic Container Service for Kubernetes", "CreateNodegroup"); try { #if DESKTOP return(client.CreateNodegroup(request)); #elif CORECLR return(client.CreateNodegroupAsync(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; } }
public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request var request = new Amazon.EKS.Model.CreateNodegroupRequest(); if (cmdletContext.AmiType != null) { request.AmiType = cmdletContext.AmiType; } if (cmdletContext.ClientRequestToken != null) { request.ClientRequestToken = cmdletContext.ClientRequestToken; } if (cmdletContext.ClusterName != null) { request.ClusterName = cmdletContext.ClusterName; } if (cmdletContext.DiskSize != null) { request.DiskSize = cmdletContext.DiskSize.Value; } if (cmdletContext.InstanceType != null) { request.InstanceTypes = cmdletContext.InstanceType; } if (cmdletContext.Label != null) { request.Labels = cmdletContext.Label; } if (cmdletContext.NodegroupName != null) { request.NodegroupName = cmdletContext.NodegroupName; } if (cmdletContext.NodeRole != null) { request.NodeRole = cmdletContext.NodeRole; } if (cmdletContext.ReleaseVersion != null) { request.ReleaseVersion = cmdletContext.ReleaseVersion; } // populate RemoteAccess var requestRemoteAccessIsNull = true; request.RemoteAccess = new Amazon.EKS.Model.RemoteAccessConfig(); System.String requestRemoteAccess_remoteAccess_Ec2SshKey = null; if (cmdletContext.RemoteAccess_Ec2SshKey != null) { requestRemoteAccess_remoteAccess_Ec2SshKey = cmdletContext.RemoteAccess_Ec2SshKey; } if (requestRemoteAccess_remoteAccess_Ec2SshKey != null) { request.RemoteAccess.Ec2SshKey = requestRemoteAccess_remoteAccess_Ec2SshKey; requestRemoteAccessIsNull = false; } List <System.String> requestRemoteAccess_remoteAccess_SourceSecurityGroup = null; if (cmdletContext.RemoteAccess_SourceSecurityGroup != null) { requestRemoteAccess_remoteAccess_SourceSecurityGroup = cmdletContext.RemoteAccess_SourceSecurityGroup; } if (requestRemoteAccess_remoteAccess_SourceSecurityGroup != null) { request.RemoteAccess.SourceSecurityGroups = requestRemoteAccess_remoteAccess_SourceSecurityGroup; requestRemoteAccessIsNull = false; } // determine if request.RemoteAccess should be set to null if (requestRemoteAccessIsNull) { request.RemoteAccess = null; } // populate ScalingConfig var requestScalingConfigIsNull = true; request.ScalingConfig = new Amazon.EKS.Model.NodegroupScalingConfig(); System.Int32?requestScalingConfig_scalingConfig_DesiredSize = null; if (cmdletContext.ScalingConfig_DesiredSize != null) { requestScalingConfig_scalingConfig_DesiredSize = cmdletContext.ScalingConfig_DesiredSize.Value; } if (requestScalingConfig_scalingConfig_DesiredSize != null) { request.ScalingConfig.DesiredSize = requestScalingConfig_scalingConfig_DesiredSize.Value; requestScalingConfigIsNull = false; } System.Int32?requestScalingConfig_scalingConfig_MaxSize = null; if (cmdletContext.ScalingConfig_MaxSize != null) { requestScalingConfig_scalingConfig_MaxSize = cmdletContext.ScalingConfig_MaxSize.Value; } if (requestScalingConfig_scalingConfig_MaxSize != null) { request.ScalingConfig.MaxSize = requestScalingConfig_scalingConfig_MaxSize.Value; requestScalingConfigIsNull = false; } System.Int32?requestScalingConfig_scalingConfig_MinSize = null; if (cmdletContext.ScalingConfig_MinSize != null) { requestScalingConfig_scalingConfig_MinSize = cmdletContext.ScalingConfig_MinSize.Value; } if (requestScalingConfig_scalingConfig_MinSize != null) { request.ScalingConfig.MinSize = requestScalingConfig_scalingConfig_MinSize.Value; requestScalingConfigIsNull = false; } // determine if request.ScalingConfig should be set to null if (requestScalingConfigIsNull) { request.ScalingConfig = null; } if (cmdletContext.Subnet != null) { request.Subnets = cmdletContext.Subnet; } if (cmdletContext.Tag != null) { request.Tags = cmdletContext.Tag; } if (cmdletContext.Version != null) { request.Version = cmdletContext.Version; } 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); }