Class: Google::Apis::AccesscontextmanagerV1beta::ServicePerimeter

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/accesscontextmanager_v1beta/classes.rb,
generated/google/apis/accesscontextmanager_v1beta/representations.rb,
generated/google/apis/accesscontextmanager_v1beta/representations.rb

Overview

ServicePerimeter describes a set of GCP 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 GCP project can only belong to a single regular Service Perimeter. Service Perimeter Bridges can contain only GCP projects as members, a single GCP project may belong to multiple Service Perimeter Bridges.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ ServicePerimeter

Returns a new instance of ServicePerimeter.



647
648
649
# File 'generated/google/apis/accesscontextmanager_v1beta/classes.rb', line 647

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

Instance Attribute Details

#create_timeString

Output only. Time the ServicePerimeter was created in UTC. Corresponds to the JSON property createTime

Returns:

  • (String)


606
607
608
# File 'generated/google/apis/accesscontextmanager_v1beta/classes.rb', line 606

def create_time
  @create_time
end

#descriptionString

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

Returns:

  • (String)


612
613
614
# File 'generated/google/apis/accesscontextmanager_v1beta/classes.rb', line 612

def description
  @description
end

#nameString

Required. Resource name for the ServicePerimeter. The short_name component must begin with a letter and only include alphanumeric and '_'. Format: accessPolicies/policy_id/servicePerimeters/short_name` Corresponds to the JSON propertyname`

Returns:

  • (String)


619
620
621
# File 'generated/google/apis/accesscontextmanager_v1beta/classes.rb', line 619

def name
  @name
end

#perimeter_typeString

Perimeter type indicator. A single project 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, restricted/unrestricted service lists as well as access lists must be empty. Corresponds to the JSON property perimeterType

Returns:

  • (String)


629
630
631
# File 'generated/google/apis/accesscontextmanager_v1beta/classes.rb', line 629

def perimeter_type
  @perimeter_type
end

#statusGoogle::Apis::AccesscontextmanagerV1beta::ServicePerimeterConfig

ServicePerimeterConfig specifies a set of GCP resources that describe specific Service Perimeter configuration. Corresponds to the JSON property status



635
636
637
# File 'generated/google/apis/accesscontextmanager_v1beta/classes.rb', line 635

def status
  @status
end

#titleString

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

Returns:

  • (String)


640
641
642
# File 'generated/google/apis/accesscontextmanager_v1beta/classes.rb', line 640

def title
  @title
end

#update_timeString

Output only. Time the ServicePerimeter was updated in UTC. Corresponds to the JSON property updateTime

Returns:

  • (String)


645
646
647
# File 'generated/google/apis/accesscontextmanager_v1beta/classes.rb', line 645

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



652
653
654
655
656
657
658
659
660
# File 'generated/google/apis/accesscontextmanager_v1beta/classes.rb', line 652

def update!(**args)
  @create_time = args[:create_time] if args.key?(:create_time)
  @description = args[:description] if args.key?(:description)
  @name = args[:name] if args.key?(:name)
  @perimeter_type = args[:perimeter_type] if args.key?(:perimeter_type)
  @status = args[:status] if args.key?(:status)
  @title = args[:title] if args.key?(:title)
  @update_time = args[:update_time] if args.key?(:update_time)
end