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



2468
2469
2470
# File 'generated/google/apis/drive_v2/classes.rb', line 2468

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


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

def additional_roles
  @additional_roles
end

#auth_keyString

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

Returns:

  • (String)


2371
2372
2373
# File 'generated/google/apis/drive_v2/classes.rb', line 2371

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)


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

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)


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

def email_address
  @email_address
end

#etagString

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

Returns:

  • (String)


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

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)


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

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)


2406
2407
2408
# File 'generated/google/apis/drive_v2/classes.rb', line 2406

def id
  @id
end

#kindString

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

Returns:

  • (String)


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

def kind
  @kind
end

#nameString

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

Returns:

  • (String)


2416
2417
2418
# File 'generated/google/apis/drive_v2/classes.rb', line 2416

def name
  @name
end

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

Returns:

  • (String)


2421
2422
2423
# File 'generated/google/apis/drive_v2/classes.rb', line 2421

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)


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

def role
  @role
end

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

Returns:

  • (String)


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

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



2443
2444
2445
# File 'generated/google/apis/drive_v2/classes.rb', line 2443

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)


2452
2453
2454
# File 'generated/google/apis/drive_v2/classes.rb', line 2452

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)


2460
2461
2462
# File 'generated/google/apis/drive_v2/classes.rb', line 2460

def value
  @value
end

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

Returns:

  • (Boolean)


2465
2466
2467
# File 'generated/google/apis/drive_v2/classes.rb', line 2465

def with_link
  @with_link
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
# File 'generated/google/apis/drive_v2/classes.rb', line 2473

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