Class: Google::Apis::AccesscontextmanagerV1::ServicePerimeter
- Inherits:
-
Object
- Object
- Google::Apis::AccesscontextmanagerV1::ServicePerimeter
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/accesscontextmanager_v1/classes.rb,
lib/google/apis/accesscontextmanager_v1/representations.rb,
lib/google/apis/accesscontextmanager_v1/representations.rb
Overview
ServicePerimeter describes a set of Google Cloud resources which can freely
import and export data amongst themselves, but not export outside of the
ServicePerimeter. If a request with a source within this ServicePerimeter
has a target outside of the ServicePerimeter, the request will be blocked.
Otherwise the request is allowed. There are two types of Service Perimeter -
Regular and Bridge. Regular Service Perimeters cannot overlap, a single Google
Cloud project or VPC network can only belong to a single regular Service
Perimeter. Service Perimeter Bridges can contain only Google Cloud projects as
members, a single Google Cloud project may belong to multiple Service
Perimeter Bridges.
Instance Attribute Summary collapse
-
#description ⇒ String
Description of the
ServicePerimeterand its use. -
#etag ⇒ String
Optional.
-
#name ⇒ String
Identifier.
-
#perimeter_type ⇒ String
Perimeter type indicator.
-
#spec ⇒ Google::Apis::AccesscontextmanagerV1::ServicePerimeterConfig
ServicePerimeterConfigspecifies a set of Google Cloud resources that describe specific Service Perimeter configuration. -
#status ⇒ Google::Apis::AccesscontextmanagerV1::ServicePerimeterConfig
ServicePerimeterConfigspecifies a set of Google Cloud resources that describe specific Service Perimeter configuration. -
#title ⇒ String
Human readable title.
-
#use_explicit_dry_run_spec ⇒ Boolean
(also: #use_explicit_dry_run_spec?)
Use explicit dry run spec flag.
Instance Method Summary collapse
-
#initialize(**args) ⇒ ServicePerimeter
constructor
A new instance of ServicePerimeter.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ ServicePerimeter
Returns a new instance of ServicePerimeter.
2186 2187 2188 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2186 def initialize(**args) update!(**args) end |
Instance Attribute Details
#description ⇒ String
Description of the ServicePerimeter and its use. Does not affect behavior.
Corresponds to the JSON property description
2128 2129 2130 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2128 def description @description end |
#etag ⇒ String
Optional. An opaque identifier for the current version of the
ServicePerimeter. This identifier does not follow any specific format. If an
etag is not provided, the operation will be performed as if a valid etag is
provided.
Corresponds to the JSON property etag
2136 2137 2138 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2136 def etag @etag end |
#name ⇒ String
Identifier. Resource name for the ServicePerimeter. Format: accessPolicies/
access_policy/servicePerimeters/service_perimeter`. Theservice_perimeter
component must begin with a letter, followed by alphanumeric characters or_.
After you create aServicePerimeter, you cannot change itsname.
Corresponds to the JSON propertyname`
2144 2145 2146 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2144 def name @name end |
#perimeter_type ⇒ String
Perimeter type indicator. A single project or VPC network is allowed to be a
member of single regular perimeter, but multiple service perimeter bridges. A
project cannot be a included in a perimeter bridge without being included in
regular perimeter. For perimeter bridges, the restricted service list as well
as access level lists must be empty.
Corresponds to the JSON property perimeterType
2153 2154 2155 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2153 def perimeter_type @perimeter_type end |
#spec ⇒ Google::Apis::AccesscontextmanagerV1::ServicePerimeterConfig
ServicePerimeterConfig specifies a set of Google Cloud resources that
describe specific Service Perimeter configuration.
Corresponds to the JSON property spec
2159 2160 2161 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2159 def spec @spec end |
#status ⇒ Google::Apis::AccesscontextmanagerV1::ServicePerimeterConfig
ServicePerimeterConfig specifies a set of Google Cloud resources that
describe specific Service Perimeter configuration.
Corresponds to the JSON property status
2165 2166 2167 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2165 def status @status end |
#title ⇒ String
Human readable title. Must be unique within the Policy.
Corresponds to the JSON property title
2170 2171 2172 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2170 def title @title end |
#use_explicit_dry_run_spec ⇒ Boolean Also known as: use_explicit_dry_run_spec?
Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly exists
for all Service Perimeters, and that spec is identical to the status for those
Service Perimeters. When this flag is set, it inhibits the generation of the
implicit spec, thereby allowing the user to explicitly provide a configuration
("spec") to use in a dry-run version of the Service Perimeter. This allows the
user to test changes to the enforced config ("status") without actually
enforcing them. This testing is done through analyzing the differences between
currently enforced and suggested restrictions. use_explicit_dry_run_spec must
bet set to True if any of the fields in the spec are set to non-default values.
Corresponds to the JSON property useExplicitDryRunSpec
2183 2184 2185 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2183 def use_explicit_dry_run_spec @use_explicit_dry_run_spec end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2191 def update!(**args) @description = args[:description] if args.key?(:description) @etag = args[:etag] if args.key?(:etag) @name = args[:name] if args.key?(:name) @perimeter_type = args[:perimeter_type] if args.key?(:perimeter_type) @spec = args[:spec] if args.key?(:spec) @status = args[:status] if args.key?(:status) @title = args[:title] if args.key?(:title) @use_explicit_dry_run_spec = args[:use_explicit_dry_run_spec] if args.key?(:use_explicit_dry_run_spec) end |