Class: Google::Apis::CloudassetV1p7beta1::GoogleIdentityAccesscontextmanagerV1EgressFrom

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
lib/google/apis/cloudasset_v1p7beta1/classes.rb,
lib/google/apis/cloudasset_v1p7beta1/representations.rb,
lib/google/apis/cloudasset_v1p7beta1/representations.rb

Overview

Defines the conditions under which an EgressPolicy matches a request. Conditions based on information about the source of the request. 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.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleIdentityAccesscontextmanagerV1EgressFrom

Returns a new instance of GoogleIdentityAccesscontextmanagerV1EgressFrom.



1485
1486
1487
# File 'lib/google/apis/cloudasset_v1p7beta1/classes.rb', line 1485

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#identitiesArray<String>

A list of identities that are allowed access through [EgressPolicy]. Identities can be an individual user, service account, Google group, or third- party identity. For third-party identity, only single identities are supported and other identity types are not supported. The v1 identities that have the prefix user, group, serviceAccount, and principal in https://cloud. google.com/iam/docs/principal-identifiers#v1 are supported. Corresponds to the JSON property identities

Returns:

  • (Array<String>)


1463
1464
1465
# File 'lib/google/apis/cloudasset_v1p7beta1/classes.rb', line 1463

def identities
  @identities
end

#identity_typeString

Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of identities field will be allowed access. Corresponds to the JSON property identityType

Returns:

  • (String)


1470
1471
1472
# File 'lib/google/apis/cloudasset_v1p7beta1/classes.rb', line 1470

def identity_type
  @identity_type
end

#source_restrictionString

Whether to enforce traffic restrictions based on sources field. If the sources fields is non-empty, then this field must be set to SOURCE_RESTRICTION_ENABLED. Corresponds to the JSON property sourceRestriction

Returns:

  • (String)


1477
1478
1479
# File 'lib/google/apis/cloudasset_v1p7beta1/classes.rb', line 1477

def source_restriction
  @source_restriction
end

#sourcesArray<Google::Apis::CloudassetV1p7beta1::GoogleIdentityAccesscontextmanagerV1EgressSource>

Sources that this EgressPolicy authorizes access from. If this field is not empty, then source_restriction must be set to SOURCE_RESTRICTION_ENABLED. Corresponds to the JSON property sources



1483
1484
1485
# File 'lib/google/apis/cloudasset_v1p7beta1/classes.rb', line 1483

def sources
  @sources
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1490
1491
1492
1493
1494
1495
# File 'lib/google/apis/cloudasset_v1p7beta1/classes.rb', line 1490

def update!(**args)
  @identities = args[:identities] if args.key?(:identities)
  @identity_type = args[:identity_type] if args.key?(:identity_type)
  @source_restriction = args[:source_restriction] if args.key?(:source_restriction)
  @sources = args[:sources] if args.key?(:sources)
end