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.
1990 1991 1992 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1990 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
1932 1933 1934 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1932 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
1940 1941 1942 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1940 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`
1948 1949 1950 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1948 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
1957 1958 1959 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1957 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
1963 1964 1965 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1963 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
1969 1970 1971 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1969 def status @status end |
#title ⇒ String
Human readable title. Must be unique within the Policy.
Corresponds to the JSON property title
1974 1975 1976 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1974 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
1987 1988 1989 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1987 def use_explicit_dry_run_spec @use_explicit_dry_run_spec end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1995 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 |