public async Task CreateNatRule_ReturnsResponse() { requestsAndResponses.Add(ApiUris.CreateNatRule(accountId), RequestFileResponseType.AsGoodResponse("CreateNatRuleResponse.xml")); var webApi = GetWebApiClient(); var createNatRule = new createNatRule(); var NatRule = new NatAccessor(webApi); ResponseType domainResponse = await NatRule.CreateNatRule(createNatRule); Assert.IsNotNull(domainResponse); Assert.AreEqual("OK", domainResponse.responseCode); Assert.AreEqual("CREATE_NAT_RULE", domainResponse.operation); Assert.IsNotNull(domainResponse.info.Any(q => q.name == "natRuleId")); }
/// <summary> /// The process record method. /// </summary> protected override void ProcessRecord() { object response = null; base.ProcessRecord(); try { if (ParameterSetName.Equals("MCP2")) { var natrule = new createNatRule { Item = NetworkDomain.id, internalIp = InternalIP, externalIp = ExternalIP }; response = Connection.ApiClient.Networking.Nat.CreateNatRule(natrule) .Result; } else if (ParameterSetName.Equals("MCP1")) { response = Connection.ApiClient.NetworkingLegacy.Network.CreateNatRule(Network.id, NatRuleName, SourceIpAddress).Result; } } catch (AggregateException ae) { ae.Handle( e => { if (e is ComputeApiException) { WriteError(new ErrorRecord(e, "-2", ErrorCategory.InvalidOperation, Connection)); } else { // if (e is HttpRequestException) ThrowTerminatingError(new ErrorRecord(e, "-1", ErrorCategory.ConnectionError, Connection)); } return(true); }); } WriteObject(response); }
/// <summary> /// Creates a NAT Rule on a Network Domain in an MCP 2.0 data center location. /// </summary> /// <param name="natRule"> /// The NAT Rule. /// </param> /// <returns> /// Operation status /// </returns> public async Task <ResponseType> CreateNatRule(createNatRule natRule) { return (await _api.PostAsync <createNatRule, ResponseType>(ApiUris.CreateNatRule(_api.OrganizationId), natRule)); }