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: 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



2435
2436
2437
# File 'generated/google/apis/drive_v2/classes.rb', line 2435

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


2333
2334
2335
# File 'generated/google/apis/drive_v2/classes.rb', line 2333

def additional_roles
  @additional_roles
end

#auth_keyString

The authkey parameter required for this permission. Corresponds to the JSON property authKey

Returns:

  • (String)


2338
2339
2340
# File 'generated/google/apis/drive_v2/classes.rb', line 2338

def auth_key
  @auth_key
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)


2344
2345
2346
# File 'generated/google/apis/drive_v2/classes.rb', line 2344

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)


2350
2351
2352
# File 'generated/google/apis/drive_v2/classes.rb', line 2350

def email_address
  @email_address
end

#etagString

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

Returns:

  • (String)


2355
2356
2357
# File 'generated/google/apis/drive_v2/classes.rb', line 2355

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 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 requests Corresponds to the JSON property expirationDate

Returns:

  • (DateTime)


2365
2366
2367
# File 'generated/google/apis/drive_v2/classes.rb', line 2365

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)


2373
2374
2375
# File 'generated/google/apis/drive_v2/classes.rb', line 2373

def id
  @id
end

#kindString

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

Returns:

  • (String)


2378
2379
2380
# File 'generated/google/apis/drive_v2/classes.rb', line 2378

def kind
  @kind
end

#nameString

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

Returns:

  • (String)


2383
2384
2385
# File 'generated/google/apis/drive_v2/classes.rb', line 2383

def name
  @name
end

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

Returns:

  • (String)


2388
2389
2390
# File 'generated/google/apis/drive_v2/classes.rb', line 2388

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:

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

Returns:

  • (String)


2398
2399
2400
# File 'generated/google/apis/drive_v2/classes.rb', line 2398

def role
  @role
end

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

Returns:

  • (String)


2403
2404
2405
# File 'generated/google/apis/drive_v2/classes.rb', line 2403

def self_link
  @self_link
end

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

Details of whether the Permissions on this Team Drive item are inherited or directly on this item. This is an output-only field which is present only for Team Drive items. Corresponds to the JSON property teamDrivePermissionDetails



2410
2411
2412
# File 'generated/google/apis/drive_v2/classes.rb', line 2410

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)


2419
2420
2421
# File 'generated/google/apis/drive_v2/classes.rb', line 2419

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)


2427
2428
2429
# File 'generated/google/apis/drive_v2/classes.rb', line 2427

def value
  @value
end

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

Returns:

  • (Boolean)


2432
2433
2434
# File 'generated/google/apis/drive_v2/classes.rb', line 2432

def with_link
  @with_link
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
# File 'generated/google/apis/drive_v2/classes.rb', line 2440

def update!(**args)
  @additional_roles = args[:additional_roles] if args.key?(:additional_roles)
  @auth_key = args[:auth_key] if args.key?(:auth_key)
  @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)
  @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)
  @with_link = args[:with_link] if args.key?(:with_link)
end