AuthorizationPolicyArgs

data class AuthorizationPolicyArgs(val action: Output<String>? = null, val description: Output<String>? = null, val labels: Output<Map<String, String>>? = null, val location: Output<String>? = null, val name: Output<String>? = null, val project: Output<String>? = null, val rules: Output<List<AuthorizationPolicyRuleArgs>>? = null) : ConvertibleToJava<AuthorizationPolicyArgs>

Example Usage

Network Security Authorization Policy Basic

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.networksecurity.AuthorizationPolicy;
import com.pulumi.gcp.networksecurity.AuthorizationPolicyArgs;
import com.pulumi.gcp.networksecurity.inputs.AuthorizationPolicyRuleArgs;
import com.pulumi.resources.CustomResourceOptions;
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) {
var default_ = new AuthorizationPolicy("default", AuthorizationPolicyArgs.builder()
.labels(Map.of("foo", "bar"))
.description("my description")
.action("ALLOW")
.rules(AuthorizationPolicyRuleArgs.builder()
.sources(AuthorizationPolicyRuleSourceArgs.builder()
.principals("namespace/*")
.ipBlocks("1.2.3.0/24")
.build())
.build())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
}
}

Network Security Authorization Policy Destinations

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.networksecurity.AuthorizationPolicy;
import com.pulumi.gcp.networksecurity.AuthorizationPolicyArgs;
import com.pulumi.gcp.networksecurity.inputs.AuthorizationPolicyRuleArgs;
import com.pulumi.resources.CustomResourceOptions;
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) {
var default_ = new AuthorizationPolicy("default", AuthorizationPolicyArgs.builder()
.labels(Map.of("foo", "bar"))
.description("my description")
.action("ALLOW")
.rules(AuthorizationPolicyRuleArgs.builder()
.sources(AuthorizationPolicyRuleSourceArgs.builder()
.principals("namespace/*")
.ipBlocks("1.2.3.0/24")
.build())
.destinations(AuthorizationPolicyRuleDestinationArgs.builder()
.hosts("mydomain.*")
.ports(8080)
.methods("GET")
.httpHeaderMatch(AuthorizationPolicyRuleDestinationHttpHeaderMatchArgs.builder()
.headerName(":method")
.regexMatch("GET")
.build())
.build())
.build())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
}
}

Import

AuthorizationPolicy can be imported using any of these accepted formats

$ pulumi import gcp:networksecurity/authorizationPolicy:AuthorizationPolicy default projects/{{project}}/locations/{{location}}/authorizationPolicies/{{name}}
$ pulumi import gcp:networksecurity/authorizationPolicy:AuthorizationPolicy default {{project}}/{{location}}/{{name}}
$ pulumi import gcp:networksecurity/authorizationPolicy:AuthorizationPolicy default {{location}}/{{name}}

Constructors

Link copied to clipboard
constructor(action: Output<String>? = null, description: Output<String>? = null, labels: Output<Map<String, String>>? = null, location: Output<String>? = null, name: Output<String>? = null, project: Output<String>? = null, rules: Output<List<AuthorizationPolicyRuleArgs>>? = null)

Properties

Link copied to clipboard
val action: Output<String>? = null

The action to take when a rule match is found. Possible values are "ALLOW" or "DENY". Possible values are: ALLOW, DENY.

Link copied to clipboard
val description: Output<String>? = null

A free-text description of the resource. Max length 1024 characters.

Link copied to clipboard
val labels: Output<Map<String, String>>? = null

Set of label tags associated with the AuthorizationPolicy resource.

Link copied to clipboard
val location: Output<String>? = null

The location of the authorization policy. The default value is global.

Link copied to clipboard
val name: Output<String>? = null

Name of the AuthorizationPolicy resource.

Link copied to clipboard
val project: Output<String>? = null

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Link copied to clipboard
val rules: Output<List<AuthorizationPolicyRuleArgs>>? = null

List of rules to match. Note that at least one of the rules must match in order for the action specified in the 'action' field to be taken. A rule is a match if there is a matching source and destination. If left blank, the action specified in the action field will be applied on every request. Structure is documented below. //

Functions

Link copied to clipboard
open override fun toJava(): AuthorizationPolicyArgs