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.
2178 2179 2180 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2178 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
2120 2121 2122 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2120 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
2128 2129 2130 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2128 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`
2136 2137 2138 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2136 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
2145 2146 2147 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2145 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
2151 2152 2153 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2151 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
2157 2158 2159 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2157 def status @status end |
#title ⇒ String
Human readable title. Must be unique within the Policy.
Corresponds to the JSON property title
2162 2163 2164 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2162 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
2175 2176 2177 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2175 def use_explicit_dry_run_spec @use_explicit_dry_run_spec end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2183 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 |