# Copyright 2015 Google Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. require 'date' require 'google/apis/core/base_service' require 'google/apis/core/json_representation' require 'google/apis/core/hashable' require 'google/apis/errors' module Google module Apis module DriveV2 class About class Representation < Google::Apis::Core::JsonRepresentation; end class AdditionalRoleInfo class Representation < Google::Apis::Core::JsonRepresentation; end class RoleSet class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class DriveTheme class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ExportFormat class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Feature class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ImportFormat class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class MaxUploadSize class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class QuotaBytesByService class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TeamDriveTheme class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class App class Representation < Google::Apis::Core::JsonRepresentation; end class Icon class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class AppList class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Change class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ChangeList class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Channel class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ChildList class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ChildReference class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Comment class Representation < Google::Apis::Core::JsonRepresentation; end class Context class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class CommentList class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class CommentReply class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class CommentReplyList class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ContentRestriction class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Drive class Representation < Google::Apis::Core::JsonRepresentation; end class BackgroundImageFile class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Capabilities class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Restrictions class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class DriveList class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class File class Representation < Google::Apis::Core::JsonRepresentation; end class Capabilities class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ImageMediaMetadata class Representation < Google::Apis::Core::JsonRepresentation; end class Location class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class IndexableText class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Labels class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ShortcutDetails class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Thumbnail class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class VideoMediaMetadata class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class FileList class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class GeneratedIds class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ParentList class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ParentReference class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Permission class Representation < Google::Apis::Core::JsonRepresentation; end class PermissionDetail class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TeamDrivePermissionDetail class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class PermissionId class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PermissionList class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Property class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PropertyList class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Revision class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RevisionList class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class StartPageToken class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TeamDrive class Representation < Google::Apis::Core::JsonRepresentation; end class BackgroundImageFile class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Capabilities class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Restrictions class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class TeamDriveList class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class User class Representation < Google::Apis::Core::JsonRepresentation; end class Picture class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class About # @private class Representation < Google::Apis::Core::JsonRepresentation collection :additional_role_info, as: 'additionalRoleInfo', class: Google::Apis::DriveV2::About::AdditionalRoleInfo, decorator: Google::Apis::DriveV2::About::AdditionalRoleInfo::Representation property :can_create_drives, as: 'canCreateDrives' property :can_create_team_drives, as: 'canCreateTeamDrives' property :domain_sharing_policy, as: 'domainSharingPolicy' collection :drive_themes, as: 'driveThemes', class: Google::Apis::DriveV2::About::DriveTheme, decorator: Google::Apis::DriveV2::About::DriveTheme::Representation property :etag, as: 'etag' collection :export_formats, as: 'exportFormats', class: Google::Apis::DriveV2::About::ExportFormat, decorator: Google::Apis::DriveV2::About::ExportFormat::Representation collection :features, as: 'features', class: Google::Apis::DriveV2::About::Feature, decorator: Google::Apis::DriveV2::About::Feature::Representation collection :folder_color_palette, as: 'folderColorPalette' collection :import_formats, as: 'importFormats', class: Google::Apis::DriveV2::About::ImportFormat, decorator: Google::Apis::DriveV2::About::ImportFormat::Representation property :is_current_app_installed, as: 'isCurrentAppInstalled' property :kind, as: 'kind' property :language_code, as: 'languageCode' property :largest_change_id, :numeric_string => true, as: 'largestChangeId' collection :max_upload_sizes, as: 'maxUploadSizes', class: Google::Apis::DriveV2::About::MaxUploadSize, decorator: Google::Apis::DriveV2::About::MaxUploadSize::Representation property :name, as: 'name' property :permission_id, as: 'permissionId' collection :quota_bytes_by_service, as: 'quotaBytesByService', class: Google::Apis::DriveV2::About::QuotaBytesByService, decorator: Google::Apis::DriveV2::About::QuotaBytesByService::Representation property :quota_bytes_total, :numeric_string => true, as: 'quotaBytesTotal' property :quota_bytes_used, :numeric_string => true, as: 'quotaBytesUsed' property :quota_bytes_used_aggregate, :numeric_string => true, as: 'quotaBytesUsedAggregate' property :quota_bytes_used_in_trash, :numeric_string => true, as: 'quotaBytesUsedInTrash' property :quota_type, as: 'quotaType' property :remaining_change_ids, :numeric_string => true, as: 'remainingChangeIds' property :root_folder_id, as: 'rootFolderId' property :self_link, as: 'selfLink' collection :team_drive_themes, as: 'teamDriveThemes', class: Google::Apis::DriveV2::About::TeamDriveTheme, decorator: Google::Apis::DriveV2::About::TeamDriveTheme::Representation property :user, as: 'user', class: Google::Apis::DriveV2::User, decorator: Google::Apis::DriveV2::User::Representation end class AdditionalRoleInfo # @private class Representation < Google::Apis::Core::JsonRepresentation collection :role_sets, as: 'roleSets', class: Google::Apis::DriveV2::About::AdditionalRoleInfo::RoleSet, decorator: Google::Apis::DriveV2::About::AdditionalRoleInfo::RoleSet::Representation property :type, as: 'type' end class RoleSet # @private class Representation < Google::Apis::Core::JsonRepresentation collection :additional_roles, as: 'additionalRoles' property :primary_role, as: 'primaryRole' end end end class DriveTheme # @private class Representation < Google::Apis::Core::JsonRepresentation property :background_image_link, as: 'backgroundImageLink' property :color_rgb, as: 'colorRgb' property :id, as: 'id' end end class ExportFormat # @private class Representation < Google::Apis::Core::JsonRepresentation property :source, as: 'source' collection :targets, as: 'targets' end end class Feature # @private class Representation < Google::Apis::Core::JsonRepresentation property :feature_name, as: 'featureName' property :feature_rate, as: 'featureRate' end end class ImportFormat # @private class Representation < Google::Apis::Core::JsonRepresentation property :source, as: 'source' collection :targets, as: 'targets' end end class MaxUploadSize # @private class Representation < Google::Apis::Core::JsonRepresentation property :size, :numeric_string => true, as: 'size' property :type, as: 'type' end end class QuotaBytesByService # @private class Representation < Google::Apis::Core::JsonRepresentation property :bytes_used, :numeric_string => true, as: 'bytesUsed' property :service_name, as: 'serviceName' end end class TeamDriveTheme # @private class Representation < Google::Apis::Core::JsonRepresentation property :background_image_link, as: 'backgroundImageLink' property :color_rgb, as: 'colorRgb' property :id, as: 'id' end end end class App # @private class Representation < Google::Apis::Core::JsonRepresentation property :authorized, as: 'authorized' property :create_in_folder_template, as: 'createInFolderTemplate' property :create_url, as: 'createUrl' property :has_drive_wide_scope, as: 'hasDriveWideScope' collection :icons, as: 'icons', class: Google::Apis::DriveV2::App::Icon, decorator: Google::Apis::DriveV2::App::Icon::Representation property :id, as: 'id' property :installed, as: 'installed' property :kind, as: 'kind' property :long_description, as: 'longDescription' property :name, as: 'name' property :object_type, as: 'objectType' property :open_url_template, as: 'openUrlTemplate' collection :primary_file_extensions, as: 'primaryFileExtensions' collection :primary_mime_types, as: 'primaryMimeTypes' property :product_id, as: 'productId' property :product_url, as: 'productUrl' collection :secondary_file_extensions, as: 'secondaryFileExtensions' collection :secondary_mime_types, as: 'secondaryMimeTypes' property :short_description, as: 'shortDescription' property :supports_create, as: 'supportsCreate' property :supports_import, as: 'supportsImport' property :supports_multi_open, as: 'supportsMultiOpen' property :supports_offline_create, as: 'supportsOfflineCreate' property :use_by_default, as: 'useByDefault' end class Icon # @private class Representation < Google::Apis::Core::JsonRepresentation property :category, as: 'category' property :icon_url, as: 'iconUrl' property :size, as: 'size' end end end class AppList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :default_app_ids, as: 'defaultAppIds' property :etag, as: 'etag' collection :items, as: 'items', class: Google::Apis::DriveV2::App, decorator: Google::Apis::DriveV2::App::Representation property :kind, as: 'kind' property :self_link, as: 'selfLink' end end class Change # @private class Representation < Google::Apis::Core::JsonRepresentation property :change_type, as: 'changeType' property :deleted, as: 'deleted' property :drive, as: 'drive', class: Google::Apis::DriveV2::Drive, decorator: Google::Apis::DriveV2::Drive::Representation property :drive_id, as: 'driveId' property :file, as: 'file', class: Google::Apis::DriveV2::File, decorator: Google::Apis::DriveV2::File::Representation property :file_id, as: 'fileId' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :modification_date, as: 'modificationDate', type: DateTime property :self_link, as: 'selfLink' property :team_drive, as: 'teamDrive', class: Google::Apis::DriveV2::TeamDrive, decorator: Google::Apis::DriveV2::TeamDrive::Representation property :team_drive_id, as: 'teamDriveId' property :type, as: 'type' end end class ChangeList # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' collection :items, as: 'items', class: Google::Apis::DriveV2::Change, decorator: Google::Apis::DriveV2::Change::Representation property :kind, as: 'kind' property :largest_change_id, :numeric_string => true, as: 'largestChangeId' property :new_start_page_token, as: 'newStartPageToken' property :next_link, as: 'nextLink' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' end end class Channel # @private class Representation < Google::Apis::Core::JsonRepresentation property :address, as: 'address' property :expiration, :numeric_string => true, as: 'expiration' property :id, as: 'id' property :kind, as: 'kind' hash :params, as: 'params' property :payload, as: 'payload' property :resource_id, as: 'resourceId' property :resource_uri, as: 'resourceUri' property :token, as: 'token' property :type, as: 'type' end end class ChildList # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' collection :items, as: 'items', class: Google::Apis::DriveV2::ChildReference, decorator: Google::Apis::DriveV2::ChildReference::Representation property :kind, as: 'kind' property :next_link, as: 'nextLink' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' end end class ChildReference # @private class Representation < Google::Apis::Core::JsonRepresentation property :child_link, as: 'childLink' property :id, as: 'id' property :kind, as: 'kind' property :self_link, as: 'selfLink' end end class Comment # @private class Representation < Google::Apis::Core::JsonRepresentation property :anchor, as: 'anchor' property :author, as: 'author', class: Google::Apis::DriveV2::User, decorator: Google::Apis::DriveV2::User::Representation property :comment_id, as: 'commentId' property :content, as: 'content' property :context, as: 'context', class: Google::Apis::DriveV2::Comment::Context, decorator: Google::Apis::DriveV2::Comment::Context::Representation property :created_date, as: 'createdDate', type: DateTime property :deleted, as: 'deleted' property :file_id, as: 'fileId' property :file_title, as: 'fileTitle' property :html_content, as: 'htmlContent' property :kind, as: 'kind' property :modified_date, as: 'modifiedDate', type: DateTime collection :replies, as: 'replies', class: Google::Apis::DriveV2::CommentReply, decorator: Google::Apis::DriveV2::CommentReply::Representation property :self_link, as: 'selfLink' property :status, as: 'status' end class Context # @private class Representation < Google::Apis::Core::JsonRepresentation property :type, as: 'type' property :value, as: 'value' end end end class CommentList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :items, as: 'items', class: Google::Apis::DriveV2::Comment, decorator: Google::Apis::DriveV2::Comment::Representation property :kind, as: 'kind' property :next_link, as: 'nextLink' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' end end class CommentReply # @private class Representation < Google::Apis::Core::JsonRepresentation property :author, as: 'author', class: Google::Apis::DriveV2::User, decorator: Google::Apis::DriveV2::User::Representation property :content, as: 'content' property :created_date, as: 'createdDate', type: DateTime property :deleted, as: 'deleted' property :html_content, as: 'htmlContent' property :kind, as: 'kind' property :modified_date, as: 'modifiedDate', type: DateTime property :reply_id, as: 'replyId' property :verb, as: 'verb' end end class CommentReplyList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :items, as: 'items', class: Google::Apis::DriveV2::CommentReply, decorator: Google::Apis::DriveV2::CommentReply::Representation property :kind, as: 'kind' property :next_link, as: 'nextLink' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' end end class ContentRestriction # @private class Representation < Google::Apis::Core::JsonRepresentation property :read_only, as: 'readOnly' property :reason, as: 'reason' property :restricting_user, as: 'restrictingUser', class: Google::Apis::DriveV2::User, decorator: Google::Apis::DriveV2::User::Representation property :restriction_date, as: 'restrictionDate', type: DateTime property :type, as: 'type' end end class Drive # @private class Representation < Google::Apis::Core::JsonRepresentation property :background_image_file, as: 'backgroundImageFile', class: Google::Apis::DriveV2::Drive::BackgroundImageFile, decorator: Google::Apis::DriveV2::Drive::BackgroundImageFile::Representation property :background_image_link, as: 'backgroundImageLink' property :capabilities, as: 'capabilities', class: Google::Apis::DriveV2::Drive::Capabilities, decorator: Google::Apis::DriveV2::Drive::Capabilities::Representation property :color_rgb, as: 'colorRgb' property :created_date, as: 'createdDate', type: DateTime property :hidden, as: 'hidden' property :id, as: 'id' property :kind, as: 'kind' property :name, as: 'name' property :restrictions, as: 'restrictions', class: Google::Apis::DriveV2::Drive::Restrictions, decorator: Google::Apis::DriveV2::Drive::Restrictions::Representation property :theme_id, as: 'themeId' end class BackgroundImageFile # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' property :width, as: 'width' property :x_coordinate, as: 'xCoordinate' property :y_coordinate, as: 'yCoordinate' end end class Capabilities # @private class Representation < Google::Apis::Core::JsonRepresentation property :can_add_children, as: 'canAddChildren' property :can_change_copy_requires_writer_permission_restriction, as: 'canChangeCopyRequiresWriterPermissionRestriction' property :can_change_domain_users_only_restriction, as: 'canChangeDomainUsersOnlyRestriction' property :can_change_drive_background, as: 'canChangeDriveBackground' property :can_change_drive_members_only_restriction, as: 'canChangeDriveMembersOnlyRestriction' property :can_comment, as: 'canComment' property :can_copy, as: 'canCopy' property :can_delete_children, as: 'canDeleteChildren' property :can_delete_drive, as: 'canDeleteDrive' property :can_download, as: 'canDownload' property :can_edit, as: 'canEdit' property :can_list_children, as: 'canListChildren' property :can_manage_members, as: 'canManageMembers' property :can_read_revisions, as: 'canReadRevisions' property :can_rename, as: 'canRename' property :can_rename_drive, as: 'canRenameDrive' property :can_share, as: 'canShare' property :can_trash_children, as: 'canTrashChildren' end end class Restrictions # @private class Representation < Google::Apis::Core::JsonRepresentation property :admin_managed_restrictions, as: 'adminManagedRestrictions' property :copy_requires_writer_permission, as: 'copyRequiresWriterPermission' property :domain_users_only, as: 'domainUsersOnly' property :drive_members_only, as: 'driveMembersOnly' end end end class DriveList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :items, as: 'items', class: Google::Apis::DriveV2::Drive, decorator: Google::Apis::DriveV2::Drive::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' end end class File # @private class Representation < Google::Apis::Core::JsonRepresentation property :alternate_link, as: 'alternateLink' property :app_data_contents, as: 'appDataContents' property :can_comment, as: 'canComment' property :can_read_revisions, as: 'canReadRevisions' property :capabilities, as: 'capabilities', class: Google::Apis::DriveV2::File::Capabilities, decorator: Google::Apis::DriveV2::File::Capabilities::Representation collection :content_restrictions, as: 'contentRestrictions', class: Google::Apis::DriveV2::ContentRestriction, decorator: Google::Apis::DriveV2::ContentRestriction::Representation property :copy_requires_writer_permission, as: 'copyRequiresWriterPermission' property :copyable, as: 'copyable' property :created_date, as: 'createdDate', type: DateTime property :default_open_with_link, as: 'defaultOpenWithLink' property :description, as: 'description' property :download_url, as: 'downloadUrl' property :drive_id, as: 'driveId' property :editable, as: 'editable' property :embed_link, as: 'embedLink' property :etag, as: 'etag' property :explicitly_trashed, as: 'explicitlyTrashed' hash :export_links, as: 'exportLinks' property :file_extension, as: 'fileExtension' property :file_size, :numeric_string => true, as: 'fileSize' property :folder_color_rgb, as: 'folderColorRgb' property :full_file_extension, as: 'fullFileExtension' property :has_augmented_permissions, as: 'hasAugmentedPermissions' property :has_thumbnail, as: 'hasThumbnail' property :head_revision_id, as: 'headRevisionId' property :icon_link, as: 'iconLink' property :id, as: 'id' property :image_media_metadata, as: 'imageMediaMetadata', class: Google::Apis::DriveV2::File::ImageMediaMetadata, decorator: Google::Apis::DriveV2::File::ImageMediaMetadata::Representation property :indexable_text, as: 'indexableText', class: Google::Apis::DriveV2::File::IndexableText, decorator: Google::Apis::DriveV2::File::IndexableText::Representation property :is_app_authorized, as: 'isAppAuthorized' property :kind, as: 'kind' property :labels, as: 'labels', class: Google::Apis::DriveV2::File::Labels, decorator: Google::Apis::DriveV2::File::Labels::Representation property :last_modifying_user, as: 'lastModifyingUser', class: Google::Apis::DriveV2::User, decorator: Google::Apis::DriveV2::User::Representation property :last_modifying_user_name, as: 'lastModifyingUserName' property :last_viewed_by_me_date, as: 'lastViewedByMeDate', type: DateTime property :marked_viewed_by_me_date, as: 'markedViewedByMeDate', type: DateTime property :md5_checksum, as: 'md5Checksum' property :mime_type, as: 'mimeType' property :modified_by_me_date, as: 'modifiedByMeDate', type: DateTime property :modified_date, as: 'modifiedDate', type: DateTime hash :open_with_links, as: 'openWithLinks' property :original_filename, as: 'originalFilename' property :owned_by_me, as: 'ownedByMe' collection :owner_names, as: 'ownerNames' collection :owners, as: 'owners', class: Google::Apis::DriveV2::User, decorator: Google::Apis::DriveV2::User::Representation collection :parents, as: 'parents', class: Google::Apis::DriveV2::ParentReference, decorator: Google::Apis::DriveV2::ParentReference::Representation collection :permission_ids, as: 'permissionIds' collection :permissions, as: 'permissions', class: Google::Apis::DriveV2::Permission, decorator: Google::Apis::DriveV2::Permission::Representation collection :properties, as: 'properties', class: Google::Apis::DriveV2::Property, decorator: Google::Apis::DriveV2::Property::Representation property :quota_bytes_used, :numeric_string => true, as: 'quotaBytesUsed' property :self_link, as: 'selfLink' property :shareable, as: 'shareable' property :shared, as: 'shared' property :shared_with_me_date, as: 'sharedWithMeDate', type: DateTime property :sharing_user, as: 'sharingUser', class: Google::Apis::DriveV2::User, decorator: Google::Apis::DriveV2::User::Representation property :shortcut_details, as: 'shortcutDetails', class: Google::Apis::DriveV2::File::ShortcutDetails, decorator: Google::Apis::DriveV2::File::ShortcutDetails::Representation collection :spaces, as: 'spaces' property :team_drive_id, as: 'teamDriveId' property :thumbnail, as: 'thumbnail', class: Google::Apis::DriveV2::File::Thumbnail, decorator: Google::Apis::DriveV2::File::Thumbnail::Representation property :thumbnail_link, as: 'thumbnailLink' property :thumbnail_version, :numeric_string => true, as: 'thumbnailVersion' property :title, as: 'title' property :trashed_date, as: 'trashedDate', type: DateTime property :trashing_user, as: 'trashingUser', class: Google::Apis::DriveV2::User, decorator: Google::Apis::DriveV2::User::Representation property :user_permission, as: 'userPermission', class: Google::Apis::DriveV2::Permission, decorator: Google::Apis::DriveV2::Permission::Representation property :version, :numeric_string => true, as: 'version' property :video_media_metadata, as: 'videoMediaMetadata', class: Google::Apis::DriveV2::File::VideoMediaMetadata, decorator: Google::Apis::DriveV2::File::VideoMediaMetadata::Representation property :web_content_link, as: 'webContentLink' property :web_view_link, as: 'webViewLink' property :writers_can_share, as: 'writersCanShare' end class Capabilities # @private class Representation < Google::Apis::Core::JsonRepresentation property :can_add_children, as: 'canAddChildren' property :can_add_folder_from_another_drive, as: 'canAddFolderFromAnotherDrive' property :can_add_my_drive_parent, as: 'canAddMyDriveParent' property :can_change_copy_requires_writer_permission, as: 'canChangeCopyRequiresWriterPermission' property :can_change_restricted_download, as: 'canChangeRestrictedDownload' property :can_comment, as: 'canComment' property :can_copy, as: 'canCopy' property :can_delete, as: 'canDelete' property :can_delete_children, as: 'canDeleteChildren' property :can_download, as: 'canDownload' property :can_edit, as: 'canEdit' property :can_list_children, as: 'canListChildren' property :can_modify_content, as: 'canModifyContent' property :can_modify_content_restriction, as: 'canModifyContentRestriction' property :can_move_children_out_of_drive, as: 'canMoveChildrenOutOfDrive' property :can_move_children_out_of_team_drive, as: 'canMoveChildrenOutOfTeamDrive' property :can_move_children_within_drive, as: 'canMoveChildrenWithinDrive' property :can_move_children_within_team_drive, as: 'canMoveChildrenWithinTeamDrive' property :can_move_item_into_team_drive, as: 'canMoveItemIntoTeamDrive' property :can_move_item_out_of_drive, as: 'canMoveItemOutOfDrive' property :can_move_item_out_of_team_drive, as: 'canMoveItemOutOfTeamDrive' property :can_move_item_within_drive, as: 'canMoveItemWithinDrive' property :can_move_item_within_team_drive, as: 'canMoveItemWithinTeamDrive' property :can_move_team_drive_item, as: 'canMoveTeamDriveItem' property :can_read_drive, as: 'canReadDrive' property :can_read_revisions, as: 'canReadRevisions' property :can_read_team_drive, as: 'canReadTeamDrive' property :can_remove_children, as: 'canRemoveChildren' property :can_remove_my_drive_parent, as: 'canRemoveMyDriveParent' property :can_rename, as: 'canRename' property :can_share, as: 'canShare' property :can_trash, as: 'canTrash' property :can_trash_children, as: 'canTrashChildren' property :can_untrash, as: 'canUntrash' end end class ImageMediaMetadata # @private class Representation < Google::Apis::Core::JsonRepresentation property :aperture, as: 'aperture' property :camera_make, as: 'cameraMake' property :camera_model, as: 'cameraModel' property :color_space, as: 'colorSpace' property :date, as: 'date' property :exposure_bias, as: 'exposureBias' property :exposure_mode, as: 'exposureMode' property :exposure_time, as: 'exposureTime' property :flash_used, as: 'flashUsed' property :focal_length, as: 'focalLength' property :height, as: 'height' property :iso_speed, as: 'isoSpeed' property :lens, as: 'lens' property :location, as: 'location', class: Google::Apis::DriveV2::File::ImageMediaMetadata::Location, decorator: Google::Apis::DriveV2::File::ImageMediaMetadata::Location::Representation property :max_aperture_value, as: 'maxApertureValue' property :metering_mode, as: 'meteringMode' property :rotation, as: 'rotation' property :sensor, as: 'sensor' property :subject_distance, as: 'subjectDistance' property :white_balance, as: 'whiteBalance' property :width, as: 'width' end class Location # @private class Representation < Google::Apis::Core::JsonRepresentation property :altitude, as: 'altitude' property :latitude, as: 'latitude' property :longitude, as: 'longitude' end end end class IndexableText # @private class Representation < Google::Apis::Core::JsonRepresentation property :text, as: 'text' end end class Labels # @private class Representation < Google::Apis::Core::JsonRepresentation property :hidden, as: 'hidden' property :modified, as: 'modified' property :restricted, as: 'restricted' property :starred, as: 'starred' property :trashed, as: 'trashed' property :viewed, as: 'viewed' end end class ShortcutDetails # @private class Representation < Google::Apis::Core::JsonRepresentation property :target_id, as: 'targetId' property :target_mime_type, as: 'targetMimeType' end end class Thumbnail # @private class Representation < Google::Apis::Core::JsonRepresentation property :image, :base64 => true, as: 'image' property :mime_type, as: 'mimeType' end end class VideoMediaMetadata # @private class Representation < Google::Apis::Core::JsonRepresentation property :duration_millis, :numeric_string => true, as: 'durationMillis' property :height, as: 'height' property :width, as: 'width' end end end class FileList # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' property :incomplete_search, as: 'incompleteSearch' collection :items, as: 'items', class: Google::Apis::DriveV2::File, decorator: Google::Apis::DriveV2::File::Representation property :kind, as: 'kind' property :next_link, as: 'nextLink' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' end end class GeneratedIds # @private class Representation < Google::Apis::Core::JsonRepresentation collection :ids, as: 'ids' property :kind, as: 'kind' property :space, as: 'space' end end class ParentList # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' collection :items, as: 'items', class: Google::Apis::DriveV2::ParentReference, decorator: Google::Apis::DriveV2::ParentReference::Representation property :kind, as: 'kind' property :self_link, as: 'selfLink' end end class ParentReference # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' property :is_root, as: 'isRoot' property :kind, as: 'kind' property :parent_link, as: 'parentLink' property :self_link, as: 'selfLink' end end class Permission # @private class Representation < Google::Apis::Core::JsonRepresentation collection :additional_roles, as: 'additionalRoles' property :auth_key, as: 'authKey' property :deleted, as: 'deleted' property :domain, as: 'domain' property :email_address, as: 'emailAddress' property :etag, as: 'etag' property :expiration_date, as: 'expirationDate', type: DateTime property :id, as: 'id' property :kind, as: 'kind' property :name, as: 'name' collection :permission_details, as: 'permissionDetails', class: Google::Apis::DriveV2::Permission::PermissionDetail, decorator: Google::Apis::DriveV2::Permission::PermissionDetail::Representation property :photo_link, as: 'photoLink' property :role, as: 'role' property :self_link, as: 'selfLink' collection :team_drive_permission_details, as: 'teamDrivePermissionDetails', class: Google::Apis::DriveV2::Permission::TeamDrivePermissionDetail, decorator: Google::Apis::DriveV2::Permission::TeamDrivePermissionDetail::Representation property :type, as: 'type' property :value, as: 'value' property :view, as: 'view' property :with_link, as: 'withLink' end class PermissionDetail # @private class Representation < Google::Apis::Core::JsonRepresentation collection :additional_roles, as: 'additionalRoles' property :inherited, as: 'inherited' property :inherited_from, as: 'inheritedFrom' property :permission_type, as: 'permissionType' property :role, as: 'role' end end class TeamDrivePermissionDetail # @private class Representation < Google::Apis::Core::JsonRepresentation collection :additional_roles, as: 'additionalRoles' property :inherited, as: 'inherited' property :inherited_from, as: 'inheritedFrom' property :role, as: 'role' property :team_drive_permission_type, as: 'teamDrivePermissionType' end end end class PermissionId # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' property :kind, as: 'kind' end end class PermissionList # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' collection :items, as: 'items', class: Google::Apis::DriveV2::Permission, decorator: Google::Apis::DriveV2::Permission::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' end end class Property # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' property :key, as: 'key' property :kind, as: 'kind' property :self_link, as: 'selfLink' property :value, as: 'value' property :visibility, as: 'visibility' end end class PropertyList # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' collection :items, as: 'items', class: Google::Apis::DriveV2::Property, decorator: Google::Apis::DriveV2::Property::Representation property :kind, as: 'kind' property :self_link, as: 'selfLink' end end class Revision # @private class Representation < Google::Apis::Core::JsonRepresentation property :download_url, as: 'downloadUrl' property :etag, as: 'etag' hash :export_links, as: 'exportLinks' property :file_size, :numeric_string => true, as: 'fileSize' property :id, as: 'id' property :kind, as: 'kind' property :last_modifying_user, as: 'lastModifyingUser', class: Google::Apis::DriveV2::User, decorator: Google::Apis::DriveV2::User::Representation property :last_modifying_user_name, as: 'lastModifyingUserName' property :md5_checksum, as: 'md5Checksum' property :mime_type, as: 'mimeType' property :modified_date, as: 'modifiedDate', type: DateTime property :original_filename, as: 'originalFilename' property :pinned, as: 'pinned' property :publish_auto, as: 'publishAuto' property :published, as: 'published' property :published_link, as: 'publishedLink' property :published_outside_domain, as: 'publishedOutsideDomain' property :self_link, as: 'selfLink' end end class RevisionList # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' collection :items, as: 'items', class: Google::Apis::DriveV2::Revision, decorator: Google::Apis::DriveV2::Revision::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' end end class StartPageToken # @private class Representation < Google::Apis::Core::JsonRepresentation property :kind, as: 'kind' property :start_page_token, as: 'startPageToken' end end class TeamDrive # @private class Representation < Google::Apis::Core::JsonRepresentation property :background_image_file, as: 'backgroundImageFile', class: Google::Apis::DriveV2::TeamDrive::BackgroundImageFile, decorator: Google::Apis::DriveV2::TeamDrive::BackgroundImageFile::Representation property :background_image_link, as: 'backgroundImageLink' property :capabilities, as: 'capabilities', class: Google::Apis::DriveV2::TeamDrive::Capabilities, decorator: Google::Apis::DriveV2::TeamDrive::Capabilities::Representation property :color_rgb, as: 'colorRgb' property :created_date, as: 'createdDate', type: DateTime property :id, as: 'id' property :kind, as: 'kind' property :name, as: 'name' property :restrictions, as: 'restrictions', class: Google::Apis::DriveV2::TeamDrive::Restrictions, decorator: Google::Apis::DriveV2::TeamDrive::Restrictions::Representation property :theme_id, as: 'themeId' end class BackgroundImageFile # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' property :width, as: 'width' property :x_coordinate, as: 'xCoordinate' property :y_coordinate, as: 'yCoordinate' end end class Capabilities # @private class Representation < Google::Apis::Core::JsonRepresentation property :can_add_children, as: 'canAddChildren' property :can_change_copy_requires_writer_permission_restriction, as: 'canChangeCopyRequiresWriterPermissionRestriction' property :can_change_domain_users_only_restriction, as: 'canChangeDomainUsersOnlyRestriction' property :can_change_team_drive_background, as: 'canChangeTeamDriveBackground' property :can_change_team_members_only_restriction, as: 'canChangeTeamMembersOnlyRestriction' property :can_comment, as: 'canComment' property :can_copy, as: 'canCopy' property :can_delete_children, as: 'canDeleteChildren' property :can_delete_team_drive, as: 'canDeleteTeamDrive' property :can_download, as: 'canDownload' property :can_edit, as: 'canEdit' property :can_list_children, as: 'canListChildren' property :can_manage_members, as: 'canManageMembers' property :can_read_revisions, as: 'canReadRevisions' property :can_remove_children, as: 'canRemoveChildren' property :can_rename, as: 'canRename' property :can_rename_team_drive, as: 'canRenameTeamDrive' property :can_share, as: 'canShare' property :can_trash_children, as: 'canTrashChildren' end end class Restrictions # @private class Representation < Google::Apis::Core::JsonRepresentation property :admin_managed_restrictions, as: 'adminManagedRestrictions' property :copy_requires_writer_permission, as: 'copyRequiresWriterPermission' property :domain_users_only, as: 'domainUsersOnly' property :team_members_only, as: 'teamMembersOnly' end end end class TeamDriveList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :items, as: 'items', class: Google::Apis::DriveV2::TeamDrive, decorator: Google::Apis::DriveV2::TeamDrive::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' end end class User # @private class Representation < Google::Apis::Core::JsonRepresentation property :display_name, as: 'displayName' property :email_address, as: 'emailAddress' property :is_authenticated_user, as: 'isAuthenticatedUser' property :kind, as: 'kind' property :permission_id, as: 'permissionId' property :picture, as: 'picture', class: Google::Apis::DriveV2::User::Picture, decorator: Google::Apis::DriveV2::User::Picture::Representation end class Picture # @private class Representation < Google::Apis::Core::JsonRepresentation property :url, as: 'url' end end end end end end