pub struct ServicePerimeterConfig {
pub access_levels: Option<Vec<String>>,
pub egress_policies: Option<Vec<EgressPolicy>>,
pub ingress_policies: Option<Vec<IngressPolicy>>,
pub resources: Option<Vec<String>>,
pub restricted_services: Option<Vec<String>>,
pub vpc_accessible_services: Option<VpcAccessibleServices>,
}
Expand description
ServicePerimeterConfig
specifies a set of Google Cloud resources that describe specific Service Perimeter configuration.
This type is not used in any activity, and only used as part of another schema.
Fields§
§access_levels: Option<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.
egress_policies: Option<Vec<EgressPolicy>>
List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be empty for a perimeter bridge.
ingress_policies: Option<Vec<IngressPolicy>>
List of IngressPolicies to apply to the perimeter. A perimeter may have multiple IngressPolicies, each of which is evaluated separately. Access is granted if any Ingress Policy grants it. Must be empty for a perimeter bridge.
resources: Option<Vec<String>>
A list of Google Cloud resources that are inside of the service perimeter. Currently only projects and VPCs are allowed. Project format: projects/{project_number}
VPC network format: //compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}
.
restricted_services: Option<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.
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§fn default() -> ServicePerimeterConfig
fn default() -> ServicePerimeterConfig
Source§impl<'de> Deserialize<'de> for ServicePerimeterConfig
impl<'de> Deserialize<'de> for ServicePerimeterConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for ServicePerimeterConfig
impl Serialize for ServicePerimeterConfig
impl Part 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more