Class: Google::Apis::CloudsearchV1::PrincipalProto
- Inherits:
-
Object
- Object
- Google::Apis::CloudsearchV1::PrincipalProto
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/cloudsearch_v1/classes.rb,
lib/google/apis/cloudsearch_v1/representations.rb,
lib/google/apis/cloudsearch_v1/representations.rb
Overview
A Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/ google/security/credentials/Principal.java google3/security/credentials/go/ principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChange
Instance Attribute Summary collapse
-
#all_authenticated_users ⇒ Google::Apis::CloudsearchV1::AllAuthenticatedUsersProto
Represents a principal who has authenticated as any kind of user which the application understands.
-
#cap_token_holder ⇒ Google::Apis::CloudsearchV1::CapTokenHolderProto
Represents a principal which possesses a particular secret string whose cryptographic hash is specified here.
-
#chat ⇒ Google::Apis::CloudsearchV1::ChatProto
Represents the invitees or other users associated with a Babel Chat (see http:/ /goto/babel).
-
#circle ⇒ Google::Apis::CloudsearchV1::CircleProto
Represents a Google+ Circle.
-
#cloud_principal ⇒ Google::Apis::CloudsearchV1::CloudPrincipalProto
Principal associated with a Cloud Principal representing third party user.
-
#contact_group ⇒ Google::Apis::CloudsearchV1::ContactGroupProto
A group of contacts for a given user, as described in http://cs/p#google3/ focus/backend/proto/backend.proto Historically (and in still-existing ACLs), this was used to represent Google+ circles as well as contact groups, but this use is now deprecated.
-
#email_owner ⇒ Google::Apis::CloudsearchV1::EmailOwnerProto
Represents a verified owner of the given email address.
-
#event ⇒ Google::Apis::CloudsearchV1::EventProto
Represents the invitees or other users associated with a Google+ Event (see http://goto/events-backend-design).
-
#gaia_group ⇒ Google::Apis::CloudsearchV1::GaiaGroupProto
scope = GAIA_GROUP Corresponds to the JSON property
gaiaGroup
. -
#gaia_user ⇒ Google::Apis::CloudsearchV1::GaiaUserProto
A Gaia account, which may represent a user, device, service account, etc.
-
#host ⇒ Google::Apis::CloudsearchV1::HostProto
Represents a single host.
-
#ldap_group ⇒ Google::Apis::CloudsearchV1::LdapGroupProto
scope = LDAP_GROUP Corresponds to the JSON property
ldapGroup
. -
#ldap_user ⇒ Google::Apis::CloudsearchV1::LdapUserProto
scope = LDAP_USER Corresponds to the JSON property
ldapUser
. -
#mdb_group ⇒ Google::Apis::CloudsearchV1::MdbGroupProto
An entity from the MDB namespace that is to be interpreted as a group.
-
#mdb_user ⇒ Google::Apis::CloudsearchV1::MdbUserProto
An entity from the MDB namespace that is to be interpreted as a user.
-
#oauth_consumer ⇒ Google::Apis::CloudsearchV1::OAuthConsumerProto
Represents an OAuth consumer, a/k/a AuthSub target.
-
#postini_user ⇒ Google::Apis::CloudsearchV1::PostiniUserProto
See http://s/?fileprint=//depot/google3/security/authentication/postini/ auth_token.proto Corresponds to the JSON property
postiniUser
. -
#rbac_role ⇒ Google::Apis::CloudsearchV1::RbacRoleProto
Principal associated with a given RBAC role.
-
#rbac_subject ⇒ Google::Apis::CloudsearchV1::RbacSubjectProto
Principal associated with a given RBAC subject.
-
#resource_role ⇒ Google::Apis::CloudsearchV1::ResourceRoleProto
A type of sharing target that points to some resource's ACL.
-
#scope ⇒ String
This is only optional because required enums cannot be extended.
-
#signing_key_possessor ⇒ Google::Apis::CloudsearchV1::SigningKeyPossessorProto
Represents a principal who possesses a signing key corresponding to the verification key or keyset described here.
-
#simple_secret_holder ⇒ Google::Apis::CloudsearchV1::SimpleSecretHolderProto
Represents a principal which possesses a particular, presumably secret, string.
-
#social_graph_node ⇒ Google::Apis::CloudsearchV1::SocialGraphNodeProto
Represents a user pseudonym.
-
#square ⇒ Google::Apis::CloudsearchV1::SquareProto
Represents the set of members (of a given type) in a Google+ Square (see http:/ /go/squares).
-
#youtube_user ⇒ Google::Apis::CloudsearchV1::YoutubeUserProto
scope = YOUTUBE_USER Corresponds to the JSON property
youtubeUser
. -
#zwieback_session ⇒ Google::Apis::CloudsearchV1::ZwiebackSessionProto
See go/zwieback.
Instance Method Summary collapse
-
#initialize(**args) ⇒ PrincipalProto
constructor
A new instance of PrincipalProto.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ PrincipalProto
Returns a new instance of PrincipalProto.
15989 15990 15991 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15989 def initialize(**args) update!(**args) end |
Instance Attribute Details
#all_authenticated_users ⇒ Google::Apis::CloudsearchV1::AllAuthenticatedUsersProto
Represents a principal who has authenticated as any kind of user which the
application understands. This is typically used for "wiki-like" security,
where anyone is allowed access so long as they can be held accountable for
that access. Since the purpose is knowing whom to blame, it is up to the
application to decide what kinds of users it knows how to blame. For example,
an application might choose to include GAIA users in "all authenticated users",
but not include MDB users. Nothing here.
Corresponds to the JSON property allAuthenticatedUsers
15806 15807 15808 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15806 def all_authenticated_users @all_authenticated_users end |
#cap_token_holder ⇒ Google::Apis::CloudsearchV1::CapTokenHolderProto
Represents a principal which possesses a particular secret string whose
cryptographic hash is specified here. CapTokens ("Capability Tokens") are used
in ACLProto. It's expected that ACLs with CapTokenHolders will strongly
enforce them by Keystore-wrapping crypto keys for the corresponding CapTokens.
Corresponds to the JSON property capTokenHolder
15814 15815 15816 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15814 def cap_token_holder @cap_token_holder end |
#chat ⇒ Google::Apis::CloudsearchV1::ChatProto
Represents the invitees or other users associated with a Babel Chat (see http:/
/goto/babel). Corresponds to GroupType CHAT in //social/graph/storage/proto/
data.proto.
Corresponds to the JSON property chat
15821 15822 15823 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15821 def chat @chat end |
#circle ⇒ Google::Apis::CloudsearchV1::CircleProto
Represents a Google+ Circle. Currently (12/2011), a Circle is identical to the
ContactGroup with matching parameters, but Circle must only be used for true
Circles and not other Focus groups, and should be preferred over ContactGroup
where applicable. Soon it may become more efficient to check membership in a
Circle than in a ContactGroup (see http://go/superglue). Support for this
principal type is currently (12/2011) incomplete -- e.g., Keystore does not
support it yet (see b/5703421).
Corresponds to the JSON property circle
15832 15833 15834 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15832 def circle @circle end |
#cloud_principal ⇒ Google::Apis::CloudsearchV1::CloudPrincipalProto
Principal associated with a Cloud Principal representing third party user.
Corresponds to the JSON property cloudPrincipal
15837 15838 15839 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15837 def cloud_principal @cloud_principal end |
#contact_group ⇒ Google::Apis::CloudsearchV1::ContactGroupProto
A group of contacts for a given user, as described in http://cs/p#google3/
focus/backend/proto/backend.proto Historically (and in still-existing ACLs),
this was used to represent Google+ circles as well as contact groups, but this
use is now deprecated. New code should use the CIRCLE principal type to
represent Google+ circles.
Corresponds to the JSON property contactGroup
15846 15847 15848 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15846 def contact_group @contact_group end |
#email_owner ⇒ Google::Apis::CloudsearchV1::EmailOwnerProto
Represents a verified owner of the given email address. Note that a single
address may have many owners, and a single user may own many addresses. (All
lower-case, in display form -- see com.google.gaia.client.GaiaEmail)
Corresponds to the JSON property emailOwner
15853 15854 15855 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15853 def email_owner @email_owner end |
#event ⇒ Google::Apis::CloudsearchV1::EventProto
Represents the invitees or other users associated with a Google+ Event (see
http://goto/events-backend-design).
Corresponds to the JSON property event
15859 15860 15861 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15859 def event @event end |
#gaia_group ⇒ Google::Apis::CloudsearchV1::GaiaGroupProto
scope = GAIA_GROUP
Corresponds to the JSON property gaiaGroup
15864 15865 15866 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15864 def gaia_group @gaia_group end |
#gaia_user ⇒ Google::Apis::CloudsearchV1::GaiaUserProto
A Gaia account, which may represent a user, device, service account, etc. For
prod (@prod.google.com) accounts, use MdbUserProto instead.
Corresponds to the JSON property gaiaUser
15870 15871 15872 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15870 def gaia_user @gaia_user end |
#host ⇒ Google::Apis::CloudsearchV1::HostProto
Represents a single host. Optionally, the MDB owner of the host can be
specified.
Corresponds to the JSON property host
15876 15877 15878 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15876 def host @host end |
#ldap_group ⇒ Google::Apis::CloudsearchV1::LdapGroupProto
scope = LDAP_GROUP
Corresponds to the JSON property ldapGroup
15881 15882 15883 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15881 def ldap_group @ldap_group end |
#ldap_user ⇒ Google::Apis::CloudsearchV1::LdapUserProto
scope = LDAP_USER
Corresponds to the JSON property ldapUser
15886 15887 15888 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15886 def ldap_user @ldap_user end |
#mdb_group ⇒ Google::Apis::CloudsearchV1::MdbGroupProto
An entity from the MDB namespace that is to be interpreted as a group. If
using this for authorization, you should do an exact match of the peer role
against group_name or any of the names in the Chubby expansion of the MDB
group named group_name.
Corresponds to the JSON property mdbGroup
15894 15895 15896 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15894 def mdb_group @mdb_group end |
#mdb_user ⇒ Google::Apis::CloudsearchV1::MdbUserProto
An entity from the MDB namespace that is to be interpreted as a user. If using
this for authorization, you should only do an exact match on the peer role
against user_name.
Corresponds to the JSON property mdbUser
15901 15902 15903 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15901 def mdb_user @mdb_user end |
#oauth_consumer ⇒ Google::Apis::CloudsearchV1::OAuthConsumerProto
Represents an OAuth consumer, a/k/a AuthSub target. These principals are
identified by domain name (e.g., example.com). Historically, Dasher domain
GAIA group IDs have been used instead, but that doesn't work: http://go/tricky-
gaia-ids
Corresponds to the JSON property oauthConsumer
15909 15910 15911 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15909 def oauth_consumer @oauth_consumer end |
#postini_user ⇒ Google::Apis::CloudsearchV1::PostiniUserProto
See http://s/?fileprint=//depot/google3/security/authentication/postini/
auth_token.proto
Corresponds to the JSON property postiniUser
15915 15916 15917 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15915 def postini_user @postini_user end |
#rbac_role ⇒ Google::Apis::CloudsearchV1::RbacRoleProto
Principal associated with a given RBAC role. This principal is used by Sphinx
Provisioning Service for RBAC provisionable (go/sphinx-rbacz).
Corresponds to the JSON property rbacRole
15921 15922 15923 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15921 def rbac_role @rbac_role end |
#rbac_subject ⇒ Google::Apis::CloudsearchV1::RbacSubjectProto
Principal associated with a given RBAC subject. This principal is used by
Sphinx Provisioning Service for RBAC provisionable (go/sphinx-rbacz).
Corresponds to the JSON property rbacSubject
15927 15928 15929 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15927 def rbac_subject @rbac_subject end |
#resource_role ⇒ Google::Apis::CloudsearchV1::ResourceRoleProto
A type of sharing target that points to some resource's ACL. Used to refer to
the set of Principals that have the given privilege ('role_id') for the given
resource ('application_id', 'object_id', 'object_part'). The meaning of '
role_id' is interpreted only by implementations of AclRpcService and is
usually dependent on 'application_id' All fields except object_part are
required. If present, object_part must be non-empty.
Corresponds to the JSON property resourceRole
15937 15938 15939 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15937 def resource_role @resource_role end |
#scope ⇒ String
This is only optional because required enums cannot be extended. Currently
required.
Corresponds to the JSON property scope
15943 15944 15945 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15943 def scope @scope end |
#signing_key_possessor ⇒ Google::Apis::CloudsearchV1::SigningKeyPossessorProto
Represents a principal who possesses a signing key corresponding to the
verification key or keyset described here.
Corresponds to the JSON property signingKeyPossessor
15949 15950 15951 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15949 def signing_key_possessor @signing_key_possessor end |
#simple_secret_holder ⇒ Google::Apis::CloudsearchV1::SimpleSecretHolderProto
Represents a principal which possesses a particular, presumably secret, string.
Useful for things like "auth keys," used for anonymous sharing. Since
representing this principal with the actual secret included reveals the secret,
it's best if the requisite condition is enforced in some other way, for
example via Keystore wrapping attributes (Keystore will unwrap only if the
specified secret, aka "attribute", is presented). All that's stored here is an
identifying label.
Corresponds to the JSON property simpleSecretHolder
15960 15961 15962 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15960 def simple_secret_holder @simple_secret_holder end |
#social_graph_node ⇒ Google::Apis::CloudsearchV1::SocialGraphNodeProto
Represents a user pseudonym. Pseudonyms are linked accounts on Google and
third-party services (e.g. YouTube or Twitter) and are described by a Social
Graph Node.
Corresponds to the JSON property socialGraphNode
15967 15968 15969 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15967 def @social_graph_node end |
#square ⇒ Google::Apis::CloudsearchV1::SquareProto
Represents the set of members (of a given type) in a Google+ Square (see http:/
/go/squares). A Square with default member_type is currently (1/2012)
identical to the GaiaGroup with the same ID, but that is expected to change
soon (see http://go/superglue). Support for this principal type is currently (
1/2012) incomplete -- e.g., Keystore does not support it yet (see b/5703421).
Corresponds to the JSON property square
15976 15977 15978 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15976 def square @square end |
#youtube_user ⇒ Google::Apis::CloudsearchV1::YoutubeUserProto
scope = YOUTUBE_USER
Corresponds to the JSON property youtubeUser
15981 15982 15983 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15981 def youtube_user @youtube_user end |
#zwieback_session ⇒ Google::Apis::CloudsearchV1::ZwiebackSessionProto
See go/zwieback. New uses of Zwieback sessions must be approved via go/
zwieback-request.
Corresponds to the JSON property zwiebackSession
15987 15988 15989 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15987 def zwieback_session @zwieback_session end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
15994 15995 15996 15997 15998 15999 16000 16001 16002 16003 16004 16005 16006 16007 16008 16009 16010 16011 16012 16013 16014 16015 16016 16017 16018 16019 16020 16021 16022 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15994 def update!(**args) @all_authenticated_users = args[:all_authenticated_users] if args.key?(:all_authenticated_users) @cap_token_holder = args[:cap_token_holder] if args.key?(:cap_token_holder) @chat = args[:chat] if args.key?(:chat) @circle = args[:circle] if args.key?(:circle) @cloud_principal = args[:cloud_principal] if args.key?(:cloud_principal) @contact_group = args[:contact_group] if args.key?(:contact_group) @email_owner = args[:email_owner] if args.key?(:email_owner) @event = args[:event] if args.key?(:event) @gaia_group = args[:gaia_group] if args.key?(:gaia_group) @gaia_user = args[:gaia_user] if args.key?(:gaia_user) @host = args[:host] if args.key?(:host) @ldap_group = args[:ldap_group] if args.key?(:ldap_group) @ldap_user = args[:ldap_user] if args.key?(:ldap_user) @mdb_group = args[:mdb_group] if args.key?(:mdb_group) @mdb_user = args[:mdb_user] if args.key?(:mdb_user) @oauth_consumer = args[:oauth_consumer] if args.key?(:oauth_consumer) @postini_user = args[:postini_user] if args.key?(:postini_user) @rbac_role = args[:rbac_role] if args.key?(:rbac_role) @rbac_subject = args[:rbac_subject] if args.key?(:rbac_subject) @resource_role = args[:resource_role] if args.key?(:resource_role) @scope = args[:scope] if args.key?(:scope) @signing_key_possessor = args[:signing_key_possessor] if args.key?(:signing_key_possessor) @simple_secret_holder = args[:simple_secret_holder] if args.key?(:simple_secret_holder) @social_graph_node = args[:social_graph_node] if args.key?(:social_graph_node) @square = args[:square] if args.key?(:square) @youtube_user = args[:youtube_user] if args.key?(:youtube_user) @zwieback_session = args[:zwieback_session] if args.key?(:zwieback_session) end |