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.
1943 1944 1945 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1943 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
1885 1886 1887 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1885 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
1893 1894 1895 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1893 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`
1901 1902 1903 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1901 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
1910 1911 1912 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1910 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
1916 1917 1918 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1916 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
1922 1923 1924 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1922 def status @status end |
#title ⇒ String
Human readable title. Must be unique within the Policy.
Corresponds to the JSON property title
1927 1928 1929 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1927 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
1940 1941 1942 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1940 def use_explicit_dry_run_spec @use_explicit_dry_run_spec end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1948 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 |