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.
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.
15256 15257 15258 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15256 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
15071 15072 15073 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15071 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
15079 15080 15081 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15079 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
15086 15087 15088 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15086 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
15097 15098 15099 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15097 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
15102 15103 15104 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15102 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
15111 15112 15113 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15111 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
15118 15119 15120 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15118 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
15124 15125 15126 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15124 def event @event end |
#gaia_group ⇒ Google::Apis::CloudsearchV1::GaiaGroupProto
scope = GAIA_GROUP
Corresponds to the JSON property gaiaGroup
15129 15130 15131 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15129 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
15135 15136 15137 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15135 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
15141 15142 15143 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15141 def host @host end |
#ldap_group ⇒ Google::Apis::CloudsearchV1::LdapGroupProto
scope = LDAP_GROUP
Corresponds to the JSON property ldapGroup
15146 15147 15148 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15146 def ldap_group @ldap_group end |
#ldap_user ⇒ Google::Apis::CloudsearchV1::LdapUserProto
scope = LDAP_USER
Corresponds to the JSON property ldapUser
15151 15152 15153 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15151 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
15159 15160 15161 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15159 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
15166 15167 15168 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15166 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
15174 15175 15176 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15174 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
15180 15181 15182 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15180 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 (go/cedi-auth) provisionable (go/sphinx-rbacz-
design).
Corresponds to the JSON property rbacRole
15187 15188 15189 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15187 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 (go/cedi-auth) provisionable (go/sphinx-
rbacz-design).
Corresponds to the JSON property rbacSubject
15194 15195 15196 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15194 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
15204 15205 15206 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15204 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
15210 15211 15212 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15210 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
15216 15217 15218 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15216 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
15227 15228 15229 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15227 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
15234 15235 15236 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15234 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
15243 15244 15245 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15243 def square @square end |
#youtube_user ⇒ Google::Apis::CloudsearchV1::YoutubeUserProto
scope = YOUTUBE_USER
Corresponds to the JSON property youtubeUser
15248 15249 15250 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15248 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
15254 15255 15256 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15254 def zwieback_session @zwieback_session end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
15261 15262 15263 15264 15265 15266 15267 15268 15269 15270 15271 15272 15273 15274 15275 15276 15277 15278 15279 15280 15281 15282 15283 15284 15285 15286 15287 15288 15289 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15261 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 |