
com.github.alexdlaird.ngrok.protocol.TunnelIPRestrictions Maven / Gradle / Ivy
package com.github.alexdlaird.ngrok.protocol;
import java.util.List;
import java.util.Map;
/**
* An object that represents IP restrictions for a {@link com.github.alexdlaird.ngrok.protocol.CreateTunnel}.
*/
public class TunnelIPRestrictions {
private final List allowCidrs;
private final List denyCidrs;
public TunnelIPRestrictions(TunnelIPRestrictions.Builder builder) {
this.allowCidrs = builder.allowCidrs;
this.denyCidrs = builder.denyCidrs;
}
/**
* Get the list of allowed CIDRs.
*/
public List getAllowCidrs() {
return allowCidrs;
}
/**
* Get the list of denied CIDRs.
*/
public List getDenyCidrs() {
return denyCidrs;
}
public static class Builder {
public List allowCidrs;
public List denyCidrs;
public Builder() {
}
public Builder(Map tunnelDefinitions) {
if (tunnelDefinitions.containsKey("allow_cidrs")) {
this.allowCidrs = (List) tunnelDefinitions.get("allow_cidrs");
}
if (tunnelDefinitions.containsKey("deny_cidrs")) {
this.denyCidrs = (List) tunnelDefinitions.get("deny_cidrs");
}
}
/**
* The list of allowed CIDRs.
*/
public TunnelIPRestrictions.Builder withAllowCidrs(final List allowCidrs) {
this.allowCidrs = allowCidrs;
return this;
}
/**
* The list of denied CIDRs.
*/
public TunnelIPRestrictions.Builder withDenyCidrs(final List denyCidrs) {
this.denyCidrs = denyCidrs;
return this;
}
public TunnelIPRestrictions build() {
return new TunnelIPRestrictions(this);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy