package com.bocloud.cmp.provider.nsx;

import com.bocloud.cmp.provider.SuperProvider;
import com.bocloud.common.model.BocloudResult;
import com.bocloud.nms.model.nsx.NsxNatRuleModel;

/**
 * nsx NAT转换
 *
 * @author wangyu
 * @version 1.0
 * @since 2020年3月17日
 */
public interface NatProvider extends SuperProvider {
    BocloudResult list(String routerId);

    BocloudResult create(NsxNatRuleModel model);

    BocloudResult remove(String routerId, String natId);

    BocloudResult detail(String routerId, String natId);

    BocloudResult update(NsxNatRuleModel model);

    BocloudResult tier0Nats(String tier0Id);

    BocloudResult createTier0Nat(NsxNatRuleModel model);

    BocloudResult removeTier0Nat(String tier0Id, String natId);

    BocloudResult detailTier0Nat(String tier0Id, String natId);

    BocloudResult updateTier0Nat(NsxNatRuleModel model);

    BocloudResult tier1Nats(String tier1Id);

    BocloudResult createTier1Nat(NsxNatRuleModel model);

    BocloudResult removeTier1Nat(String tier1Id, String natId);

    BocloudResult detailTier1Nat(String tier1Id, String natId);

    BocloudResult updateTier1Nat(NsxNatRuleModel model);
}
