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

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.


586
587
588
# File 'generated/google/apis/accesscontextmanager_v1beta/classes.rb', line 586

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)

557
558
559
# File 'generated/google/apis/accesscontextmanager_v1beta/classes.rb', line 557

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)

564
565
566
# File 'generated/google/apis/accesscontextmanager_v1beta/classes.rb', line 564

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)

573
574
575
# File 'generated/google/apis/accesscontextmanager_v1beta/classes.rb', line 573

def perimeter_type
  @perimeter_type
end

#statusGoogle::Apis::AccesscontextmanagerV1beta::ServicePerimeterConfig

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


579
580
581
# File 'generated/google/apis/accesscontextmanager_v1beta/classes.rb', line 579

def status
  @status
end

#titleString

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

Returns:

  • (String)

584
585
586
# File 'generated/google/apis/accesscontextmanager_v1beta/classes.rb', line 584

def title
  @title
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object


591
592
593
594
595
596
597
# File 'generated/google/apis/accesscontextmanager_v1beta/classes.rb', line 591

def update!(**args)
  @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)
end