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.
15417 15418 15419 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15417 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
15234 15235 15236 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15234 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
15242 15243 15244 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15242 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
15249 15250 15251 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15249 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
15260 15261 15262 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15260 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
15265 15266 15267 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15265 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
15274 15275 15276 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15274 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
15281 15282 15283 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15281 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
15287 15288 15289 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15287 def event @event end |
#gaia_group ⇒ Google::Apis::CloudsearchV1::GaiaGroupProto
scope = GAIA_GROUP
Corresponds to the JSON property gaiaGroup
15292 15293 15294 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15292 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
15298 15299 15300 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15298 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
15304 15305 15306 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15304 def host @host end |
#ldap_group ⇒ Google::Apis::CloudsearchV1::LdapGroupProto
scope = LDAP_GROUP
Corresponds to the JSON property ldapGroup
15309 15310 15311 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15309 def ldap_group @ldap_group end |
#ldap_user ⇒ Google::Apis::CloudsearchV1::LdapUserProto
scope = LDAP_USER
Corresponds to the JSON property ldapUser
15314 15315 15316 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15314 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
15322 15323 15324 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15322 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
15329 15330 15331 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15329 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
15337 15338 15339 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15337 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
15343 15344 15345 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15343 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
15349 15350 15351 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15349 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
15355 15356 15357 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15355 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
15365 15366 15367 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15365 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
15371 15372 15373 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15371 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
15377 15378 15379 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15377 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
15388 15389 15390 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15388 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
15395 15396 15397 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15395 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
15404 15405 15406 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15404 def square @square end |
#youtube_user ⇒ Google::Apis::CloudsearchV1::YoutubeUserProto
scope = YOUTUBE_USER
Corresponds to the JSON property youtubeUser
15409 15410 15411 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15409 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
15415 15416 15417 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15415 def zwieback_session @zwieback_session end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
15422 15423 15424 15425 15426 15427 15428 15429 15430 15431 15432 15433 15434 15435 15436 15437 15438 15439 15440 15441 15442 15443 15444 15445 15446 15447 15448 15449 15450 |
# File 'lib/google/apis/cloudsearch_v1/classes.rb', line 15422 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 |