Authorization Policy
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* projects/{{project}}/locations/{{location}}/authorizationPolicies/{{name}} * {{project}}/{{location}}/{{name}} * {{location}}/{{name}} In Terraform v1.5.0 and later, use an import block to import AuthorizationPolicy using one of the formats above. For exampletf import { id = "projects/{{project}}/locations/{{location}}/authorizationPolicies/{{name}}" to = google_network_security_authorization_policy.default }
$ pulumi import gcp:networksecurity/authorizationPolicy:AuthorizationPolicy When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), AuthorizationPolicy can be imported using one of the formats above. For example$ 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}}//
Properties
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.