Class: Google::Apis::AccesscontextmanagerV1::EgressTo
- Inherits:
-
Object
- Object
- Google::Apis::AccesscontextmanagerV1::EgressTo
- 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
Defines the conditions under which an EgressPolicy matches a request.
Conditions are based on information about the ApiOperation intended to be
performed on the resources
specified. Note that if the destination of the
request is also protected by a ServicePerimeter, then that ServicePerimeter
must have an IngressPolicy which allows access in order for this request to
succeed. The request must match operations
AND resources
fields in order
to be allowed egress out of the perimeter.
Instance Attribute Summary collapse
-
#external_resources ⇒ Array<String>
A list of external resources that are allowed to be accessed.
-
#operations ⇒ Array<Google::Apis::AccesscontextmanagerV1::ApiOperation>
A list of ApiOperations allowed to be performed by the sources specified in the corresponding EgressFrom.
-
#resources ⇒ Array<String>
A list of resources, currently only projects in the form
projects/
, that are allowed to be accessed by sources defined in the corresponding EgressFrom.
Instance Method Summary collapse
-
#initialize(**args) ⇒ EgressTo
constructor
A new instance of EgressTo.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ EgressTo
Returns a new instance of EgressTo.
862 863 864 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 862 def initialize(**args) update!(**args) end |
Instance Attribute Details
#external_resources ⇒ Array<String>
A list of external resources that are allowed to be accessed. Only AWS and
Azure resources are supported. For Amazon S3, the supported formats are s3://
BUCKET_NAME, s3a://BUCKET_NAME, and s3n://BUCKET_NAME. For Azure Storage, the
supported format is azure://myaccount.blob.core.windows.net/CONTAINER_NAME. A
request matches if it contains an external resource in this list (Example: s3:/
/bucket/path). Currently '*' is not allowed.
Corresponds to the JSON property externalResources
844 845 846 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 844 def external_resources @external_resources end |
#operations ⇒ Array<Google::Apis::AccesscontextmanagerV1::ApiOperation>
A list of ApiOperations allowed to be performed by the sources specified in
the corresponding EgressFrom. A request matches if it uses an operation/
service in this list.
Corresponds to the JSON property operations
851 852 853 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 851 def operations @operations end |
#resources ⇒ Array<String>
A list of resources, currently only projects in the form projects/
, that are
allowed to be accessed by sources defined in the corresponding EgressFrom. A
request matches if it contains a resource in this list. If *
is specified
for resources
, then this EgressTo rule will authorize access to all
resources outside the perimeter.
Corresponds to the JSON property resources
860 861 862 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 860 def resources @resources end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
867 868 869 870 871 |
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 867 def update!(**args) @external_resources = args[:external_resources] if args.key?(:external_resources) @operations = args[:operations] if args.key?(:operations) @resources = args[:resources] if args.key?(:resources) end |