Access Rule Args
data class AccessRuleArgs(val accountId: Output<String>? = null, val configuration: Output<AccessRuleConfigurationArgs>? = null, val mode: Output<String>? = null, val notes: Output<String>? = null, val zoneId: Output<String>? = null) : ConvertibleToJava<AccessRuleArgs>
Provides a Cloudflare IP Firewall Access Rule resource. Access control can be applied on basis of IP addresses, IP ranges, AS numbers or countries.
Example Usage
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.cloudflare.AccessRule;
import com.pulumi.cloudflare.AccessRuleArgs;
import com.pulumi.cloudflare.inputs.AccessRuleConfigurationArgs;
import com.pulumi.codegen.internal.KeyedValue;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var config = ctx.config();
var torExitNodes = new AccessRule("torExitNodes", AccessRuleArgs.builder()
.zoneId("0da42c8d2132a9ddaf714f9e7c920711")
.notes("Requests coming from known Tor exit nodes")
.mode("challenge")
.configuration(AccessRuleConfigurationArgs.builder()
.target("country")
.value("T1")
.build())
.build());
var antarctica = new AccessRule("antarctica", AccessRuleArgs.builder()
.zoneId("0da42c8d2132a9ddaf714f9e7c920711")
.notes("Requests coming from Antarctica")
.mode("whitelist")
.configuration(AccessRuleConfigurationArgs.builder()
.target("country")
.value("AQ")
.build())
.build());
final var myOffice = config.get("myOffice").orElse(
"192.0.2.0/24",
"198.51.100.0/24",
"2001:db8::/56");
for (var i = 0; i < myOffice.length(); i++) {
new AccessRule("officeNetwork-" + i, AccessRuleArgs.builder()
.accountId("f037e56e89293a057740de681ac9abbe")
.notes("Requests coming from office network")
.mode("whitelist")
.configuration(AccessRuleConfigurationArgs.builder()
.target("ip_range")
.value(myOffice[count.index()])
.build())
.build());
}
}
}
Content copied to clipboard
Import
User level access rule import.
$ pulumi import cloudflare:index/accessRule:AccessRule default user/<user_id>/<rule_id>
Content copied to clipboard
Zone level access rule import.
$ pulumi import cloudflare:index/accessRule:AccessRule default zone/<zone_id>/<rule_id>
Content copied to clipboard
Account level access rule import.
$ pulumi import cloudflare:index/accessRule:AccessRule default account/<account_id>/<rule_id>
Content copied to clipboard
Constructors
Link copied to clipboard
constructor(accountId: Output<String>? = null, configuration: Output<AccessRuleConfigurationArgs>? = null, mode: Output<String>? = null, notes: Output<String>? = null, zoneId: Output<String>? = null)