pub struct ServicePerimeterConfig {
pub resources: Vec<String>,
pub access_levels: Vec<String>,
pub restricted_services: Vec<String>,
pub vpc_accessible_services: Option<VpcAccessibleServices>,
pub ingress_policies: Vec<IngressPolicy>,
pub egress_policies: Vec<EgressPolicy>,
}
Expand description
ServicePerimeterConfig
specifies a set of Google Cloud resources that
describe specific Service Perimeter configuration.
Fields§
§resources: Vec<String>
A list of Google Cloud resources that are inside of the service perimeter.
Currently only projects are allowed. Format: projects/{project_number}
access_levels: Vec<String>
A list of AccessLevel
resource names that allow resources within the
ServicePerimeter
to be accessed from the internet. AccessLevels
listed
must be in the same policy as this ServicePerimeter
. Referencing a
nonexistent AccessLevel
is a syntax error. If no AccessLevel
names are
listed, resources within the perimeter can only be accessed via Google
Cloud calls with request origins within the perimeter. Example:
"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL"
.
For Service Perimeter Bridge, must be empty.
restricted_services: Vec<String>
Google Cloud services that are subject to the Service Perimeter
restrictions. For example, if storage.googleapis.com
is specified, access
to the storage buckets inside the perimeter must meet the perimeter’s
access restrictions.
vpc_accessible_services: Option<VpcAccessibleServices>
Configuration for APIs allowed within Perimeter.
ingress_policies: Vec<IngressPolicy>
List of [IngressPolicies] [google.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy] to apply to the perimeter. A perimeter may have multiple [IngressPolicies] [google.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy], each of which is evaluated separately. Access is granted if any [Ingress Policy] [google.identity.accesscontextmanager.v1.ServicePerimeterConfig.IngressPolicy] grants it. Must be empty for a perimeter bridge.
egress_policies: Vec<EgressPolicy>
List of [EgressPolicies] [google.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressPolicy] to apply to the perimeter. A perimeter may have multiple [EgressPolicies] [google.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressPolicy], each of which is evaluated separately. Access is granted if any [EgressPolicy] [google.identity.accesscontextmanager.v1.ServicePerimeterConfig.EgressPolicy] grants it. Must be empty for a perimeter bridge.
Trait Implementations§
source§impl Clone for ServicePerimeterConfig
impl Clone for ServicePerimeterConfig
source§fn clone(&self) -> ServicePerimeterConfig
fn clone(&self) -> ServicePerimeterConfig
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ServicePerimeterConfig
impl Debug for ServicePerimeterConfig
source§impl Default for ServicePerimeterConfig
impl Default for ServicePerimeterConfig
source§impl Message for ServicePerimeterConfig
impl Message for ServicePerimeterConfig
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for ServicePerimeterConfig
impl PartialEq for ServicePerimeterConfig
source§fn eq(&self, other: &ServicePerimeterConfig) -> bool
fn eq(&self, other: &ServicePerimeterConfig) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for ServicePerimeterConfig
Auto Trait Implementations§
impl Freeze for ServicePerimeterConfig
impl RefUnwindSafe for ServicePerimeterConfig
impl Send for ServicePerimeterConfig
impl Sync for ServicePerimeterConfig
impl Unpin for ServicePerimeterConfig
impl UnwindSafe for ServicePerimeterConfig
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request