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"));
        }
Example #2
0
        /// <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);
        }
Example #3
0
 /// <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));
 }