Class: Google::Apis::AccesscontextmanagerV1::ServicePerimeter

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

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

#descriptionString

Description of the ServicePerimeter and its use. Does not affect behavior. Corresponds to the JSON property description

Returns:

  • (String)


1932
1933
1934
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1932

def description
  @description
end

#etagString

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

Returns:

  • (String)


1940
1941
1942
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1940

def etag
  @etag
end

#nameString

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`

Returns:

  • (String)


1948
1949
1950
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1948

def name
  @name
end

#perimeter_typeString

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

Returns:

  • (String)


1957
1958
1959
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1957

def perimeter_type
  @perimeter_type
end

#specGoogle::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

#statusGoogle::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

#titleString

Human readable title. Must be unique within the Policy. Corresponds to the JSON property title

Returns:

  • (String)


1974
1975
1976
# File 'lib/google/apis/accesscontextmanager_v1/classes.rb', line 1974

def title
  @title
end

#use_explicit_dry_run_specBoolean 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

Returns:

  • (Boolean)


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