/// <summary> /// Initiates the asynchronous execution of the CreateNetworkAclEntry operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateNetworkAclEntry operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> public Task<CreateNetworkAclEntryResponse> CreateNetworkAclEntryAsync(CreateNetworkAclEntryRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new CreateNetworkAclEntryRequestMarshaller(); var unmarshaller = CreateNetworkAclEntryResponseUnmarshaller.Instance; return InvokeAsync<CreateNetworkAclEntryRequest,CreateNetworkAclEntryResponse>(request, marshaller, unmarshaller, cancellationToken); }
/// <summary> /// Initiates the asynchronous execution of the CreateNetworkAclEntry operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateNetworkAclEntry operation on AmazonEC2Client.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateNetworkAclEntry /// operation.</returns> public IAsyncResult BeginCreateNetworkAclEntry(CreateNetworkAclEntryRequest request, AsyncCallback callback, object state) { var marshaller = new CreateNetworkAclEntryRequestMarshaller(); var unmarshaller = CreateNetworkAclEntryResponseUnmarshaller.Instance; return BeginInvoke<CreateNetworkAclEntryRequest>(request, marshaller, unmarshaller, callback, state); }
/// <summary> /// Creates an entry (a rule) in a network ACL with the specified rule number. Each network /// ACL has a set of numbered ingress rules and a separate set of numbered egress rules. /// When determining whether a packet should be allowed in or out of a subnet associated /// with the ACL, we process the entries in the ACL according to the rule numbers, in /// ascending order. Each network ACL has a set of ingress rules and a separate set of /// egress rules. /// /// /// <para> /// We recommend that you leave room between the rule numbers (for example, 100, 110, /// 120, ...), and not number them one right after the other (for example, 101, 102, 103, /// ...). This makes it easier to add a rule between existing ones without having to renumber /// the rules. /// </para> /// /// <para> /// After you add an entry, you can't modify it; you must either replace it, or create /// an entry and delete the old one. /// </para> /// /// <para> /// For more information about network ACLs, see <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html">Network /// ACLs</a> in the <i>Amazon Virtual Private Cloud User Guide</i>. /// </para> /// </summary> /// <param name="request">Container for the necessary parameters to execute the CreateNetworkAclEntry service method.</param> /// /// <returns>The response from the CreateNetworkAclEntry service method, as returned by EC2.</returns> public CreateNetworkAclEntryResponse CreateNetworkAclEntry(CreateNetworkAclEntryRequest request) { var marshaller = new CreateNetworkAclEntryRequestMarshaller(); var unmarshaller = CreateNetworkAclEntryResponseUnmarshaller.Instance; return Invoke<CreateNetworkAclEntryRequest,CreateNetworkAclEntryResponse>(request, marshaller, unmarshaller); }
/// <summary> /// Initiates the asynchronous execution of the CreateNetworkAclEntry operation. /// <seealso cref="Amazon.EC2.IAmazonEC2.CreateNetworkAclEntry"/> /// </summary> /// /// <param name="createNetworkAclEntryRequest">Container for the necessary parameters to execute the CreateNetworkAclEntry operation on /// AmazonEC2.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> public IAsyncResult BeginCreateNetworkAclEntry(CreateNetworkAclEntryRequest createNetworkAclEntryRequest, AsyncCallback callback, object state) { return invokeCreateNetworkAclEntry(createNetworkAclEntryRequest, callback, state, false); }
IAsyncResult invokeCreateNetworkAclEntry(CreateNetworkAclEntryRequest createNetworkAclEntryRequest, AsyncCallback callback, object state, bool synchronized) { IRequest irequest = new CreateNetworkAclEntryRequestMarshaller().Marshall(createNetworkAclEntryRequest); var unmarshaller = CreateNetworkAclEntryResponseUnmarshaller.GetInstance(); AsyncResult result = new AsyncResult(irequest, callback, state, synchronized, signer, unmarshaller); Invoke(result); return result; }
/// <summary> /// <para>Creates an entry (a rule) in a network ACL with the specified rule number. Each network ACL has a set of numbered ingress rules and a /// separate set of numbered egress rules. When determining whether a packet should be allowed in or out of a subnet associated with the ACL, we /// process the entries in the ACL according to the rule numbers, in ascending order. Each network ACL has a set of ingress rules and a separate /// set of egress rules.</para> <para>We recommend that you leave room between the rule numbers (for example, 100, 110, 120, ...), and not /// number them one right after the other (for example, 101, 102, 103, ...). This makes it easier to add a rule between existing ones without /// having to renumber the rules.</para> <para>After you add an entry, you can't modify it; you must either replace it, or create an entry and /// delete the old one.</para> <para>For more information about network ACLs, see <a href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html">Network ACLs</a> in the <i>Amazon Virtual Private Cloud User /// Guide</i> .</para> /// </summary> /// /// <param name="createNetworkAclEntryRequest">Container for the necessary parameters to execute the CreateNetworkAclEntry service method on /// AmazonEC2.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> public Task<CreateNetworkAclEntryResponse> CreateNetworkAclEntryAsync(CreateNetworkAclEntryRequest createNetworkAclEntryRequest, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new CreateNetworkAclEntryRequestMarshaller(); var unmarshaller = CreateNetworkAclEntryResponseUnmarshaller.GetInstance(); return Invoke<IRequest, CreateNetworkAclEntryRequest, CreateNetworkAclEntryResponse>(createNetworkAclEntryRequest, marshaller, unmarshaller, signer, cancellationToken); }
/// <summary> /// <para>Creates an entry (a rule) in a network ACL with the specified rule number. Each network ACL has a set of numbered ingress rules and a /// separate set of numbered egress rules. When determining whether a packet should be allowed in or out of a subnet associated with the ACL, we /// process the entries in the ACL according to the rule numbers, in ascending order. Each network ACL has a set of ingress rules and a separate /// set of egress rules.</para> <para>We recommend that you leave room between the rule numbers (for example, 100, 110, 120, ...), and not /// number them one right after the other (for example, 101, 102, 103, ...). This makes it easier to add a rule between existing ones without /// having to renumber the rules.</para> <para>After you add an entry, you can't modify it; you must either replace it, or create an entry and /// delete the old one.</para> <para>For more information about network ACLs, see <a /// href="http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html" >Network ACLs</a> in the <i>Amazon Virtual Private Cloud User /// Guide</i> .</para> /// </summary> /// /// <param name="createNetworkAclEntryRequest">Container for the necessary parameters to execute the CreateNetworkAclEntry service method on /// AmazonEC2.</param> /// public CreateNetworkAclEntryResponse CreateNetworkAclEntry(CreateNetworkAclEntryRequest createNetworkAclEntryRequest) { IAsyncResult asyncResult = invokeCreateNetworkAclEntry(createNetworkAclEntryRequest, null, null, true); return EndCreateNetworkAclEntry(asyncResult); }
internal CreateNetworkAclEntryResponse CreateNetworkAclEntry(CreateNetworkAclEntryRequest request) { var task = CreateNetworkAclEntryAsync(request); try { return task.Result; } catch(AggregateException e) { ExceptionDispatchInfo.Capture(e.InnerException).Throw(); return null; } }
/// <summary> /// Initiates the asynchronous execution of the CreateNetworkAclEntry operation. /// <seealso cref="Amazon.EC2.IAmazonEC2.CreateNetworkAclEntry"/> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateNetworkAclEntry operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> public async Task<CreateNetworkAclEntryResponse> CreateNetworkAclEntryAsync(CreateNetworkAclEntryRequest request, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new CreateNetworkAclEntryRequestMarshaller(); var unmarshaller = CreateNetworkAclEntryResponseUnmarshaller.GetInstance(); var response = await Invoke<IRequest, CreateNetworkAclEntryRequest, CreateNetworkAclEntryResponse>(request, marshaller, unmarshaller, signer, cancellationToken) .ConfigureAwait(continueOnCapturedContext: false); return response; }
/// <summary> /// <para> Creates an entry (i.e., rule) in a network ACL with a rule number you specify. Each network ACL has a set of numbered ingress rules /// and a separate set of numbered egress rules. When determining whether a packet should be allowed in or out of a subnet associated with the /// ACL, Amazon VPC processes the entries in the ACL according to the rule numbers, in ascending order. </para> <para> <b>Important:</b> We /// recommend that you leave room between the rules (e.g., 100, 110, 120, etc.), and not number them sequentially (101, 102, 103, etc.). This /// allows you to easily add a new rule between existing ones without having to renumber the rules. </para> <para> After you add an entry, you /// can't modify it; you must either replace it, or create a new entry and delete the old one. </para> <para> For more information about network /// ACLs, go to Network ACLs in the Amazon Virtual Private Cloud User Guide. </para> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateNetworkAclEntry service method on /// AmazonEC2.</param> public CreateNetworkAclEntryResponse CreateNetworkAclEntry(CreateNetworkAclEntryRequest request) { var task = CreateNetworkAclEntryAsync(request); try { return task.Result; } catch(AggregateException e) { throw e.InnerException; } }
private Amazon.EC2.Model.CreateNetworkAclEntryResponse CallAWSServiceOperation(IAmazonEC2 client, Amazon.EC2.Model.CreateNetworkAclEntryRequest request) { Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Elastic Compute Cloud (EC2)", "CreateNetworkAclEntry"); try { #if DESKTOP return(client.CreateNetworkAclEntry(request)); #elif CORECLR return(client.CreateNetworkAclEntryAsync(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.EC2.Model.CreateNetworkAclEntryRequest(); if (cmdletContext.CidrBlock != null) { request.CidrBlock = cmdletContext.CidrBlock; } if (cmdletContext.Egress != null) { request.Egress = cmdletContext.Egress.Value; } // populate IcmpTypeCode var requestIcmpTypeCodeIsNull = true; request.IcmpTypeCode = new Amazon.EC2.Model.IcmpTypeCode(); System.Int32?requestIcmpTypeCode_icmpTypeCode_Code = null; if (cmdletContext.IcmpTypeCode_Code != null) { requestIcmpTypeCode_icmpTypeCode_Code = cmdletContext.IcmpTypeCode_Code.Value; } if (requestIcmpTypeCode_icmpTypeCode_Code != null) { request.IcmpTypeCode.Code = requestIcmpTypeCode_icmpTypeCode_Code.Value; requestIcmpTypeCodeIsNull = false; } System.Int32?requestIcmpTypeCode_icmpTypeCode_Type = null; if (cmdletContext.IcmpTypeCode_Type != null) { requestIcmpTypeCode_icmpTypeCode_Type = cmdletContext.IcmpTypeCode_Type.Value; } if (requestIcmpTypeCode_icmpTypeCode_Type != null) { request.IcmpTypeCode.Type = requestIcmpTypeCode_icmpTypeCode_Type.Value; requestIcmpTypeCodeIsNull = false; } // determine if request.IcmpTypeCode should be set to null if (requestIcmpTypeCodeIsNull) { request.IcmpTypeCode = null; } if (cmdletContext.Ipv6CidrBlock != null) { request.Ipv6CidrBlock = cmdletContext.Ipv6CidrBlock; } if (cmdletContext.NetworkAclId != null) { request.NetworkAclId = cmdletContext.NetworkAclId; } // populate PortRange var requestPortRangeIsNull = true; request.PortRange = new Amazon.EC2.Model.PortRange(); System.Int32?requestPortRange_portRange_From = null; if (cmdletContext.PortRange_From != null) { requestPortRange_portRange_From = cmdletContext.PortRange_From.Value; } if (requestPortRange_portRange_From != null) { request.PortRange.From = requestPortRange_portRange_From.Value; requestPortRangeIsNull = false; } System.Int32?requestPortRange_portRange_To = null; if (cmdletContext.PortRange_To != null) { requestPortRange_portRange_To = cmdletContext.PortRange_To.Value; } if (requestPortRange_portRange_To != null) { request.PortRange.To = requestPortRange_portRange_To.Value; requestPortRangeIsNull = false; } // determine if request.PortRange should be set to null if (requestPortRangeIsNull) { request.PortRange = null; } if (cmdletContext.Protocol != null) { request.Protocol = cmdletContext.Protocol; } if (cmdletContext.RuleAction != null) { request.RuleAction = cmdletContext.RuleAction; } if (cmdletContext.RuleNumber != null) { request.RuleNumber = cmdletContext.RuleNumber.Value; } 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); }