Class: Google::Apis::DriveV2::Permission

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

Overview

A permission for a file.

Defined Under Namespace

Classes: PermissionDetail, TeamDrivePermissionDetail

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

Returns a new instance of Permission.


3191
3192
3193
# File 'generated/google/apis/drive_v2/classes.rb', line 3191

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

Instance Attribute Details

#additional_rolesArray<String>

Additional roles for this user. Only commenter is currently allowed, though more may be supported in the future. Corresponds to the JSON property additionalRoles

Returns:

  • (Array<String>)

3068
3069
3070
# File 'generated/google/apis/drive_v2/classes.rb', line 3068

def additional_roles
  @additional_roles
end

#auth_keyString

Deprecated. Corresponds to the JSON property authKey

Returns:

  • (String)

3073
3074
3075
# File 'generated/google/apis/drive_v2/classes.rb', line 3073

def auth_key
  @auth_key
end

#deletedBoolean Also known as: deleted?

Whether the account associated with this permission has been deleted. This field only pertains to user and group permissions. Corresponds to the JSON property deleted

Returns:

  • (Boolean)

3079
3080
3081
# File 'generated/google/apis/drive_v2/classes.rb', line 3079

def deleted
  @deleted
end

#domainString

The domain name of the entity this permission refers to. This is an output- only field which is present when the permission type is user, group or domain. Corresponds to the JSON property domain

Returns:

  • (String)

3086
3087
3088
# File 'generated/google/apis/drive_v2/classes.rb', line 3086

def domain
  @domain
end

#email_addressString

The email address of the user or group this permission refers to. This is an output-only field which is present when the permission type is user or group. Corresponds to the JSON property emailAddress

Returns:

  • (String)

3092
3093
3094
# File 'generated/google/apis/drive_v2/classes.rb', line 3092

def email_address
  @email_address
end

#etagString

The ETag of the permission. Corresponds to the JSON property etag

Returns:

  • (String)

3097
3098
3099
# File 'generated/google/apis/drive_v2/classes.rb', line 3097

def etag
  @etag
end

#expiration_dateDateTime

The time at which this permission will expire (RFC 3339 date-time). Expiration dates have the following restrictions:

  • They cannot be set on shared drive items
  • They can only be set on user and group permissions
  • The date must be in the future
  • The date cannot be more than a year in the future
  • The date can only be set on drive.permissions.update or drive.permissions. patch requests Corresponds to the JSON property expirationDate

Returns:

  • (DateTime)

3109
3110
3111
# File 'generated/google/apis/drive_v2/classes.rb', line 3109

def expiration_date
  @expiration_date
end

#idString

The ID of the user this permission refers to, and identical to the permissionId in the About and Files resources. When making a drive.permissions. insert request, exactly one of the id or value fields must be specified unless the permission type is anyone, in which case both id and value are ignored. Corresponds to the JSON property id

Returns:

  • (String)

3117
3118
3119
# File 'generated/google/apis/drive_v2/classes.rb', line 3117

def id
  @id
end

#kindString

This is always drive#permission. Corresponds to the JSON property kind

Returns:

  • (String)

3122
3123
3124
# File 'generated/google/apis/drive_v2/classes.rb', line 3122

def kind
  @kind
end

#nameString

The name for this permission. Corresponds to the JSON property name

Returns:

  • (String)

3127
3128
3129
# File 'generated/google/apis/drive_v2/classes.rb', line 3127

def name
  @name
end

#permission_detailsArray<Google::Apis::DriveV2::Permission::PermissionDetail>

Details of whether the permissions on this shared drive item are inherited or directly on this item. This is an output-only field which is present only for shared drive items. Corresponds to the JSON property permissionDetails


3134
3135
3136
# File 'generated/google/apis/drive_v2/classes.rb', line 3134

def permission_details
  @permission_details
end

A link to the profile photo, if available. Corresponds to the JSON property photoLink

Returns:

  • (String)

3139
3140
3141
# File 'generated/google/apis/drive_v2/classes.rb', line 3139

def photo_link
  @photo_link
end

#roleString

The primary role for this user. While new values may be supported in the future, the following are currently allowed:

  • owner
  • organizer
  • fileOrganizer
  • writer
  • reader Corresponds to the JSON property role

Returns:

  • (String)

3150
3151
3152
# File 'generated/google/apis/drive_v2/classes.rb', line 3150

def role
  @role
end

A link back to this permission. Corresponds to the JSON property selfLink

Returns:

  • (String)

3155
3156
3157
# File 'generated/google/apis/drive_v2/classes.rb', line 3155

def self_link
  @self_link
end

#team_drive_permission_detailsArray<Google::Apis::DriveV2::Permission::TeamDrivePermissionDetail>

Deprecated - use permissionDetails instead. Corresponds to the JSON property teamDrivePermissionDetails


3160
3161
3162
# File 'generated/google/apis/drive_v2/classes.rb', line 3160

def team_drive_permission_details
  @team_drive_permission_details
end

#typeString

The account type. Allowed values are:

  • user
  • group
  • domain
  • anyone Corresponds to the JSON property type

Returns:

  • (String)

3169
3170
3171
# File 'generated/google/apis/drive_v2/classes.rb', line 3169

def type
  @type
end

#valueString

The email address or domain name for the entity. This is used during inserts and is not populated in responses. When making a drive.permissions.insert request, exactly one of the id or value fields must be specified unless the permission type is anyone, in which case both id and value are ignored. Corresponds to the JSON property value

Returns:

  • (String)

3177
3178
3179
# File 'generated/google/apis/drive_v2/classes.rb', line 3177

def value
  @value
end

#viewString

Indicates the view for this permission. Only populated for permissions that belong to a view. published is the only supported value. Corresponds to the JSON property view

Returns:

  • (String)

3183
3184
3185
# File 'generated/google/apis/drive_v2/classes.rb', line 3183

def view
  @view
end

Whether the link is required for this permission. Corresponds to the JSON property withLink

Returns:

  • (Boolean)

3188
3189
3190
# File 'generated/google/apis/drive_v2/classes.rb', line 3188

def with_link
  @with_link
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object


3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
# File 'generated/google/apis/drive_v2/classes.rb', line 3196

def update!(**args)
  @additional_roles = args[:additional_roles] if args.key?(:additional_roles)
  @auth_key = args[:auth_key] if args.key?(:auth_key)
  @deleted = args[:deleted] if args.key?(:deleted)
  @domain = args[:domain] if args.key?(:domain)
  @email_address = args[:email_address] if args.key?(:email_address)
  @etag = args[:etag] if args.key?(:etag)
  @expiration_date = args[:expiration_date] if args.key?(:expiration_date)
  @id = args[:id] if args.key?(:id)
  @kind = args[:kind] if args.key?(:kind)
  @name = args[:name] if args.key?(:name)
  @permission_details = args[:permission_details] if args.key?(:permission_details)
  @photo_link = args[:photo_link] if args.key?(:photo_link)
  @role = args[:role] if args.key?(:role)
  @self_link = args[:self_link] if args.key?(:self_link)
  @team_drive_permission_details = args[:team_drive_permission_details] if args.key?(:team_drive_permission_details)
  @type = args[:type] if args.key?(:type)
  @value = args[:value] if args.key?(:value)
  @view = args[:view] if args.key?(:view)
  @with_link = args[:with_link] if args.key?(:with_link)
end