Class ComputeSecurityPolicy.Builder

    • Method Detail

      • create

        @Stability(Stable)
        public static ComputeSecurityPolicy.Builder create​(software.constructs.Construct scope,
                                                           String id)
        Parameters:
        scope - The scope in which to define this construct. This parameter is required.
        id - The scoped construct ID. This parameter is required.
        Returns:
        a new instance of ComputeSecurityPolicy.Builder.
      • connection

        @Stability(Experimental)
        public ComputeSecurityPolicy.Builder connection​(com.hashicorp.cdktf.SSHProvisionerConnection connection)
        Parameters:
        connection - This parameter is required.
        Returns:
        this
      • connection

        @Stability(Experimental)
        public ComputeSecurityPolicy.Builder connection​(com.hashicorp.cdktf.WinrmProvisionerConnection connection)
        Parameters:
        connection - This parameter is required.
        Returns:
        this
      • count

        @Stability(Experimental)
        public ComputeSecurityPolicy.Builder count​(com.hashicorp.cdktf.TerraformCount count)
        Parameters:
        count - This parameter is required.
        Returns:
        this
      • dependsOn

        @Stability(Experimental)
        public ComputeSecurityPolicy.Builder dependsOn​(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)
        Parameters:
        dependsOn - This parameter is required.
        Returns:
        this
      • forEach

        @Stability(Experimental)
        public ComputeSecurityPolicy.Builder forEach​(com.hashicorp.cdktf.ITerraformIterator forEach)
        Parameters:
        forEach - This parameter is required.
        Returns:
        this
      • lifecycle

        @Stability(Experimental)
        public ComputeSecurityPolicy.Builder lifecycle​(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)
        Parameters:
        lifecycle - This parameter is required.
        Returns:
        this
      • provider

        @Stability(Experimental)
        public ComputeSecurityPolicy.Builder provider​(com.hashicorp.cdktf.TerraformProvider provider)
        Parameters:
        provider - This parameter is required.
        Returns:
        this
      • provisioners

        @Stability(Experimental)
        public ComputeSecurityPolicy.Builder provisioners​(List<? extends Object> provisioners)
        Parameters:
        provisioners - This parameter is required.
        Returns:
        this
      • name

        @Stability(Stable)
        public ComputeSecurityPolicy.Builder name​(String name)
        The name of the security policy.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_security_policy#name ComputeSecurityPolicy#name}

        Parameters:
        name - The name of the security policy. This parameter is required.
        Returns:
        this
      • adaptiveProtectionConfig

        @Stability(Stable)
        public ComputeSecurityPolicy.Builder adaptiveProtectionConfig​(ComputeSecurityPolicyAdaptiveProtectionConfig adaptiveProtectionConfig)
        adaptive_protection_config block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_security_policy#adaptive_protection_config ComputeSecurityPolicy#adaptive_protection_config}

        Parameters:
        adaptiveProtectionConfig - adaptive_protection_config block. This parameter is required.
        Returns:
        this
      • advancedOptionsConfig

        @Stability(Stable)
        public ComputeSecurityPolicy.Builder advancedOptionsConfig​(ComputeSecurityPolicyAdvancedOptionsConfig advancedOptionsConfig)
        advanced_options_config block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_security_policy#advanced_options_config ComputeSecurityPolicy#advanced_options_config}

        Parameters:
        advancedOptionsConfig - advanced_options_config block. This parameter is required.
        Returns:
        this
      • description

        @Stability(Stable)
        public ComputeSecurityPolicy.Builder description​(String description)
        An optional description of this security policy. Max size is 2048.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_security_policy#description ComputeSecurityPolicy#description}

        Parameters:
        description - An optional description of this security policy. Max size is 2048. This parameter is required.
        Returns:
        this
      • id

        @Stability(Stable)
        public ComputeSecurityPolicy.Builder id​(String id)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_security_policy#id ComputeSecurityPolicy#id}.

        Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

        Parameters:
        id - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_security_policy#id ComputeSecurityPolicy#id}. This parameter is required.
        Returns:
        this
      • project

        @Stability(Stable)
        public ComputeSecurityPolicy.Builder project​(String project)
        The project in which the resource belongs. If it is not provided, the provider project is used.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_security_policy#project ComputeSecurityPolicy#project}

        Parameters:
        project - The project in which the resource belongs. If it is not provided, the provider project is used. This parameter is required.
        Returns:
        this
      • recaptchaOptionsConfig

        @Stability(Stable)
        public ComputeSecurityPolicy.Builder recaptchaOptionsConfig​(ComputeSecurityPolicyRecaptchaOptionsConfig recaptchaOptionsConfig)
        recaptcha_options_config block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_security_policy#recaptcha_options_config ComputeSecurityPolicy#recaptcha_options_config}

        Parameters:
        recaptchaOptionsConfig - recaptcha_options_config block. This parameter is required.
        Returns:
        this
      • rule

        @Stability(Stable)
        public ComputeSecurityPolicy.Builder rule​(com.hashicorp.cdktf.IResolvable rule)
        rule block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_security_policy#rule ComputeSecurityPolicy#rule}

        Parameters:
        rule - rule block. This parameter is required.
        Returns:
        this
      • rule

        @Stability(Stable)
        public ComputeSecurityPolicy.Builder rule​(List<? extends ComputeSecurityPolicyRule> rule)
        rule block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_security_policy#rule ComputeSecurityPolicy#rule}

        Parameters:
        rule - rule block. This parameter is required.
        Returns:
        this
      • timeouts

        @Stability(Stable)
        public ComputeSecurityPolicy.Builder timeouts​(ComputeSecurityPolicyTimeouts timeouts)
        timeouts block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_security_policy#timeouts ComputeSecurityPolicy#timeouts}

        Parameters:
        timeouts - timeouts block. This parameter is required.
        Returns:
        this
      • type

        @Stability(Stable)
        public ComputeSecurityPolicy.Builder type​(String type)
        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. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_security_policy#type ComputeSecurityPolicy#type}

        Parameters:
        type - The type indicates the intended use of the security policy. This parameter is required.
        Returns:
        this