Class RegionSecurityPolicy


  • public class RegionSecurityPolicy
    extends com.pulumi.resources.CustomResource
    ## Example Usage ### Region Security Policy Basic ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.compute.RegionSecurityPolicy; import com.pulumi.gcp.compute.RegionSecurityPolicyArgs; 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 region_sec_policy_basic = new RegionSecurityPolicy("region-sec-policy-basic", RegionSecurityPolicyArgs.builder() .description("basic region security policy") .type("CLOUD_ARMOR") .build(), CustomResourceOptions.builder() .provider(google_beta) .build()); } } ``` ### Region Security Policy With Ddos Protection Config ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.compute.RegionSecurityPolicy; import com.pulumi.gcp.compute.RegionSecurityPolicyArgs; import com.pulumi.gcp.compute.inputs.RegionSecurityPolicyDdosProtectionConfigArgs; 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 region_sec_policy_ddos_protection = new RegionSecurityPolicy("region-sec-policy-ddos-protection", RegionSecurityPolicyArgs.builder() .description("with ddos protection config") .type("CLOUD_ARMOR_NETWORK") .ddosProtectionConfig(RegionSecurityPolicyDdosProtectionConfigArgs.builder() .ddosProtection("ADVANCED_PREVIEW") .build()) .build(), CustomResourceOptions.builder() .provider(google_beta) .build()); } } ``` ### Region Security Policy With User Defined Fields ```java package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.gcp.compute.RegionSecurityPolicy; import com.pulumi.gcp.compute.RegionSecurityPolicyArgs; import com.pulumi.gcp.compute.inputs.RegionSecurityPolicyUserDefinedFieldArgs; 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 region_sec_policy_user_defined_fields = new RegionSecurityPolicy("region-sec-policy-user-defined-fields", RegionSecurityPolicyArgs.builder() .description("with user defined fields") .type("CLOUD_ARMOR_NETWORK") .userDefinedFields( RegionSecurityPolicyUserDefinedFieldArgs.builder() .name("SIG1_AT_0") .base("UDP") .offset(8) .size(2) .mask("0x8F00") .build(), RegionSecurityPolicyUserDefinedFieldArgs.builder() .name("SIG2_AT_8") .base("UDP") .offset(16) .size(4) .mask("0xFFFFFFFF") .build()) .build(), CustomResourceOptions.builder() .provider(google_beta) .build()); } } ``` ## Import RegionSecurityPolicy can be imported using any of these accepted formats ```sh $ pulumi import gcp:compute/regionSecurityPolicy:RegionSecurityPolicy default projects/{{project}}/regions/{{region}}/securityPolicies/{{name}} ``` ```sh $ pulumi import gcp:compute/regionSecurityPolicy:RegionSecurityPolicy default {{project}}/{{region}}/{{name}} ``` ```sh $ pulumi import gcp:compute/regionSecurityPolicy:RegionSecurityPolicy default {{region}}/{{name}} ``` ```sh $ pulumi import gcp:compute/regionSecurityPolicy:RegionSecurityPolicy default {{name}} ```
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.pulumi.resources.CustomResource

        com.pulumi.resources.CustomResource.CustomResourceInternal
      • Nested classes/interfaces inherited from class com.pulumi.resources.Resource

        com.pulumi.resources.Resource.LazyField<T extends java.lang.Object>, com.pulumi.resources.Resource.LazyFields, com.pulumi.resources.Resource.ResourceInternal
    • Field Summary

      • Fields inherited from class com.pulumi.resources.Resource

        childResources, remote
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      com.pulumi.core.Output<java.util.Optional<RegionSecurityPolicyDdosProtectionConfig>> ddosProtectionConfig()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> description()  
      com.pulumi.core.Output<java.lang.String> fingerprint()  
      static RegionSecurityPolicy get​(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, RegionSecurityPolicyState state, com.pulumi.resources.CustomResourceOptions options)
      Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
      com.pulumi.core.Output<java.lang.String> name()  
      com.pulumi.core.Output<java.lang.String> policyId()  
      com.pulumi.core.Output<java.lang.String> project()  
      com.pulumi.core.Output<java.lang.String> region()  
      com.pulumi.core.Output<java.lang.String> selfLink()  
      com.pulumi.core.Output<java.lang.String> selfLinkWithPolicyId()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> type()  
      com.pulumi.core.Output<java.util.Optional<java.util.List<RegionSecurityPolicyUserDefinedField>>> userDefinedFields()  
      • Methods inherited from class com.pulumi.resources.CustomResource

        getId, idFuture
      • Methods inherited from class com.pulumi.resources.Resource

        getChildResources, getResourceName, getResourceType, getUrn
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • RegionSecurityPolicy

        public RegionSecurityPolicy​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • RegionSecurityPolicy

        public RegionSecurityPolicy​(java.lang.String name,
                                    @Nullable
                                    RegionSecurityPolicyArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • RegionSecurityPolicy

        public RegionSecurityPolicy​(java.lang.String name,
                                    @Nullable
                                    RegionSecurityPolicyArgs args,
                                    @Nullable
                                    com.pulumi.resources.CustomResourceOptions options)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
        options - A bag of options that control this resource's behavior.
    • Method Detail

      • ddosProtectionConfig

        public com.pulumi.core.Output<java.util.Optional<RegionSecurityPolicyDdosProtectionConfig>> ddosProtectionConfig()
        Returns:
        Configuration for Google Cloud Armor DDOS Proctection Config. Structure is documented below.
      • description

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> description()
        Returns:
        An optional description of this resource. Provide this property when you create the resource.
      • fingerprint

        public com.pulumi.core.Output<java.lang.String> fingerprint()
        Returns:
        Fingerprint of this resource. This field is used internally during updates of this resource.
      • name

        public com.pulumi.core.Output<java.lang.String> name()
        Returns:
        Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression a-z? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. ***
      • policyId

        public com.pulumi.core.Output<java.lang.String> policyId()
        Returns:
        The unique identifier for the resource. This identifier is defined by the server.
      • project

        public com.pulumi.core.Output<java.lang.String> project()
        Returns:
        The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
      • region

        public com.pulumi.core.Output<java.lang.String> region()
        Returns:
        The Region in which the created Region Security Policy should reside. If it is not provided, the provider region is used.
      • selfLink

        public com.pulumi.core.Output<java.lang.String> selfLink()
        Returns:
        Server-defined URL for the resource.
      • selfLinkWithPolicyId

        public com.pulumi.core.Output<java.lang.String> selfLinkWithPolicyId()
        Returns:
        Server-defined URL for this resource with the resource id.
      • type

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> type()
        Returns:
        The type indicates the intended use of the security policy. - CLOUD_ARMOR: Cloud Armor backend security policies can be configured to filter incoming HTTP requests targeting backend services. They filter requests before they hit the origin servers. - CLOUD_ARMOR_EDGE: Cloud Armor edge security policies can be configured to filter incoming HTTP requests targeting backend services (including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They filter requests before the request is served from Google's cache. - CLOUD_ARMOR_NETWORK: Cloud Armor network policies can be configured to filter packets targeting network load balancing resources such as backend services, target pools, target instances, and instances with external IPs. They filter requests before the request is served from the application. This field can be set only at resource creation time. Possible values are: `CLOUD_ARMOR`, `CLOUD_ARMOR_EDGE`, `CLOUD_ARMOR_NETWORK`.
      • userDefinedFields

        public com.pulumi.core.Output<java.util.Optional<java.util.List<RegionSecurityPolicyUserDefinedField>>> userDefinedFields()
        Returns:
        Definitions of user-defined fields for CLOUD_ARMOR_NETWORK policies. A user-defined field consists of up to 4 bytes extracted from a fixed offset in the packet, relative to the IPv4, IPv6, TCP, or UDP header, with an optional mask to select certain bits. Rules may then specify matching values for these fields. Structure is documented below.
      • get

        public static RegionSecurityPolicy get​(java.lang.String name,
                                               com.pulumi.core.Output<java.lang.String> id,
                                               @Nullable
                                               RegionSecurityPolicyState state,
                                               @Nullable
                                               com.pulumi.resources.CustomResourceOptions options)
        Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
        Parameters:
        name - The _unique_ name of the resulting resource.
        id - The _unique_ provider ID of the resource to lookup.
        state -
        options - Optional settings to control the behavior of the CustomResource.