Class: Google::Apis::AccesscontextmanagerV1beta::ServicePerimeterConfig

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

ServicePerimeterConfig specifies a set of GCP resources that describe specific Service Perimeter configuration.

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) ⇒ ServicePerimeterConfig

Returns a new instance of ServicePerimeterConfig.



715
716
717
# File 'generated/google/apis/accesscontextmanager_v1beta/classes.rb', line 715

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

Instance Attribute Details

#access_levelsArray<String>

A list of AccessLevel resource names that allow resources within the ServicePerimeter to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel is a syntax error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via GCP calls with request origins within the perimeter. Example: "accessPolicies/MY_POLICY/accessLevels/MY_LEVEL". For Service Perimeter Bridge, must be empty. Corresponds to the JSON property accessLevels

Returns:

  • (Array<String>)


678
679
680
# File 'generated/google/apis/accesscontextmanager_v1beta/classes.rb', line 678

def access_levels
  @access_levels
end

#resourcesArray<String>

A list of GCP resources that are inside of the service perimeter. Currently only projects are allowed. Format: projects/project_number` Corresponds to the JSON propertyresources`

Returns:

  • (Array<String>)


684
685
686
# File 'generated/google/apis/accesscontextmanager_v1beta/classes.rb', line 684

def resources
  @resources
end

#restricted_servicesArray<String>

GCP services that are subject to the Service Perimeter restrictions. Must contain a list of services. For example, if storage.googleapis.com is specified, access to the storage buckets inside the perimeter must meet the perimeter's access restrictions. Corresponds to the JSON property restrictedServices

Returns:

  • (Array<String>)


692
693
694
# File 'generated/google/apis/accesscontextmanager_v1beta/classes.rb', line 692

def restricted_services
  @restricted_services
end

#unrestricted_servicesArray<String>

GCP services that are not subject to the Service Perimeter restrictions. Deprecated. Must be set to a single wildcard "*". The wildcard means that unless explicitly specified by "restricted_services" list, any service is treated as unrestricted. Corresponds to the JSON property unrestrictedServices

Returns:

  • (Array<String>)


700
701
702
# File 'generated/google/apis/accesscontextmanager_v1beta/classes.rb', line 700

def unrestricted_services
  @unrestricted_services
end

#vpc_accessible_servicesGoogle::Apis::AccesscontextmanagerV1beta::VpcAccessibleServices

Specifies how APIs are allowed to communicate within the Service Perimeter. Corresponds to the JSON property vpcAccessibleServices



706
707
708
# File 'generated/google/apis/accesscontextmanager_v1beta/classes.rb', line 706

def vpc_accessible_services
  @vpc_accessible_services
end

#vpc_service_restrictionGoogle::Apis::AccesscontextmanagerV1beta::VpcServiceRestriction

Alpha. Specifies how APIs are allowed to communicate within the Service Perimeter. This message is DEPRECATED and had been renamed to VpcAccessibleServices Corresponds to the JSON property vpcServiceRestriction



713
714
715
# File 'generated/google/apis/accesscontextmanager_v1beta/classes.rb', line 713

def vpc_service_restriction
  @vpc_service_restriction
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



720
721
722
723
724
725
726
727
# File 'generated/google/apis/accesscontextmanager_v1beta/classes.rb', line 720

def update!(**args)
  @access_levels = args[:access_levels] if args.key?(:access_levels)
  @resources = args[:resources] if args.key?(:resources)
  @restricted_services = args[:restricted_services] if args.key?(:restricted_services)
  @unrestricted_services = args[:unrestricted_services] if args.key?(:unrestricted_services)
  @vpc_accessible_services = args[:vpc_accessible_services] if args.key?(:vpc_accessible_services)
  @vpc_service_restriction = args[:vpc_service_restriction] if args.key?(:vpc_service_restriction)
end