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.

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



2200
2201
2202
# File 'generated/google/apis/drive_v2/classes.rb', line 2200

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

Instance Attribute Details

#additional_rolesArray<String>

Additional roles for this user. Only commenter is currently allowed. Corresponds to the JSON property additionalRoles

Returns:

  • (Array<String>)


2112
2113
2114
# File 'generated/google/apis/drive_v2/classes.rb', line 2112

def additional_roles
  @additional_roles
end

#auth_keyString

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

Returns:

  • (String)


2117
2118
2119
# File 'generated/google/apis/drive_v2/classes.rb', line 2117

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)


2123
2124
2125
# File 'generated/google/apis/drive_v2/classes.rb', line 2123

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)


2129
2130
2131
# File 'generated/google/apis/drive_v2/classes.rb', line 2129

def email_address
  @email_address
end

#etagString

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

Returns:

  • (String)


2134
2135
2136
# File 'generated/google/apis/drive_v2/classes.rb', line 2134

def etag
  @etag
end

#expiration_dateDateTime

The time at which this permission will expire (RFC 3339 date-time). Corresponds to the JSON property expirationDate

Returns:

  • (DateTime)


2139
2140
2141
# File 'generated/google/apis/drive_v2/classes.rb', line 2139

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)


2147
2148
2149
# File 'generated/google/apis/drive_v2/classes.rb', line 2147

def id
  @id
end

#kindString

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

Returns:

  • (String)


2152
2153
2154
# File 'generated/google/apis/drive_v2/classes.rb', line 2152

def kind
  @kind
end

#nameString

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

Returns:

  • (String)


2157
2158
2159
# File 'generated/google/apis/drive_v2/classes.rb', line 2157

def name
  @name
end

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

Returns:

  • (String)


2162
2163
2164
# File 'generated/google/apis/drive_v2/classes.rb', line 2162

def photo_link
  @photo_link
end

#roleString

The primary role for this user. Allowed values are:

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

Returns:

  • (String)


2170
2171
2172
# File 'generated/google/apis/drive_v2/classes.rb', line 2170

def role
  @role
end

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

Returns:

  • (String)


2175
2176
2177
# File 'generated/google/apis/drive_v2/classes.rb', line 2175

def self_link
  @self_link
end

#typeString

The account type. Allowed values are:

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

Returns:

  • (String)


2184
2185
2186
# File 'generated/google/apis/drive_v2/classes.rb', line 2184

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)


2192
2193
2194
# File 'generated/google/apis/drive_v2/classes.rb', line 2192

def value
  @value
end

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

Returns:

  • (Boolean)


2197
2198
2199
# File 'generated/google/apis/drive_v2/classes.rb', line 2197

def with_link
  @with_link
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
# File 'generated/google/apis/drive_v2/classes.rb', line 2205

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