Class: Google::Apis::ComputeAlpha::Principal

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

Overview

All fields defined in a principal are ANDed.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Google::Apis::Core::JsonObjectSupport

#to_json

Methods included from Google::Apis::Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ Principal

Returns a new instance of Principal



21757
21758
21759
# File 'generated/google/apis/compute_alpha/classes.rb', line 21757

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

Instance Attribute Details

#conditionString

An expression to specify custom condition. Corresponds to the JSON property condition

Returns:

  • (String)


21706
21707
21708
# File 'generated/google/apis/compute_alpha/classes.rb', line 21706

def condition
  @condition
end

#groupsArray<String>

The groups the principal belongs to. Exact match, prefix match, and suffix match are supported. Corresponds to the JSON property groups

Returns:

  • (Array<String>)


21712
21713
21714
# File 'generated/google/apis/compute_alpha/classes.rb', line 21712

def groups
  @groups
end

#ipsArray<String>

IPv4 or IPv6 address or range (In CIDR format) Corresponds to the JSON property ips

Returns:

  • (Array<String>)


21717
21718
21719
# File 'generated/google/apis/compute_alpha/classes.rb', line 21717

def ips
  @ips
end

#namespacesArray<String>

The namespaces. Exact match, prefix match, and suffix match are supported. Corresponds to the JSON property namespaces

Returns:

  • (Array<String>)


21722
21723
21724
# File 'generated/google/apis/compute_alpha/classes.rb', line 21722

def namespaces
  @namespaces
end

#not_groupsArray<String>

Negate of groups. Specifies exclusions. Corresponds to the JSON property notGroups

Returns:

  • (Array<String>)


21727
21728
21729
# File 'generated/google/apis/compute_alpha/classes.rb', line 21727

def not_groups
  @not_groups
end

#not_ipsArray<String>

Negate of IPs. Specifies exclusions. Corresponds to the JSON property notIps

Returns:

  • (Array<String>)


21732
21733
21734
# File 'generated/google/apis/compute_alpha/classes.rb', line 21732

def not_ips
  @not_ips
end

#not_namespacesArray<String>

Negate of namespaces. Specifies exclusions. Corresponds to the JSON property notNamespaces

Returns:

  • (Array<String>)


21737
21738
21739
# File 'generated/google/apis/compute_alpha/classes.rb', line 21737

def not_namespaces
  @not_namespaces
end

#not_usersArray<String>

Negate of users. Specifies exclusions. Corresponds to the JSON property notUsers

Returns:

  • (Array<String>)


21742
21743
21744
# File 'generated/google/apis/compute_alpha/classes.rb', line 21742

def not_users
  @not_users
end

#propertiesHash<String,String>

A map of Istio attribute to expected values. Exact match, prefix match, and suffix match are supported for values. For example, request.headers[version]: ?v1?. The properties are ANDed together. Corresponds to the JSON property properties

Returns:

  • (Hash<String,String>)


21749
21750
21751
# File 'generated/google/apis/compute_alpha/classes.rb', line 21749

def properties
  @properties
end

#usersArray<String>

The user names/IDs or service accounts. Exact match, prefix match, and suffix match are supported. Corresponds to the JSON property users

Returns:

  • (Array<String>)


21755
21756
21757
# File 'generated/google/apis/compute_alpha/classes.rb', line 21755

def users
  @users
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



21762
21763
21764
21765
21766
21767
21768
21769
21770
21771
21772
21773
# File 'generated/google/apis/compute_alpha/classes.rb', line 21762

def update!(**args)
  @condition = args[:condition] if args.key?(:condition)
  @groups = args[:groups] if args.key?(:groups)
  @ips = args[:ips] if args.key?(:ips)
  @namespaces = args[:namespaces] if args.key?(:namespaces)
  @not_groups = args[:not_groups] if args.key?(:not_groups)
  @not_ips = args[:not_ips] if args.key?(:not_ips)
  @not_namespaces = args[:not_namespaces] if args.key?(:not_namespaces)
  @not_users = args[:not_users] if args.key?(:not_users)
  @properties = args[:properties] if args.key?(:properties)
  @users = args[:users] if args.key?(:users)
end