pulumi_wasm_providers_gcp_mini::compute::region_security_policy

Struct RegionSecurityPolicyArgsBuilder

source
pub struct RegionSecurityPolicyArgsBuilder<S: State = Empty> { /* private fields */ }
Expand description

Use builder syntax to set the inputs and finish with build_struct().

Implementations§

source§

impl<S: State> RegionSecurityPolicyArgsBuilder<S>

source

pub fn build_struct(self) -> RegionSecurityPolicyArgs
where S: IsComplete,

Finish building and return the requested object

source

pub fn ddos_protection_config( self, value: impl Into<Output<Option<RegionSecurityPolicyDdosProtectionConfig>>>, ) -> RegionSecurityPolicyArgsBuilder<SetDdosProtectionConfig<S>>
where S::DdosProtectionConfig: IsUnset,

Optional (Some / Option setters). Default:

<pulumi_wasm_rust::Output<
    Option<super::super::types::compute::RegionSecurityPolicyDdosProtectionConfig>,
> as Default>::default()

Configuration for Google Cloud Armor DDOS Proctection Config. Structure is documented below.

source

pub fn maybe_ddos_protection_config( self, value: Option<impl Into<Output<Option<RegionSecurityPolicyDdosProtectionConfig>>>>, ) -> RegionSecurityPolicyArgsBuilder<SetDdosProtectionConfig<S>>
where S::DdosProtectionConfig: IsUnset,

Optional (Some / Option setters). Default:

<pulumi_wasm_rust::Output<
    Option<super::super::types::compute::RegionSecurityPolicyDdosProtectionConfig>,
> as Default>::default()

Configuration for Google Cloud Armor DDOS Proctection Config. Structure is documented below.

source

pub fn description( self, value: impl Into<Output<Option<String>>>, ) -> RegionSecurityPolicyArgsBuilder<SetDescription<S>>
where S::Description: IsUnset,

Optional (Some / Option setters). Default: <pulumi_wasm_rust::Output<Option<String>> as Default>::default().

An optional description of this resource. Provide this property when you create the resource.

source

pub fn maybe_description( self, value: Option<impl Into<Output<Option<String>>>>, ) -> RegionSecurityPolicyArgsBuilder<SetDescription<S>>
where S::Description: IsUnset,

Optional (Some / Option setters). Default: <pulumi_wasm_rust::Output<Option<String>> as Default>::default().

An optional description of this resource. Provide this property when you create the resource.

source

pub fn name( self, value: impl Into<Output<Option<String>>>, ) -> RegionSecurityPolicyArgsBuilder<SetName<S>>
where S::Name: IsUnset,

Optional (Some / Option setters). Default: <pulumi_wasm_rust::Output<Option<String>> as Default>::default().

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.


source

pub fn maybe_name( self, value: Option<impl Into<Output<Option<String>>>>, ) -> RegionSecurityPolicyArgsBuilder<SetName<S>>
where S::Name: IsUnset,

Optional (Some / Option setters). Default: <pulumi_wasm_rust::Output<Option<String>> as Default>::default().

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.


source

pub fn project( self, value: impl Into<Output<Option<String>>>, ) -> RegionSecurityPolicyArgsBuilder<SetProject<S>>
where S::Project: IsUnset,

Optional (Some / Option setters). Default: <pulumi_wasm_rust::Output<Option<String>> as Default>::default().

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

source

pub fn maybe_project( self, value: Option<impl Into<Output<Option<String>>>>, ) -> RegionSecurityPolicyArgsBuilder<SetProject<S>>
where S::Project: IsUnset,

Optional (Some / Option setters). Default: <pulumi_wasm_rust::Output<Option<String>> as Default>::default().

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

source

pub fn region( self, value: impl Into<Output<Option<String>>>, ) -> RegionSecurityPolicyArgsBuilder<SetRegion<S>>
where S::Region: IsUnset,

Optional (Some / Option setters). Default: <pulumi_wasm_rust::Output<Option<String>> as Default>::default().

The Region in which the created Region Security Policy should reside. If it is not provided, the provider region is used.

source

pub fn maybe_region( self, value: Option<impl Into<Output<Option<String>>>>, ) -> RegionSecurityPolicyArgsBuilder<SetRegion<S>>
where S::Region: IsUnset,

Optional (Some / Option setters). Default: <pulumi_wasm_rust::Output<Option<String>> as Default>::default().

The Region in which the created Region Security Policy should reside. If it is not provided, the provider region is used.

source

pub fn rules( self, value: impl Into<Output<Option<Vec<RegionSecurityPolicyRule>>>>, ) -> RegionSecurityPolicyArgsBuilder<SetRules<S>>
where S::Rules: IsUnset,

Optional (Some / Option setters). Default:

<pulumi_wasm_rust::Output<
    Option<Vec<super::super::types::compute::RegionSecurityPolicyRule>>,
> as Default>::default()

The set of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match “*”). If no rules are provided when creating a security policy, a default rule with action “allow” will be added. Structure is documented below.

source

pub fn maybe_rules( self, value: Option<impl Into<Output<Option<Vec<RegionSecurityPolicyRule>>>>>, ) -> RegionSecurityPolicyArgsBuilder<SetRules<S>>
where S::Rules: IsUnset,

Optional (Some / Option setters). Default:

<pulumi_wasm_rust::Output<
    Option<Vec<super::super::types::compute::RegionSecurityPolicyRule>>,
> as Default>::default()

The set of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match “*”). If no rules are provided when creating a security policy, a default rule with action “allow” will be added. Structure is documented below.

source

pub fn type_( self, value: impl Into<Output<Option<String>>>, ) -> RegionSecurityPolicyArgsBuilder<SetType<S>>
where S::Type: IsUnset,

Optional (Some / Option setters). Default: <pulumi_wasm_rust::Output<Option<String>> as Default>::default().

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.
source

pub fn maybe_type_( self, value: Option<impl Into<Output<Option<String>>>>, ) -> RegionSecurityPolicyArgsBuilder<SetType<S>>
where S::Type: IsUnset,

Optional (Some / Option setters). Default: <pulumi_wasm_rust::Output<Option<String>> as Default>::default().

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.
source

pub fn user_defined_fields( self, value: impl Into<Output<Option<Vec<RegionSecurityPolicyUserDefinedField>>>>, ) -> RegionSecurityPolicyArgsBuilder<SetUserDefinedFields<S>>
where S::UserDefinedFields: IsUnset,

Optional (Some / Option setters). Default:

<pulumi_wasm_rust::Output<
    Option<Vec<super::super::types::compute::RegionSecurityPolicyUserDefinedField>>,
> as Default>::default()

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.

source

pub fn maybe_user_defined_fields( self, value: Option<impl Into<Output<Option<Vec<RegionSecurityPolicyUserDefinedField>>>>>, ) -> RegionSecurityPolicyArgsBuilder<SetUserDefinedFields<S>>
where S::UserDefinedFields: IsUnset,

Optional (Some / Option setters). Default:

<pulumi_wasm_rust::Output<
    Option<Vec<super::super::types::compute::RegionSecurityPolicyUserDefinedField>>,
> as Default>::default()

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.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.