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.
2100 2101 2102 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2100 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
2042 2043 2044 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2042 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
2050 2051 2052 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2050 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`
2058 2059 2060 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2058 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
2067 2068 2069 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2067 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
2073 2074 2075 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2073 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
2079 2080 2081 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2079 def status @status end |
#title ⇒ String
Human readable title. Must be unique within the Policy.
Corresponds to the JSON property title
2084 2085 2086 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2084 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
2097 2098 2099 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2097 def use_explicit_dry_run_spec @use_explicit_dry_run_spec end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 2105 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 |