Skip to main content

TlsInspectionPolicy

Struct TlsInspectionPolicy 

Source
#[non_exhaustive]
pub struct TlsInspectionPolicy { pub name: String, pub description: String, pub create_time: Option<Timestamp>, pub update_time: Option<Timestamp>, pub ca_pool: String, pub trust_config: String, pub exclude_public_ca_set: Option<bool>, pub min_tls_version: TlsVersion, pub tls_feature_profile: Profile, pub custom_tls_features: Vec<String>, /* private fields */ }
Expand description

The TlsInspectionPolicy resource contains references to CA pools in Certificate Authority Service and associated metadata.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§name: String

Required. Name of the resource. Name is of the form projects/{project}/locations/{location}/tlsInspectionPolicies/{tls_inspection_policy} tls_inspection_policy should match the pattern:(^a-z?$).

§description: String

Optional. Free-text description of the resource.

§create_time: Option<Timestamp>

Output only. The timestamp when the resource was created.

§update_time: Option<Timestamp>

Output only. The timestamp when the resource was updated.

§ca_pool: String

Required. A CA pool resource used to issue interception certificates. The CA pool string has a relative resource path following the form “projects/{project}/locations/{location}/caPools/{ca_pool}”.

§trust_config: String

Optional. A TrustConfig resource used when making a connection to the TLS server. This is a relative resource path following the form “projects/{project}/locations/{location}/trustConfigs/{trust_config}”. This is necessary to intercept TLS connections to servers with certificates signed by a private CA or self-signed certificates. Note that Secure Web Proxy does not yet honor this field.

§exclude_public_ca_set: Option<bool>

Optional. If FALSE (the default), use our default set of public CAs in addition to any CAs specified in trust_config. These public CAs are currently based on the Mozilla Root Program and are subject to change over time. If TRUE, do not accept our default set of public CAs. Only CAs specified in trust_config will be accepted. This defaults to FALSE (use public CAs in addition to trust_config) for backwards compatibility, but trusting public root CAs is not recommended unless the traffic in question is outbound to public web servers. When possible, prefer setting this to “false” and explicitly specifying trusted CAs and certificates in a TrustConfig. Note that Secure Web Proxy does not yet honor this field.

§min_tls_version: TlsVersion

Optional. Minimum TLS version that the firewall should use when negotiating connections with both clients and servers. If this is not set, then the default value is to allow the broadest set of clients and servers (TLS 1.0 or higher). Setting this to more restrictive values may improve security, but may also prevent the firewall from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.

§tls_feature_profile: Profile

Optional. The selected Profile. If this is not set, then the default value is to allow the broadest set of clients and servers (“PROFILE_COMPATIBLE”). Setting this to more restrictive values may improve security, but may also prevent the TLS inspection proxy from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.

§custom_tls_features: Vec<String>

Optional. List of custom TLS cipher suites selected. This field is valid only if the selected tls_feature_profile is CUSTOM. The [compute.SslPoliciesService.ListAvailableFeatures][] method returns the set of features that can be specified in this list. Note that Secure Web Proxy does not yet honor this field.

Implementations§

Source§

impl TlsInspectionPolicy

Source

pub fn new() -> Self

Source

pub fn set_name<T: Into<String>>(self, v: T) -> Self

Sets the value of name.

§Example
let x = TlsInspectionPolicy::new().set_name("example");
Source

pub fn set_description<T: Into<String>>(self, v: T) -> Self

Sets the value of description.

§Example
let x = TlsInspectionPolicy::new().set_description("example");
Source

pub fn set_create_time<T>(self, v: T) -> Self
where T: Into<Timestamp>,

Sets the value of create_time.

§Example
use wkt::Timestamp;
let x = TlsInspectionPolicy::new().set_create_time(Timestamp::default()/* use setters */);
Source

pub fn set_or_clear_create_time<T>(self, v: Option<T>) -> Self
where T: Into<Timestamp>,

Sets or clears the value of create_time.

§Example
use wkt::Timestamp;
let x = TlsInspectionPolicy::new().set_or_clear_create_time(Some(Timestamp::default()/* use setters */));
let x = TlsInspectionPolicy::new().set_or_clear_create_time(None::<Timestamp>);
Source

pub fn set_update_time<T>(self, v: T) -> Self
where T: Into<Timestamp>,

Sets the value of update_time.

§Example
use wkt::Timestamp;
let x = TlsInspectionPolicy::new().set_update_time(Timestamp::default()/* use setters */);
Source

pub fn set_or_clear_update_time<T>(self, v: Option<T>) -> Self
where T: Into<Timestamp>,

Sets or clears the value of update_time.

§Example
use wkt::Timestamp;
let x = TlsInspectionPolicy::new().set_or_clear_update_time(Some(Timestamp::default()/* use setters */));
let x = TlsInspectionPolicy::new().set_or_clear_update_time(None::<Timestamp>);
Source

pub fn set_ca_pool<T: Into<String>>(self, v: T) -> Self

Sets the value of ca_pool.

§Example
let x = TlsInspectionPolicy::new().set_ca_pool("example");
Source

pub fn set_trust_config<T: Into<String>>(self, v: T) -> Self

Sets the value of trust_config.

§Example
let x = TlsInspectionPolicy::new().set_trust_config("example");
Source

pub fn set_exclude_public_ca_set<T>(self, v: T) -> Self
where T: Into<bool>,

Sets the value of exclude_public_ca_set.

§Example
let x = TlsInspectionPolicy::new().set_exclude_public_ca_set(true);
Source

pub fn set_or_clear_exclude_public_ca_set<T>(self, v: Option<T>) -> Self
where T: Into<bool>,

Sets or clears the value of exclude_public_ca_set.

§Example
let x = TlsInspectionPolicy::new().set_or_clear_exclude_public_ca_set(Some(false));
let x = TlsInspectionPolicy::new().set_or_clear_exclude_public_ca_set(None::<bool>);
Source

pub fn set_min_tls_version<T: Into<TlsVersion>>(self, v: T) -> Self

Sets the value of min_tls_version.

§Example
use google_cloud_networksecurity_v1::model::tls_inspection_policy::TlsVersion;
let x0 = TlsInspectionPolicy::new().set_min_tls_version(TlsVersion::Tls10);
let x1 = TlsInspectionPolicy::new().set_min_tls_version(TlsVersion::Tls11);
let x2 = TlsInspectionPolicy::new().set_min_tls_version(TlsVersion::Tls12);
Source

pub fn set_tls_feature_profile<T: Into<Profile>>(self, v: T) -> Self

Sets the value of tls_feature_profile.

§Example
use google_cloud_networksecurity_v1::model::tls_inspection_policy::Profile;
let x0 = TlsInspectionPolicy::new().set_tls_feature_profile(Profile::Compatible);
let x1 = TlsInspectionPolicy::new().set_tls_feature_profile(Profile::Modern);
let x2 = TlsInspectionPolicy::new().set_tls_feature_profile(Profile::Restricted);
Source

pub fn set_custom_tls_features<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<String>,

Sets the value of custom_tls_features.

§Example
let x = TlsInspectionPolicy::new().set_custom_tls_features(["a", "b", "c"]);

Trait Implementations§

Source§

impl Clone for TlsInspectionPolicy

Source§

fn clone(&self) -> TlsInspectionPolicy

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TlsInspectionPolicy

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for TlsInspectionPolicy

Source§

fn default() -> TlsInspectionPolicy

Returns the “default value” for a type. Read more
Source§

impl Message for TlsInspectionPolicy

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for TlsInspectionPolicy

Source§

fn eq(&self, other: &TlsInspectionPolicy) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for TlsInspectionPolicy

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,