pulumi_wasm_providers_gcp_mini::compute::firewall

Struct FirewallArgsBuilder

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

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

Implementations§

source§

impl<S: State> FirewallArgsBuilder<S>

source

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

Finish building and return the requested object

source

pub fn allows( self, value: impl Into<Output<Option<Vec<FirewallAllow>>>>, ) -> FirewallArgsBuilder<SetAllows<S>>
where S::Allows: IsUnset,

Optional (Some / Option setters). Default:

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

The list of ALLOW rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection. Structure is documented below.

source

pub fn maybe_allows( self, value: Option<impl Into<Output<Option<Vec<FirewallAllow>>>>>, ) -> FirewallArgsBuilder<SetAllows<S>>
where S::Allows: IsUnset,

Optional (Some / Option setters). Default:

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

The list of ALLOW rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection. Structure is documented below.

source

pub fn denies( self, value: impl Into<Output<Option<Vec<FirewallDeny>>>>, ) -> FirewallArgsBuilder<SetDenies<S>>
where S::Denies: IsUnset,

Optional (Some / Option setters). Default:

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

The list of DENY rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a denied connection. Structure is documented below.

source

pub fn maybe_denies( self, value: Option<impl Into<Output<Option<Vec<FirewallDeny>>>>>, ) -> FirewallArgsBuilder<SetDenies<S>>
where S::Denies: IsUnset,

Optional (Some / Option setters). Default:

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

The list of DENY rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a denied connection. Structure is documented below.

source

pub fn description( self, value: impl Into<Output<Option<String>>>, ) -> FirewallArgsBuilder<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>>>>, ) -> FirewallArgsBuilder<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 destination_ranges( self, value: impl Into<Output<Option<Vec<String>>>>, ) -> FirewallArgsBuilder<SetDestinationRanges<S>>
where S::DestinationRanges: IsUnset,

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

If destination ranges are specified, the firewall will apply only to traffic that has destination IP address in these ranges. These ranges must be expressed in CIDR format. IPv4 or IPv6 ranges are supported.

source

pub fn maybe_destination_ranges( self, value: Option<impl Into<Output<Option<Vec<String>>>>>, ) -> FirewallArgsBuilder<SetDestinationRanges<S>>
where S::DestinationRanges: IsUnset,

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

If destination ranges are specified, the firewall will apply only to traffic that has destination IP address in these ranges. These ranges must be expressed in CIDR format. IPv4 or IPv6 ranges are supported.

source

pub fn direction( self, value: impl Into<Output<Option<String>>>, ) -> FirewallArgsBuilder<SetDirection<S>>
where S::Direction: IsUnset,

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

Direction of traffic to which this firewall applies; default is INGRESS. Note: For INGRESS traffic, one of source_ranges, source_tags or source_service_accounts is required. Possible values are: INGRESS, EGRESS.

source

pub fn maybe_direction( self, value: Option<impl Into<Output<Option<String>>>>, ) -> FirewallArgsBuilder<SetDirection<S>>
where S::Direction: IsUnset,

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

Direction of traffic to which this firewall applies; default is INGRESS. Note: For INGRESS traffic, one of source_ranges, source_tags or source_service_accounts is required. Possible values are: INGRESS, EGRESS.

source

pub fn disabled( self, value: impl Into<Output<Option<bool>>>, ) -> FirewallArgsBuilder<SetDisabled<S>>
where S::Disabled: IsUnset,

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

Denotes whether the firewall rule is disabled, i.e not applied to the network it is associated with. When set to true, the firewall rule is not enforced and the network behaves as if it did not exist. If this is unspecified, the firewall rule will be enabled.

source

pub fn maybe_disabled( self, value: Option<impl Into<Output<Option<bool>>>>, ) -> FirewallArgsBuilder<SetDisabled<S>>
where S::Disabled: IsUnset,

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

Denotes whether the firewall rule is disabled, i.e not applied to the network it is associated with. When set to true, the firewall rule is not enforced and the network behaves as if it did not exist. If this is unspecified, the firewall rule will be enabled.

source

pub fn enable_logging( self, value: impl Into<Output<Option<bool>>>, ) -> FirewallArgsBuilder<SetEnableLogging<S>>
where S::EnableLogging: IsUnset,

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

This field denotes whether to enable logging for a particular firewall rule. If logging is enabled, logs will be exported to Stackdriver. Deprecated in favor of log_config

source

pub fn maybe_enable_logging( self, value: Option<impl Into<Output<Option<bool>>>>, ) -> FirewallArgsBuilder<SetEnableLogging<S>>
where S::EnableLogging: IsUnset,

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

This field denotes whether to enable logging for a particular firewall rule. If logging is enabled, logs will be exported to Stackdriver. Deprecated in favor of log_config

source

pub fn log_config( self, value: impl Into<Output<Option<FirewallLogConfig>>>, ) -> FirewallArgsBuilder<SetLogConfig<S>>
where S::LogConfig: IsUnset,

Optional (Some / Option setters). Default:

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

This field denotes the logging options for a particular firewall rule. If defined, logging is enabled, and logs will be exported to Cloud Logging. Structure is documented below.

source

pub fn maybe_log_config( self, value: Option<impl Into<Output<Option<FirewallLogConfig>>>>, ) -> FirewallArgsBuilder<SetLogConfig<S>>
where S::LogConfig: IsUnset,

Optional (Some / Option setters). Default:

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

This field denotes the logging options for a particular firewall rule. If defined, logging is enabled, and logs will be exported to Cloud Logging. Structure is documented below.

source

pub fn name( self, value: impl Into<Output<Option<String>>>, ) -> FirewallArgsBuilder<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>>>>, ) -> FirewallArgsBuilder<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 network( self, value: impl Into<Output<String>>, ) -> FirewallArgsBuilder<SetNetwork<S>>
where S::Network: IsUnset,

Required.

The name or self_link of the network to attach this firewall to.


source

pub fn priority( self, value: impl Into<Output<Option<i32>>>, ) -> FirewallArgsBuilder<SetPriority<S>>
where S::Priority: IsUnset,

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

Priority for this rule. This is an integer between 0 and 65535, both inclusive. When not specified, the value assumed is 1000. Relative priorities determine precedence of conflicting rules. Lower value of priority implies higher precedence (eg, a rule with priority 0 has higher precedence than a rule with priority 1). DENY rules take precedence over ALLOW rules having equal priority.

source

pub fn maybe_priority( self, value: Option<impl Into<Output<Option<i32>>>>, ) -> FirewallArgsBuilder<SetPriority<S>>
where S::Priority: IsUnset,

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

Priority for this rule. This is an integer between 0 and 65535, both inclusive. When not specified, the value assumed is 1000. Relative priorities determine precedence of conflicting rules. Lower value of priority implies higher precedence (eg, a rule with priority 0 has higher precedence than a rule with priority 1). DENY rules take precedence over ALLOW rules having equal priority.

source

pub fn project( self, value: impl Into<Output<Option<String>>>, ) -> FirewallArgsBuilder<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>>>>, ) -> FirewallArgsBuilder<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 source_ranges( self, value: impl Into<Output<Option<Vec<String>>>>, ) -> FirewallArgsBuilder<SetSourceRanges<S>>
where S::SourceRanges: IsUnset,

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

If source ranges are specified, the firewall will apply only to traffic that has source IP address in these ranges. These ranges must be expressed in CIDR format. One or both of sourceRanges and sourceTags may be set. If both properties are set, the firewall will apply to traffic that has source IP address within sourceRanges OR the source IP that belongs to a tag listed in the sourceTags property. The connection does not need to match both properties for the firewall to apply. IPv4 or IPv6 ranges are supported. For INGRESS traffic, one of source_ranges, source_tags or source_service_accounts is required.

source

pub fn maybe_source_ranges( self, value: Option<impl Into<Output<Option<Vec<String>>>>>, ) -> FirewallArgsBuilder<SetSourceRanges<S>>
where S::SourceRanges: IsUnset,

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

If source ranges are specified, the firewall will apply only to traffic that has source IP address in these ranges. These ranges must be expressed in CIDR format. One or both of sourceRanges and sourceTags may be set. If both properties are set, the firewall will apply to traffic that has source IP address within sourceRanges OR the source IP that belongs to a tag listed in the sourceTags property. The connection does not need to match both properties for the firewall to apply. IPv4 or IPv6 ranges are supported. For INGRESS traffic, one of source_ranges, source_tags or source_service_accounts is required.

source

pub fn source_service_accounts( self, value: impl Into<Output<Option<Vec<String>>>>, ) -> FirewallArgsBuilder<SetSourceServiceAccounts<S>>
where S::SourceServiceAccounts: IsUnset,

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

If source service accounts are specified, the firewall will apply only to traffic originating from an instance with a service account in this list. Source service accounts cannot be used to control traffic to an instance’s external IP address because service accounts are associated with an instance, not an IP address. sourceRanges can be set at the same time as sourceServiceAccounts. If both are set, the firewall will apply to traffic that has source IP address within sourceRanges OR the source IP belongs to an instance with service account listed in sourceServiceAccount. The connection does not need to match both properties for the firewall to apply. sourceServiceAccounts cannot be used at the same time as sourceTags or targetTags. For INGRESS traffic, one of source_ranges, source_tags or source_service_accounts is required.

source

pub fn maybe_source_service_accounts( self, value: Option<impl Into<Output<Option<Vec<String>>>>>, ) -> FirewallArgsBuilder<SetSourceServiceAccounts<S>>
where S::SourceServiceAccounts: IsUnset,

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

If source service accounts are specified, the firewall will apply only to traffic originating from an instance with a service account in this list. Source service accounts cannot be used to control traffic to an instance’s external IP address because service accounts are associated with an instance, not an IP address. sourceRanges can be set at the same time as sourceServiceAccounts. If both are set, the firewall will apply to traffic that has source IP address within sourceRanges OR the source IP belongs to an instance with service account listed in sourceServiceAccount. The connection does not need to match both properties for the firewall to apply. sourceServiceAccounts cannot be used at the same time as sourceTags or targetTags. For INGRESS traffic, one of source_ranges, source_tags or source_service_accounts is required.

source

pub fn source_tags( self, value: impl Into<Output<Option<Vec<String>>>>, ) -> FirewallArgsBuilder<SetSourceTags<S>>
where S::SourceTags: IsUnset,

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

If source tags are specified, the firewall will apply only to traffic with source IP that belongs to a tag listed in source tags. Source tags cannot be used to control traffic to an instance’s external IP address. Because tags are associated with an instance, not an IP address. One or both of sourceRanges and sourceTags may be set. If both properties are set, the firewall will apply to traffic that has source IP address within sourceRanges OR the source IP that belongs to a tag listed in the sourceTags property. The connection does not need to match both properties for the firewall to apply. For INGRESS traffic, one of source_ranges, source_tags or source_service_accounts is required.

source

pub fn maybe_source_tags( self, value: Option<impl Into<Output<Option<Vec<String>>>>>, ) -> FirewallArgsBuilder<SetSourceTags<S>>
where S::SourceTags: IsUnset,

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

If source tags are specified, the firewall will apply only to traffic with source IP that belongs to a tag listed in source tags. Source tags cannot be used to control traffic to an instance’s external IP address. Because tags are associated with an instance, not an IP address. One or both of sourceRanges and sourceTags may be set. If both properties are set, the firewall will apply to traffic that has source IP address within sourceRanges OR the source IP that belongs to a tag listed in the sourceTags property. The connection does not need to match both properties for the firewall to apply. For INGRESS traffic, one of source_ranges, source_tags or source_service_accounts is required.

source

pub fn target_service_accounts( self, value: impl Into<Output<Option<Vec<String>>>>, ) -> FirewallArgsBuilder<SetTargetServiceAccounts<S>>
where S::TargetServiceAccounts: IsUnset,

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

A list of service accounts indicating sets of instances located in the network that may make network connections as specified in allowed[]. targetServiceAccounts cannot be used at the same time as targetTags or sourceTags. If neither targetServiceAccounts nor targetTags are specified, the firewall rule applies to all instances on the specified network.

source

pub fn maybe_target_service_accounts( self, value: Option<impl Into<Output<Option<Vec<String>>>>>, ) -> FirewallArgsBuilder<SetTargetServiceAccounts<S>>
where S::TargetServiceAccounts: IsUnset,

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

A list of service accounts indicating sets of instances located in the network that may make network connections as specified in allowed[]. targetServiceAccounts cannot be used at the same time as targetTags or sourceTags. If neither targetServiceAccounts nor targetTags are specified, the firewall rule applies to all instances on the specified network.

source

pub fn target_tags( self, value: impl Into<Output<Option<Vec<String>>>>, ) -> FirewallArgsBuilder<SetTargetTags<S>>
where S::TargetTags: IsUnset,

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

A list of instance tags indicating sets of instances located in the network that may make network connections as specified in allowed[]. If no targetTags are specified, the firewall rule applies to all instances on the specified network.

source

pub fn maybe_target_tags( self, value: Option<impl Into<Output<Option<Vec<String>>>>>, ) -> FirewallArgsBuilder<SetTargetTags<S>>
where S::TargetTags: IsUnset,

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

A list of instance tags indicating sets of instances located in the network that may make network connections as specified in allowed[]. If no targetTags are specified, the firewall rule applies to all instances on the specified network.

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.