# # Autogenerated by Thrift # # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING # require 'limits_types' module Evernote module EDAM module Type module PrivilegeLevel NORMAL = 1 PREMIUM = 3 MANAGER = 7 SUPPORT = 8 ADMIN = 9 VALUE_MAP = {1 => "NORMAL", 3 => "PREMIUM", 7 => "MANAGER", 8 => "SUPPORT", 9 => "ADMIN"} VALID_VALUES = Set.new([NORMAL, PREMIUM, MANAGER, SUPPORT, ADMIN]).freeze end module QueryFormat USER = 1 SEXP = 2 VALUE_MAP = {1 => "USER", 2 => "SEXP"} VALID_VALUES = Set.new([USER, SEXP]).freeze end module NoteSortOrder CREATED = 1 UPDATED = 2 RELEVANCE = 3 UPDATE_SEQUENCE_NUMBER = 4 TITLE = 5 VALUE_MAP = {1 => "CREATED", 2 => "UPDATED", 3 => "RELEVANCE", 4 => "UPDATE_SEQUENCE_NUMBER", 5 => "TITLE"} VALID_VALUES = Set.new([CREATED, UPDATED, RELEVANCE, UPDATE_SEQUENCE_NUMBER, TITLE]).freeze end module PremiumOrderStatus NONE = 0 PENDING = 1 ACTIVE = 2 FAILED = 3 CANCELLATION_PENDING = 4 CANCELED = 5 VALUE_MAP = {0 => "NONE", 1 => "PENDING", 2 => "ACTIVE", 3 => "FAILED", 4 => "CANCELLATION_PENDING", 5 => "CANCELED"} VALID_VALUES = Set.new([NONE, PENDING, ACTIVE, FAILED, CANCELLATION_PENDING, CANCELED]).freeze end # In several places, EDAM exchanges blocks of bytes of data for a component # which may be relatively large. For example: the contents of a clipped # HTML note, the bytes of an embedded image, or the recognition XML for # a large image. This structure is used in the protocol to represent # any of those large blocks of data when they are transmitted or when # they are only referenced their metadata. # #
#
bodyHash
#
This field carries a one-way hash of the contents of the # data body, in binary form. The hash function is MD5
# Length: EDAM_HASH_LEN (exactly) #
# #
size
#
The length, in bytes, of the data body. #
# #
body
#
This field is set to contain the binary contents of the data # whenever the resource is being transferred. If only metadata is # being exchanged, this field will be empty. For example, a client could # notify the service about the change to an attribute for a resource # without transmitting the binary resource contents. #
#
class Data include ::Thrift::Struct, ::Thrift::Struct_Union BODYHASH = 1 SIZE = 2 BODY = 3 FIELDS = { BODYHASH => {:type => ::Thrift::Types::STRING, :name => 'bodyHash', :binary => true, :optional => true}, SIZE => {:type => ::Thrift::Types::I32, :name => 'size', :optional => true}, BODY => {:type => ::Thrift::Types::STRING, :name => 'body', :binary => true, :optional => true} } def struct_fields; FIELDS; end def validate end ::Thrift::Struct.generate_accessors self end # A structure holding the optional attributes that can be stored # on a User. These are generally less critical than the core User fields. # #
#
defaultLocationName
#
the location string that should be associated # with the user in order to determine where notes are taken if not otherwise # specified.
# Length: EDAM_ATTRIBUTE_LEN_MIN - EDAM_ATTRIBUTE_LEN_MAX #
# #
defaultLatitude
#
if set, this is the latitude that should be # assigned to any notes that have no other latitude information. #
# #
defaultLongitude
#
if set, this is the longitude that should be # assigned to any notes that have no other longitude information. #
# #
preactivation
#
if set, the user account is not yet confirmed for # login. I.e. the account has been created, but we are still waiting for # the user to complete the activation step. #
# #
viewedPromotions
#
a list of promotions the user has seen. # This list may occasionally be modified by the system when promotions are # no longer available.
# Length: EDAM_ATTRIBUTE_LEN_MIN - EDAM_ATTRIBUTE_LEN_MAX #
# #
incomingEmailAddress
#
if set, this is the email address that the # user may send email to in order to add an email note directly into the # account via the SMTP email gateway. This is the part of the email # address before the '@' symbol ... our domain is not included. # If this is not set, the user may not add notes via the gateway.
# Length: EDAM_ATTRIBUTE_LEN_MIN - EDAM_ATTRIBUTE_LEN_MAX #
# #
recentMailedAddresses
#
if set, this will contain a list of email # addresses that have recently been used as recipients # of outbound emails by the user. This can be used to pre-populate a # list of possible destinations when a user wishes to send a note via # email.
# Length: EDAM_ATTRIBUTE_LEN_MIN - EDAM_ATTRIBUTE_LEN_MAX each
# Max: EDAM_USER_RECENT_MAILED_ADDRESSES_MAX entries #
# #
comments
#
Free-form text field that may hold general support # information, etc.
# Length: EDAM_ATTRIBUTE_LEN_MIN - EDAM_ATTRIBUTE_LEN_MAX #
# #
dateAgreedToTermsOfService
#
The date/time when the user agreed to # the terms of service. This can be used as the effective "start date" # for the account. #
# #
maxReferrals
#
The number of referrals that the user is permitted # to make. #
# #
referralCount
#
The number of referrals sent from this account. #
# #
refererCode
#
A code indicating where the user was sent from. AKA # promotion code #
# #
sentEmailDate
#
The most recent date when the user sent outbound # emails from the service. Used with sentEmailCount to limit the number # of emails that can be sent per day. #
# #
sentEmailCount
#
The number of emails that were sent from the user # via the service on sentEmailDate. Used to enforce a limit on the number # of emails per user per day to prevent spamming. #
# #
dailyEmailLimit
#
If set, this is the maximum number of emails that # may be sent in a given day from this account. If unset, the server will # use the configured default limit. #
# #
emailOptOutDate
#
If set, this is the date when the user asked # to be excluded from offers and promotions sent by Evernote. If not set, # then the user currently agrees to receive these messages. #
# #
partnerEmailOptInDate
#
If set, this is the date when the user asked # to be included in offers and promotions sent by Evernote's partners. # If not sent, then the user currently does not agree to receive these # emails. #
# #
preferredLanguage
#
a 2 character language codes based on: # http://ftp.ics.uci.edu/pub/ietf/http/related/iso639.txt used for # localization purposes to determine what language to use for the web # interface and for other direct communication (e.g. emails). #
# #
preferredCountry
#
Preferred country code based on ISO 3166-1-alpha-2 indicating the # users preferred country
# #
clipFullPage
#
Boolean flag set to true if the user wants to clip full pages by # default when they use the web clipper without a selection.
# #
twitterUserName
#
The username of the account of someone who has chosen to enable # Twittering into Evernote. This value is subject to change, since users # may change their Twitter user name.
# #
twitterId
#
The unique identifier of the user's Twitter account if that user # has chosen to enable Twittering into Evernote.
# #
groupName
#
A name identifier used to identify a particular set of branding and # light customization.
# #
recognitionLanguage
#
a 2 character language codes based on: # http://ftp.ics.uci.edu/pub/ietf/http/related/iso639.txt # If set, this is used to determine the language that should be used # when processing images and PDF files to find text. # If not set, then the 'preferredLanguage' will be used. #
# #
customerProfileId
#
a numeric identified which provides a linkage between the user record # and the direct credit card payment creditcard profile. #
# #
educationalInstitution
#
a flag indicating that the user is part of an educational institution which # makes them eligible for discounts on bulk purchases #
# #
businessAddress
#
A string recording the business address of a Sponsored Account user who has requested invoicing. #
#
class UserAttributes include ::Thrift::Struct, ::Thrift::Struct_Union DEFAULTLOCATIONNAME = 1 DEFAULTLATITUDE = 2 DEFAULTLONGITUDE = 3 PREACTIVATION = 4 VIEWEDPROMOTIONS = 5 INCOMINGEMAILADDRESS = 6 RECENTMAILEDADDRESSES = 7 COMMENTS = 9 DATEAGREEDTOTERMSOFSERVICE = 11 MAXREFERRALS = 12 REFERRALCOUNT = 13 REFERERCODE = 14 SENTEMAILDATE = 15 SENTEMAILCOUNT = 16 DAILYEMAILLIMIT = 17 EMAILOPTOUTDATE = 18 PARTNEREMAILOPTINDATE = 19 PREFERREDLANGUAGE = 20 PREFERREDCOUNTRY = 21 CLIPFULLPAGE = 22 TWITTERUSERNAME = 23 TWITTERID = 24 GROUPNAME = 25 RECOGNITIONLANGUAGE = 26 CUSTOMERPROFILEID = 27 REFERRALPROOF = 28 EDUCATIONALDISCOUNT = 29 BUSINESSADDRESS = 30 FIELDS = { DEFAULTLOCATIONNAME => {:type => ::Thrift::Types::STRING, :name => 'defaultLocationName', :optional => true}, DEFAULTLATITUDE => {:type => ::Thrift::Types::DOUBLE, :name => 'defaultLatitude', :optional => true}, DEFAULTLONGITUDE => {:type => ::Thrift::Types::DOUBLE, :name => 'defaultLongitude', :optional => true}, PREACTIVATION => {:type => ::Thrift::Types::BOOL, :name => 'preactivation', :optional => true}, VIEWEDPROMOTIONS => {:type => ::Thrift::Types::LIST, :name => 'viewedPromotions', :element => {:type => ::Thrift::Types::STRING}, :optional => true}, INCOMINGEMAILADDRESS => {:type => ::Thrift::Types::STRING, :name => 'incomingEmailAddress', :optional => true}, RECENTMAILEDADDRESSES => {:type => ::Thrift::Types::LIST, :name => 'recentMailedAddresses', :element => {:type => ::Thrift::Types::STRING}, :optional => true}, COMMENTS => {:type => ::Thrift::Types::STRING, :name => 'comments', :optional => true}, DATEAGREEDTOTERMSOFSERVICE => {:type => ::Thrift::Types::I64, :name => 'dateAgreedToTermsOfService', :optional => true}, MAXREFERRALS => {:type => ::Thrift::Types::I32, :name => 'maxReferrals', :optional => true}, REFERRALCOUNT => {:type => ::Thrift::Types::I32, :name => 'referralCount', :optional => true}, REFERERCODE => {:type => ::Thrift::Types::STRING, :name => 'refererCode', :optional => true}, SENTEMAILDATE => {:type => ::Thrift::Types::I64, :name => 'sentEmailDate', :optional => true}, SENTEMAILCOUNT => {:type => ::Thrift::Types::I32, :name => 'sentEmailCount', :optional => true}, DAILYEMAILLIMIT => {:type => ::Thrift::Types::I32, :name => 'dailyEmailLimit', :optional => true}, EMAILOPTOUTDATE => {:type => ::Thrift::Types::I64, :name => 'emailOptOutDate', :optional => true}, PARTNEREMAILOPTINDATE => {:type => ::Thrift::Types::I64, :name => 'partnerEmailOptInDate', :optional => true}, PREFERREDLANGUAGE => {:type => ::Thrift::Types::STRING, :name => 'preferredLanguage', :optional => true}, PREFERREDCOUNTRY => {:type => ::Thrift::Types::STRING, :name => 'preferredCountry', :optional => true}, CLIPFULLPAGE => {:type => ::Thrift::Types::BOOL, :name => 'clipFullPage', :optional => true}, TWITTERUSERNAME => {:type => ::Thrift::Types::STRING, :name => 'twitterUserName', :optional => true}, TWITTERID => {:type => ::Thrift::Types::STRING, :name => 'twitterId', :optional => true}, GROUPNAME => {:type => ::Thrift::Types::STRING, :name => 'groupName', :optional => true}, RECOGNITIONLANGUAGE => {:type => ::Thrift::Types::STRING, :name => 'recognitionLanguage', :optional => true}, CUSTOMERPROFILEID => {:type => ::Thrift::Types::I64, :name => 'customerProfileId', :optional => true}, REFERRALPROOF => {:type => ::Thrift::Types::STRING, :name => 'referralProof', :optional => true}, EDUCATIONALDISCOUNT => {:type => ::Thrift::Types::BOOL, :name => 'educationalDiscount', :optional => true}, BUSINESSADDRESS => {:type => ::Thrift::Types::STRING, :name => 'businessAddress', :optional => true} } def struct_fields; FIELDS; end def validate end ::Thrift::Struct.generate_accessors self end # This represents the bookkeeping information for the user's subscription. # #
#
uploadLimit
#
The number of bytes that can be uploaded to the account # in the current month. For new notes that are created, this is the length # of the note content (in Unicode characters) plus the size of each resource # (in bytes). For edited notes, this is the the difference between the old # length and the new length (if this is greater than 0) plus the size of # each new resource. #
#
uploadLimitEnd
#
The date and time when the current upload limit # expires. At this time, the monthly upload count reverts to 0 and a new # limit is imposed. This date and time is exclusive, so this is effectively # the start of the new month. #
#
uploadLimitNextMonth
#
When uploadLimitEnd is reached, the service # will change uploadLimit to uploadLimitNextMonth. If a premium account is # canceled, this mechanism will reset the quota appropriately. #
#
premiumServiceStatus
#
Indicates the phases of a premium account # during the billing process. #
#
premiumOrderNumber
#
The order number used by the commerce system to # process recurring payments #
#
premiumServiceStart
#
The start date when this premium promotion # began (this number will get overwritten if a premium service is canceled # and then re-activated). #
#
premiumCommerceService
#
The commerce system used (paypal, Google # checkout, etc) #
#
premiumServiceSKU
#
The code associated with the purchase eg. monthly # or annual purchase. Clients should interpret this value and localize it. #
#
lastSuccessfulCharge
#
Date the last time the user was charged. # Null if never charged. #
#
lastFailedCharge
#
Date the last time a charge was attempted and # failed. #
#
lastFailedChargeReason
#
Reason provided for the charge failure #
#
nextPaymentDue
#
The end of the billing cycle. This could be in the # past if there are failed charges. #
#
premiumLockUntil
#
An internal variable to manage locking operations # on the commerce variables. #
#
updated
#
The date any modification where made to this record. #
#
premiumSubscriptionNumber
#
The number number identifying the # recurring subscription used to make the recurring charges. #
#
lastRequestedCharge
#
Date charge last attempted
#
currency
#
ISO 4217 currency code
#
unitPrice
#
charge in the smallest unit of the currency (e.g. cents for USD)
#
class Accounting include ::Thrift::Struct, ::Thrift::Struct_Union UPLOADLIMIT = 1 UPLOADLIMITEND = 2 UPLOADLIMITNEXTMONTH = 3 PREMIUMSERVICESTATUS = 4 PREMIUMORDERNUMBER = 5 PREMIUMCOMMERCESERVICE = 6 PREMIUMSERVICESTART = 7 PREMIUMSERVICESKU = 8 LASTSUCCESSFULCHARGE = 9 LASTFAILEDCHARGE = 10 LASTFAILEDCHARGEREASON = 11 NEXTPAYMENTDUE = 12 PREMIUMLOCKUNTIL = 13 UPDATED = 14 PREMIUMSUBSCRIPTIONNUMBER = 16 LASTREQUESTEDCHARGE = 17 CURRENCY = 18 UNITPRICE = 19 FIELDS = { UPLOADLIMIT => {:type => ::Thrift::Types::I64, :name => 'uploadLimit', :optional => true}, UPLOADLIMITEND => {:type => ::Thrift::Types::I64, :name => 'uploadLimitEnd', :optional => true}, UPLOADLIMITNEXTMONTH => {:type => ::Thrift::Types::I64, :name => 'uploadLimitNextMonth', :optional => true}, PREMIUMSERVICESTATUS => {:type => ::Thrift::Types::I32, :name => 'premiumServiceStatus', :optional => true, :enum_class => Evernote::EDAM::Type::PremiumOrderStatus}, PREMIUMORDERNUMBER => {:type => ::Thrift::Types::STRING, :name => 'premiumOrderNumber', :optional => true}, PREMIUMCOMMERCESERVICE => {:type => ::Thrift::Types::STRING, :name => 'premiumCommerceService', :optional => true}, PREMIUMSERVICESTART => {:type => ::Thrift::Types::I64, :name => 'premiumServiceStart', :optional => true}, PREMIUMSERVICESKU => {:type => ::Thrift::Types::STRING, :name => 'premiumServiceSKU', :optional => true}, LASTSUCCESSFULCHARGE => {:type => ::Thrift::Types::I64, :name => 'lastSuccessfulCharge', :optional => true}, LASTFAILEDCHARGE => {:type => ::Thrift::Types::I64, :name => 'lastFailedCharge', :optional => true}, LASTFAILEDCHARGEREASON => {:type => ::Thrift::Types::STRING, :name => 'lastFailedChargeReason', :optional => true}, NEXTPAYMENTDUE => {:type => ::Thrift::Types::I64, :name => 'nextPaymentDue', :optional => true}, PREMIUMLOCKUNTIL => {:type => ::Thrift::Types::I64, :name => 'premiumLockUntil', :optional => true}, UPDATED => {:type => ::Thrift::Types::I64, :name => 'updated', :optional => true}, PREMIUMSUBSCRIPTIONNUMBER => {:type => ::Thrift::Types::STRING, :name => 'premiumSubscriptionNumber', :optional => true}, LASTREQUESTEDCHARGE => {:type => ::Thrift::Types::I64, :name => 'lastRequestedCharge', :optional => true}, CURRENCY => {:type => ::Thrift::Types::STRING, :name => 'currency', :optional => true}, UNITPRICE => {:type => ::Thrift::Types::I32, :name => 'unitPrice', :optional => true} } def struct_fields; FIELDS; end def validate unless @premiumServiceStatus.nil? || Evernote::EDAM::Type::PremiumOrderStatus::VALID_VALUES.include?(@premiumServiceStatus) raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field premiumServiceStatus!') end end ::Thrift::Struct.generate_accessors self end # This represents the information about a single user account. #
#
id
#
The unique numeric identifier for the account, which will not # change for the lifetime of the account. #
# #
username
#
The name that the user provides to log in to their # account. In the future, this may be empty for some accounts if their login # process is indirect (e.g. via social networks, etc.). # May only contain a-z, 0-9, or '-', and may not start or end with the '-' #
# Length: EDAM_USER_USERNAME_LEN_MIN - EDAM_USER_USERNAME_LEN_MAX #
# Regex: EDAM_USER_USERNAME_REGEX #
# #
email
#
The email address registered for the user. Must comply with # RFC 2821 and RFC 2822.
# Length: EDAM_EMAIL_LEN_MIN - EDAM_EMAIL_LEN_MAX #
# Regex: EDAM_EMAIL_REGEX #
# #
name
#
The printable name of the user, which may be a combination # of given and family names. This is used instead of separate "first" # and "last" names due to variations in international name format/order. # May not start or end with a whitespace character. May contain any # character but carriage return or newline (Unicode classes Zl and Zp). #
# Length: EDAM_USER_NAME_LEN_MIN - EDAM_USER_NAME_LEN_MAX #
# Regex: EDAM_USER_NAME_REGEX #
# #
timezone
#
The zone ID for the user's default location. If present, # this may be used to localize the display of any timestamp for which no # other timezone is available - for example, an note that arrives via # a micro-browser may not contain enough information to display its # local time, so this default timezone may be assigned to the note. # The format must be encoded as a standard zone ID such as # "America/Los_Angeles" or "GMT+08:00" #
# Length: EDAM_TIMEZONE_LEN_MIN - EDAM_TIMEZONE_LEN_MAX #
# Regex: EDAM_TIMEZONE_REGEX #
# #
privilege
#
The level of access permitted for the user. #
# #
created
#
The date and time when this user account was created in the # service. #
# #
updated
#
The date and time when this user account was last modified # in the service. #
# #
deleted
#
If the account has been deleted from the system (e.g. as # the result of a legal request by the user), the date and time of the # deletion will be represented here. If not, this value will not be set. #
# #
active
#
If the user account is available for login and # synchronization, this flag will be set to true. #
# #
shardId
#
The name of the virtual server that manages the state of # this user. This value is used internally to determine which system should # service requests about this user's data. #
# #
attributes
#
If present, this will contain a list of the attributes # for this user account. #
# #
accounting
#
Bookkeeping information for the user's subscription. #
#
class User include ::Thrift::Struct, ::Thrift::Struct_Union ID = 1 USERNAME = 2 EMAIL = 3 NAME = 4 TIMEZONE = 6 PRIVILEGE = 7 CREATED = 9 UPDATED = 10 DELETED = 11 ACTIVE = 13 SHARDID = 14 ATTRIBUTES = 15 ACCOUNTING = 16 FIELDS = { ID => {:type => ::Thrift::Types::I32, :name => 'id', :optional => true}, USERNAME => {:type => ::Thrift::Types::STRING, :name => 'username', :optional => true}, EMAIL => {:type => ::Thrift::Types::STRING, :name => 'email', :optional => true}, NAME => {:type => ::Thrift::Types::STRING, :name => 'name', :optional => true}, TIMEZONE => {:type => ::Thrift::Types::STRING, :name => 'timezone', :optional => true}, PRIVILEGE => {:type => ::Thrift::Types::I32, :name => 'privilege', :optional => true, :enum_class => Evernote::EDAM::Type::PrivilegeLevel}, CREATED => {:type => ::Thrift::Types::I64, :name => 'created', :optional => true}, UPDATED => {:type => ::Thrift::Types::I64, :name => 'updated', :optional => true}, DELETED => {:type => ::Thrift::Types::I64, :name => 'deleted', :optional => true}, ACTIVE => {:type => ::Thrift::Types::BOOL, :name => 'active', :optional => true}, SHARDID => {:type => ::Thrift::Types::STRING, :name => 'shardId', :optional => true}, ATTRIBUTES => {:type => ::Thrift::Types::STRUCT, :name => 'attributes', :class => Evernote::EDAM::Type::UserAttributes, :optional => true}, ACCOUNTING => {:type => ::Thrift::Types::STRUCT, :name => 'accounting', :class => Evernote::EDAM::Type::Accounting, :optional => true} } def struct_fields; FIELDS; end def validate unless @privilege.nil? || Evernote::EDAM::Type::PrivilegeLevel::VALID_VALUES.include?(@privilege) raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field privilege!') end end ::Thrift::Struct.generate_accessors self end # A tag within a user's account is a unique name which may be organized # a simple hierarchy. #
#
guid
#
The unique identifier of this tag. Will be set by the service, # so may be omitted by the client when creating the Tag. #
# Length: EDAM_GUID_LEN_MIN - EDAM_GUID_LEN_MAX #
# Regex: EDAM_GUID_REGEX #
# #
name
#
A sequence of characters representing the tag's identifier. # Case is preserved, but is ignored for comparisons. # This means that an account may only have one tag with a given name, via # case-insensitive comparison, so an account may not have both "food" and # "Food" tags. # May not contain a comma (','), and may not begin or end with a space. #
# Length: EDAM_TAG_NAME_LEN_MIN - EDAM_TAG_NAME_LEN_MAX #
# Regex: EDAM_TAG_NAME_REGEX #
# #
parentGuid
#
If this is set, then this is the GUID of the tag that # holds this tag within the tag organizational heirarchy. If this is # not set, then the tag has no parent and it is a "top level" tag. # Cycles are not allowed (e.g. a->parent->parent == a) and will be # rejected by the service. #
# Length: EDAM_GUID_LEN_MIN - EDAM_GUID_LEN_MAX #
# Regex: EDAM_GUID_REGEX #
# #
updateSequenceNum
#
A number identifying the last transaction to # modify the state of this object. The USN values are sequential within an # account, and can be used to compare the order of modifications within the # service. #
#
class Tag include ::Thrift::Struct, ::Thrift::Struct_Union GUID = 1 NAME = 2 PARENTGUID = 3 UPDATESEQUENCENUM = 4 FIELDS = { GUID => {:type => ::Thrift::Types::STRING, :name => 'guid', :optional => true}, NAME => {:type => ::Thrift::Types::STRING, :name => 'name', :optional => true}, PARENTGUID => {:type => ::Thrift::Types::STRING, :name => 'parentGuid', :optional => true}, UPDATESEQUENCENUM => {:type => ::Thrift::Types::I32, :name => 'updateSequenceNum', :optional => true} } def struct_fields; FIELDS; end def validate end ::Thrift::Struct.generate_accessors self end # Structure holding the optional attributes of a Resource #
#
sourceURL
#
the original location where the resource was hosted #
# Length: EDAM_ATTRIBUTE_LEN_MIN - EDAM_ATTRIBUTE_LEN_MAX #
# #
timestamp
#
the date and time that is associated with this resource # (e.g. the time embedded in an image from a digital camera with a clock) #
# #
latitude
#
the latitude where the resource was captured #
# #
longitude
#
the longitude where the resource was captured #
# #
altitude
#
the altitude where the resource was captured #
# #
cameraMake
#
information about an image's camera, e.g. as embedded in # the image's EXIF data #
# Length: EDAM_ATTRIBUTE_LEN_MIN - EDAM_ATTRIBUTE_LEN_MAX #
# #
cameraModel
#
information about an image's camera, e.g. as embedded # in the image's EXIF data #
# Length: EDAM_ATTRIBUTE_LEN_MIN - EDAM_ATTRIBUTE_LEN_MAX #
# #
clientWillIndex
#
if true, then the original client that submitted # the resource plans to submit the recognition index for this resource at a # later time. #
# #
recoType
#
DEPRECATED - this field is no longer set by the service, so should # be ignored. #
# #
fileName
#
if the resource came from a source that provided an # explicit file name, the original name will be stored here. Many resources # come from unnamed sources, so this will not always be set. #
# #
attachment
#
this will be true if the resource is a Premium file attachment. This # will be available within the search grammar so that you can identify # notes that contain attachments. #
#
class ResourceAttributes include ::Thrift::Struct, ::Thrift::Struct_Union SOURCEURL = 1 TIMESTAMP = 2 LATITUDE = 3 LONGITUDE = 4 ALTITUDE = 5 CAMERAMAKE = 6 CAMERAMODEL = 7 CLIENTWILLINDEX = 8 RECOTYPE = 9 FILENAME = 10 ATTACHMENT = 11 FIELDS = { SOURCEURL => {:type => ::Thrift::Types::STRING, :name => 'sourceURL', :optional => true}, TIMESTAMP => {:type => ::Thrift::Types::I64, :name => 'timestamp', :optional => true}, LATITUDE => {:type => ::Thrift::Types::DOUBLE, :name => 'latitude', :optional => true}, LONGITUDE => {:type => ::Thrift::Types::DOUBLE, :name => 'longitude', :optional => true}, ALTITUDE => {:type => ::Thrift::Types::DOUBLE, :name => 'altitude', :optional => true}, CAMERAMAKE => {:type => ::Thrift::Types::STRING, :name => 'cameraMake', :optional => true}, CAMERAMODEL => {:type => ::Thrift::Types::STRING, :name => 'cameraModel', :optional => true}, CLIENTWILLINDEX => {:type => ::Thrift::Types::BOOL, :name => 'clientWillIndex', :optional => true}, RECOTYPE => {:type => ::Thrift::Types::STRING, :name => 'recoType', :optional => true}, FILENAME => {:type => ::Thrift::Types::STRING, :name => 'fileName', :optional => true}, ATTACHMENT => {:type => ::Thrift::Types::BOOL, :name => 'attachment', :optional => true} } def struct_fields; FIELDS; end def validate end ::Thrift::Struct.generate_accessors self end # Every media file that is embedded or attached to a note is represented # through a Resource entry. #
#
guid
#
The unique identifier of this resource. Will be set whenever # a resource is retrieved from the service, but may be null when a client # is creating a resource. #
# Length: EDAM_GUID_LEN_MIN - EDAM_GUID_LEN_MAX #
# Regex: EDAM_GUID_REGEX #
# #
noteGuid
#
The unique identifier of the Note that holds this # Resource. Will be set whenever the resource is retrieved from the service, # but may be null when a client is creating a resource. #
# Length: EDAM_GUID_LEN_MIN - EDAM_GUID_LEN_MAX #
# Regex: EDAM_GUID_REGEX #
# #
data
#
The contents of the resource. # Maximum length: The data.body is limited to EDAM_RESOURCE_SIZE_MAX_FREE # for free accounts and EDAM_RESOURCE_SIZE_MAX_PREMIUM for premium accounts. #
# #
mime
#
The MIME type for the embedded resource. E.g. "image/gif" #
# Length: EDAM_MIME_LEN_MIN - EDAM_MIME_LEN_MAX #
# Regex: EDAM_MIME_REGEX #
# #
width
#
If set, this contains the display width of this resource, in # pixels. #
# #
height
#
If set, this contains the display height of this resource, # in pixels. #
# #
duration
#
DEPRECATED: ignored. #
# #
active
#
DEPRECATED: ignored. #
# #
recognition
#
If set, this will hold the encoded data that provides # information on search and recognition within this resource. #
# #
attributes
#
A list of the attributes for this resource. #
# #
updateSequenceNum
#
A number identifying the last transaction to # modify the state of this object. The USN values are sequential within an # account, and can be used to compare the order of modifications within the # service. #
# #
alternateData
#
Some Resources may be assigned an alternate data format by the service # which may be more appropriate for indexing or rendering than the original # data provided by the user. In these cases, the alternate data form will # be available via this Data element. If a Resource has no alternate form, # this field will be unset.
#
class Resource include ::Thrift::Struct, ::Thrift::Struct_Union GUID = 1 NOTEGUID = 2 DATA = 3 MIME = 4 WIDTH = 5 HEIGHT = 6 DURATION = 7 ACTIVE = 8 RECOGNITION = 9 ATTRIBUTES = 11 UPDATESEQUENCENUM = 12 ALTERNATEDATA = 13 FIELDS = { GUID => {:type => ::Thrift::Types::STRING, :name => 'guid', :optional => true}, NOTEGUID => {:type => ::Thrift::Types::STRING, :name => 'noteGuid', :optional => true}, DATA => {:type => ::Thrift::Types::STRUCT, :name => 'data', :class => Evernote::EDAM::Type::Data, :optional => true}, MIME => {:type => ::Thrift::Types::STRING, :name => 'mime', :optional => true}, WIDTH => {:type => ::Thrift::Types::I16, :name => 'width', :optional => true}, HEIGHT => {:type => ::Thrift::Types::I16, :name => 'height', :optional => true}, DURATION => {:type => ::Thrift::Types::I16, :name => 'duration', :optional => true}, ACTIVE => {:type => ::Thrift::Types::BOOL, :name => 'active', :optional => true}, RECOGNITION => {:type => ::Thrift::Types::STRUCT, :name => 'recognition', :class => Evernote::EDAM::Type::Data, :optional => true}, ATTRIBUTES => {:type => ::Thrift::Types::STRUCT, :name => 'attributes', :class => Evernote::EDAM::Type::ResourceAttributes, :optional => true}, UPDATESEQUENCENUM => {:type => ::Thrift::Types::I32, :name => 'updateSequenceNum', :optional => true}, ALTERNATEDATA => {:type => ::Thrift::Types::STRUCT, :name => 'alternateData', :class => Evernote::EDAM::Type::Data, :optional => true} } def struct_fields; FIELDS; end def validate end ::Thrift::Struct.generate_accessors self end # The list of optional attributes that can be stored on a note. #
#
subjectDate
#
time that the note refers to #
# #
latitude
#
the latitude where the note was taken #
# #
longitude
#
the longitude where the note was taken #
# #
altitude
#
the altitude where the note was taken #
# #
author
#
the author of the content of the note #
# Length: EDAM_ATTRIBUTE_LEN_MIN - EDAM_ATTRIBUTE_LEN_MAX #
# #
source
#
the method that the note was added to the account, if the # note wasn't directly authored in an Evernote client. #
# Length: EDAM_ATTRIBUTE_LEN_MIN - EDAM_ATTRIBUTE_LEN_MAX #
# #
sourceURL
#
the original location where the resource was hosted #
# Length: EDAM_ATTRIBUTE_LEN_MIN - EDAM_ATTRIBUTE_LEN_MAX #
# #
sourceApplication
#
an identifying string for the application that # created this note. This string does not have a guaranteed syntax or # structure -- it is intended for human inspection and tracking. #
# Length: EDAM_ATTRIBUTE_LEN_MIN - EDAM_ATTRIBUTE_LEN_MAX #
# #
shareDate
#
The date and time when this note was directly shared via its own URL. # This is only set on notes that were individually shared, it's independent # of any notebook-level sharing of the containing notepbook. This field # is treated as "read-only" for clients ... the server will ignore changes # to this field from an external client. #
# #
class NoteAttributes include ::Thrift::Struct, ::Thrift::Struct_Union SUBJECTDATE = 1 LATITUDE = 10 LONGITUDE = 11 ALTITUDE = 12 AUTHOR = 13 SOURCE = 14 SOURCEURL = 15 SOURCEAPPLICATION = 16 SHAREDATE = 17 FIELDS = { SUBJECTDATE => {:type => ::Thrift::Types::I64, :name => 'subjectDate', :optional => true}, LATITUDE => {:type => ::Thrift::Types::DOUBLE, :name => 'latitude', :optional => true}, LONGITUDE => {:type => ::Thrift::Types::DOUBLE, :name => 'longitude', :optional => true}, ALTITUDE => {:type => ::Thrift::Types::DOUBLE, :name => 'altitude', :optional => true}, AUTHOR => {:type => ::Thrift::Types::STRING, :name => 'author', :optional => true}, SOURCE => {:type => ::Thrift::Types::STRING, :name => 'source', :optional => true}, SOURCEURL => {:type => ::Thrift::Types::STRING, :name => 'sourceURL', :optional => true}, SOURCEAPPLICATION => {:type => ::Thrift::Types::STRING, :name => 'sourceApplication', :optional => true}, SHAREDATE => {:type => ::Thrift::Types::I64, :name => 'shareDate', :optional => true} } def struct_fields; FIELDS; end def validate end ::Thrift::Struct.generate_accessors self end # Represents a single note in the user's account. # #
#
guid
#
The unique identifier of this note. Will be set by the # server, but will be omitted by clients calling NoteStore.createNote() #
# Length: EDAM_GUID_LEN_MIN - EDAM_GUID_LEN_MAX #
# Regex: EDAM_GUID_REGEX #
# #
title
#
The subject of the note. Can't begin or end with a space. #
# Length: EDAM_NOTE_TITLE_LEN_MIN - EDAM_NOTE_TITLE_LEN_MAX #
# Regex: EDAM_NOTE_TITLE_REGEX #
# #
content
#
The XHTML block that makes up the note. This is # the canonical form of the note's contents, so will include abstract # Evernote tags for internal resource references. A client may create # a separate transformed version of this content for internal presentation, # but the same canonical bytes should be used for transmission and # comparison unless the user chooses to modify their content. #
# Length: EDAM_NOTE_CONTENT_LEN_MIN - EDAM_NOTE_CONTENT_LEN_MAX #
# #
contentHash
#
The binary MD5 checksum of the UTF-8 encoded content # body. This will always be set by the server, but clients may choose to omit # this when they submit a note with content. #
# Length: EDAM_HASH_LEN (exactly) #
# #
contentLength
#
The number of Unicode characters in the content of # the note. This will always be set by the service, but clients may choose # to omit this value when they submit a Note. #
# #
created
#
The date and time when the note was created in one of the # clients. In most cases, this will match the user's sense of when # the note was created, and ordering between notes will be based on # ordering of this field. However, this is not a "reliable" timestamp # if a client has an incorrect clock, so it cannot provide a true absolute # ordering between notes. Notes created directly through the service # (e.g. via the web GUI) will have an absolutely ordered "created" value. #
# #
updated
#
The date and time when the note was last modified in one of # the clients. In most cases, this will match the user's sense of when # the note was modified, but this field may not be absolutely reliable # due to the possibility of client clock errors. #
# #
deleted
#
If present, the note is considered "deleted", and this # stores the date and time when the note was deleted by one of the clients. # In most cases, this will match the user's sense of when the note was # deleted, but this field may be unreliable due to the possibility of # client clock errors. #
# #
active
#
If the note is available for normal actions and viewing, # this flag will be set to true. #
# #
updateSequenceNum
#
A number identifying the last transaction to # modify the state of this note (including changes to the note's attributes # or resources). The USN values are sequential within an account, # and can be used to compare the order of modifications within the service. #
# #
notebookGuid
#
The unique identifier of the notebook that contains # this note. If no notebookGuid is provided on a call to createNote(), the # default notebook will be used instead. #
# Length: EDAM_GUID_LEN_MIN - EDAM_GUID_LEN_MAX #
# Regex: EDAM_GUID_REGEX #
# #
tagGuids
#
A list of the GUID identifiers for tags that are applied to this note. # This may be provided in a call to createNote() to unambiguously declare # the tags that should be assigned to the new note. Alternately, clients # may pass the names of desired tags via the 'tagNames' field during # note creation. # If the list of tags are omitted on a call to createNote(), then # the server will assume that no changes have been made to the resources. # Maximum: EDAM_NOTE_TAGS_MAX tags per note #
# #
resources
#
The list of resources that are embedded within this note. # If the list of resources are omitted on a call to updateNote(), then # the server will assume that no changes have been made to the resources. # The binary contents of the resources must be provided when the resource # is first sent to the service, but it will be omitted by the service when # the Note is returned in the future. # Maximum: EDAM_NOTE_RESOURCES_MAX resources per note #
# #
attributes
#
A list of the attributes for this note. # If the list of attributes are omitted on a call to updateNote(), then # the server will assume that no changes have been made to the resources. #
# #
tagNames
#
May be provided by clients during calls to createNote() as an # alternative to providing the tagGuids of existing tags. If any tagNames # are provided during createNote(), these will be found, or created if they # don't already exist. Created tags will have no parent (they will be at # the top level of the tag panel). #
#
class Note include ::Thrift::Struct, ::Thrift::Struct_Union GUID = 1 TITLE = 2 CONTENT = 3 CONTENTHASH = 4 CONTENTLENGTH = 5 CREATED = 6 UPDATED = 7 DELETED = 8 ACTIVE = 9 UPDATESEQUENCENUM = 10 NOTEBOOKGUID = 11 TAGGUIDS = 12 RESOURCES = 13 ATTRIBUTES = 14 TAGNAMES = 15 FIELDS = { GUID => {:type => ::Thrift::Types::STRING, :name => 'guid', :optional => true}, TITLE => {:type => ::Thrift::Types::STRING, :name => 'title', :optional => true}, CONTENT => {:type => ::Thrift::Types::STRING, :name => 'content', :optional => true}, CONTENTHASH => {:type => ::Thrift::Types::STRING, :name => 'contentHash', :binary => true, :optional => true}, CONTENTLENGTH => {:type => ::Thrift::Types::I32, :name => 'contentLength', :optional => true}, CREATED => {:type => ::Thrift::Types::I64, :name => 'created', :optional => true}, UPDATED => {:type => ::Thrift::Types::I64, :name => 'updated', :optional => true}, DELETED => {:type => ::Thrift::Types::I64, :name => 'deleted', :optional => true}, ACTIVE => {:type => ::Thrift::Types::BOOL, :name => 'active', :optional => true}, UPDATESEQUENCENUM => {:type => ::Thrift::Types::I32, :name => 'updateSequenceNum', :optional => true}, NOTEBOOKGUID => {:type => ::Thrift::Types::STRING, :name => 'notebookGuid', :optional => true}, TAGGUIDS => {:type => ::Thrift::Types::LIST, :name => 'tagGuids', :element => {:type => ::Thrift::Types::STRING}, :optional => true}, RESOURCES => {:type => ::Thrift::Types::LIST, :name => 'resources', :element => {:type => ::Thrift::Types::STRUCT, :class => Evernote::EDAM::Type::Resource}, :optional => true}, ATTRIBUTES => {:type => ::Thrift::Types::STRUCT, :name => 'attributes', :class => Evernote::EDAM::Type::NoteAttributes, :optional => true}, TAGNAMES => {:type => ::Thrift::Types::LIST, :name => 'tagNames', :element => {:type => ::Thrift::Types::STRING}, :optional => true} } def struct_fields; FIELDS; end def validate end ::Thrift::Struct.generate_accessors self end # If a Notebook has been opened to the public, the Notebook will have a # reference to one of these structures, which gives the location and optional # description of the externally-visible public Notebook. #
#
uri
#
If this field is present, then the notebook is published for # mass consumption on the Internet under the provided URI, which is # relative to a defined base publishing URI defined by the service. # This field can only be modified via the web service GUI ... publishing # cannot be modified via an offline client. #
# Length: EDAM_PUBLISHING_URI_LEN_MIN - EDAM_PUBLISHING_URI_LEN_MAX #
# Regex: EDAM_PUBLISHING_URI_REGEX #
# #
order
#
When the notes are publicly displayed, they will be sorted # based on the requested criteria. #
# #
ascending
#
If this is set to true, then the public notes will be # displayed in ascending order (e.g. from oldest to newest). Otherwise, # the notes will be displayed in descending order (e.g. newest to oldest). #
# #
publicDescription
#
This field may be used to provide a short # description of the notebook, which may be displayed when (e.g.) the # notebook is shown in a public view. Can't begin or end with a space. #
# Length: EDAM_PUBLISHING_DESCRIPTION_LEN_MIN - # EDAM_PUBLISHING_DESCRIPTION_LEN_MAX #
# Regex: EDAM_PUBLISHING_DESCRIPTION_REGEX #
#
class Publishing include ::Thrift::Struct, ::Thrift::Struct_Union URI = 1 ORDER = 2 ASCENDING = 3 PUBLICDESCRIPTION = 4 FIELDS = { URI => {:type => ::Thrift::Types::STRING, :name => 'uri', :optional => true}, ORDER => {:type => ::Thrift::Types::I32, :name => 'order', :optional => true, :enum_class => Evernote::EDAM::Type::NoteSortOrder}, ASCENDING => {:type => ::Thrift::Types::BOOL, :name => 'ascending', :optional => true}, PUBLICDESCRIPTION => {:type => ::Thrift::Types::STRING, :name => 'publicDescription', :optional => true} } def struct_fields; FIELDS; end def validate unless @order.nil? || Evernote::EDAM::Type::NoteSortOrder::VALID_VALUES.include?(@order) raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field order!') end end ::Thrift::Struct.generate_accessors self end # A unique container for a set of notes. #
#
guid
#
The unique identifier of this notebook. #
# Length: EDAM_GUID_LEN_MIN - EDAM_GUID_LEN_MAX #
# Regex: EDAM_GUID_REGEX #
# #
name
#
A sequence of characters representing the name of the # notebook. May be changed by clients, but the account may not contain two # notebooks with names that are equal via a case-insensitive comparison. # Can't begin or end with a space. #
# Length: EDAM_NOTEBOOK_NAME_LEN_MIN - EDAM_NOTEBOOK_NAME_LEN_MAX #
# Regex: EDAM_NOTEBOOK_NAME_REGEX #
# #
updateSequenceNum
#
A number identifying the last transaction to # modify the state of this object. The USN values are sequential within an # account, and can be used to compare the order of modifications within the # service. #
# #
defaultNotebook
#
If true, this notebook should be used for new notes # whenever the user has not (or cannot) specify a desired target notebook. # For example, if a note is submitted via SMTP email. # The service will maintain at most one defaultNotebook per account. # If a second notebook is created or updated with defaultNotebook set to # true, the service will automatically update the prior notebook's # defaultNotebook field to false. If the default notebook is deleted # (i.e. "active" set to false), the "defaultNotebook" field will be # set to false by the service. If the account has no default notebook # set, the service will use the most recent notebook as the default. #
# #
serviceCreated
#
The time when this notebook was created on the # service. This will be set on the service during creation, and the service # will provide this value when it returns a Notebook to a client. # The service will ignore this value if it is sent by clients. #
# #
serviceUpdated
#
The time when this notebook was last modified on the # service. This will be set on the service during creation, and the service # will provide this value when it returns a Notebook to a client. # The service will ignore this value if it is sent by clients. #
# #
publishing
#
If the Notebook has been opened for public access (i.e. # if 'published' is set to true), then this will point to the set of # publishing information for the Notebook (URI, description, etc.). A # Notebook cannot be published without providing this information, but it # will persist for later use if publishing is ever disabled on the Notebook. # Clients that do not wish to change the publishing behavior of a Notebook # should not set this value when calling NoteStore.updateNotebook(). #
# #
published
#
If this is set to true, then the Notebook will be # accessible to the public via the 'publishing' specification, which must # also be set. If this is set to false, the Notebook will not be available # to the public. # Clients that do not wish to change the publishing behavior of a Notebook # should not set this value when calling NoteStore.updateNotebook(). #
# #
stack
#
If this is set, then the notebook is visually contained within a stack # of notebooks with this name. All notebooks in the same account with the # same 'stack' field are considered to be in the same stack. # Notebooks with no stack set are "top level" and not contained within a # stack. #
# #
sharedNotebookIds
#
If this notebook has been shared with one or more individuals, then # this will contain the 'id' fields to identify those SharedNotebook # entries in the NoteStore. This field is only set by the server, and it # is ignored in calls to createNotebook, updateNotebook, etc. #
#
class Notebook include ::Thrift::Struct, ::Thrift::Struct_Union GUID = 1 NAME = 2 UPDATESEQUENCENUM = 5 DEFAULTNOTEBOOK = 6 SERVICECREATED = 7 SERVICEUPDATED = 8 PUBLISHING = 10 PUBLISHED = 11 STACK = 12 SHAREDNOTEBOOKIDS = 13 FIELDS = { GUID => {:type => ::Thrift::Types::STRING, :name => 'guid', :optional => true}, NAME => {:type => ::Thrift::Types::STRING, :name => 'name', :optional => true}, UPDATESEQUENCENUM => {:type => ::Thrift::Types::I32, :name => 'updateSequenceNum', :optional => true}, DEFAULTNOTEBOOK => {:type => ::Thrift::Types::BOOL, :name => 'defaultNotebook', :optional => true}, SERVICECREATED => {:type => ::Thrift::Types::I64, :name => 'serviceCreated', :optional => true}, SERVICEUPDATED => {:type => ::Thrift::Types::I64, :name => 'serviceUpdated', :optional => true}, PUBLISHING => {:type => ::Thrift::Types::STRUCT, :name => 'publishing', :class => Evernote::EDAM::Type::Publishing, :optional => true}, PUBLISHED => {:type => ::Thrift::Types::BOOL, :name => 'published', :optional => true}, STACK => {:type => ::Thrift::Types::STRING, :name => 'stack', :optional => true}, SHAREDNOTEBOOKIDS => {:type => ::Thrift::Types::LIST, :name => 'sharedNotebookIds', :element => {:type => ::Thrift::Types::I64}, :optional => true} } def struct_fields; FIELDS; end def validate end ::Thrift::Struct.generate_accessors self end # A named search associated with the account that can be quickly re-used. #
#
guid
#
The unique identifier of this search. Will be set by the # service, so may be omitted by the client when creating. #
# Length: EDAM_GUID_LEN_MIN - EDAM_GUID_LEN_MAX #
# Regex: EDAM_GUID_REGEX #
# #
name
#
The name of the saved search to display in the GUI. The # account may only contain one search with a given name (case-insensitive # compare). Can't begin or end with a space. #
# Length: EDAM_SAVED_SEARCH_NAME_LEN_MIN - EDAM_SAVED_SEARCH_NAME_LEN_MAX #
# Regex: EDAM_SAVED_SEARCH_NAME_REGEX #
# #
query
#
A string expressing the search to be performed. #
# Length: EDAM_SAVED_SEARCH_QUERY_LEN_MIN - EDAM_SAVED_SEARCH_QUERY_LEN_MAX #
# #
format
#
The format of the query string, to determine how to parse # and process it. #
# #
updateSequenceNum
#
A number identifying the last transaction to # modify the state of this object. The USN values are sequential within an # account, and can be used to compare the order of modifications within the # service. #
#
class SavedSearch include ::Thrift::Struct, ::Thrift::Struct_Union GUID = 1 NAME = 2 QUERY = 3 FORMAT = 4 UPDATESEQUENCENUM = 5 FIELDS = { GUID => {:type => ::Thrift::Types::STRING, :name => 'guid', :optional => true}, NAME => {:type => ::Thrift::Types::STRING, :name => 'name', :optional => true}, QUERY => {:type => ::Thrift::Types::STRING, :name => 'query', :optional => true}, FORMAT => {:type => ::Thrift::Types::I32, :name => 'format', :optional => true, :enum_class => Evernote::EDAM::Type::QueryFormat}, UPDATESEQUENCENUM => {:type => ::Thrift::Types::I32, :name => 'updateSequenceNum', :optional => true} } def struct_fields; FIELDS; end def validate unless @format.nil? || Evernote::EDAM::Type::QueryFormat::VALID_VALUES.include?(@format) raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field format!') end end ::Thrift::Struct.generate_accessors self end # An advertisement that may be displayed within an Evernote client. # Advertisements are either a snippet of HTML or else they # are an image (of type: JPEG, GIF, PNG) with an associated destination URL. # #
#
id
#
The unique identifier of this advertisement within Evernote's ad # inventory. #
# #
width
#
This ad should be displayed within a rectangle that is this wide, # in pixels. #
# #
height
#
This ad should be displayed within a rectangle that is this high, # in pixels. #
# #
advertiserName
#
A string containing a readable version of the name of this advertiser. #
# #
imageUrl
#
The location of the image to display for this ad.
# #
destinationUrl
#
When a user clicks on the ad, this is the destination they should be # sent to in a browser.
# #
displaySeconds
#
The number of seconds that the ad should be displayed before it is # replaced with a different ad.
# #
score
#
A numeric indicator of the relative value of this ad, which can be # compared against other ads from the same day. #
# #
image
#
If present, this is the raw image bits of the image file to display # for the ad. If not present, the imageUrl should be retrieved directly. #
# #
imageMime
#
The MIME type of the 'image' bytes, if those are set.
# #
html
#
The exact HTML to display for this ad, to support rich or external # advertisements.
# #
displayFrequency
#
If this value is set, this is the relatively frequency that this # ad should be displayed in the daily set of ads, relative to a base # frequency of 1.0. I.e. an ad with a frequency of 3.0 should be displayed # three times more frequently than an ad with a frequency of 1.0.
# #
openInTrunk
#
If true, the ad should be opened in the embedded Trunk window by # clients with Trunk support.
#
class Ad include ::Thrift::Struct, ::Thrift::Struct_Union ID = 1 WIDTH = 2 HEIGHT = 3 ADVERTISERNAME = 4 IMAGEURL = 5 DESTINATIONURL = 6 DISPLAYSECONDS = 7 SCORE = 8 IMAGE = 9 IMAGEMIME = 10 HTML = 11 DISPLAYFREQUENCY = 12 OPENINTRUNK = 13 FIELDS = { ID => {:type => ::Thrift::Types::I32, :name => 'id', :optional => true}, WIDTH => {:type => ::Thrift::Types::I16, :name => 'width', :optional => true}, HEIGHT => {:type => ::Thrift::Types::I16, :name => 'height', :optional => true}, ADVERTISERNAME => {:type => ::Thrift::Types::STRING, :name => 'advertiserName', :optional => true}, IMAGEURL => {:type => ::Thrift::Types::STRING, :name => 'imageUrl', :optional => true}, DESTINATIONURL => {:type => ::Thrift::Types::STRING, :name => 'destinationUrl', :optional => true}, DISPLAYSECONDS => {:type => ::Thrift::Types::I16, :name => 'displaySeconds', :optional => true}, SCORE => {:type => ::Thrift::Types::DOUBLE, :name => 'score', :optional => true}, IMAGE => {:type => ::Thrift::Types::STRING, :name => 'image', :binary => true, :optional => true}, IMAGEMIME => {:type => ::Thrift::Types::STRING, :name => 'imageMime', :optional => true}, HTML => {:type => ::Thrift::Types::STRING, :name => 'html', :optional => true}, DISPLAYFREQUENCY => {:type => ::Thrift::Types::DOUBLE, :name => 'displayFrequency', :optional => true}, OPENINTRUNK => {:type => ::Thrift::Types::BOOL, :name => 'openInTrunk', :optional => true} } def struct_fields; FIELDS; end def validate end ::Thrift::Struct.generate_accessors self end # Shared notebooks represent a relationship between a notebook and a single # share invitation recipient. #
#
id
#
the primary identifier of the share
# #
userId
#
the user id of the owner of the notebook
# #
notebookGuid
#
the GUID of the associated notebook shared.
# #
email
#
the email address of the recipient - used by the notebook # owner to identify who they shared with.
# #
notebookModifiable
#
a flag indicating the share is read/write -otherwise it's read only
# #
requireLogin
#
indicates that a user must login to access the share
# #
serviceCreated
#
the date the owner first created the share with the specific email # address
# #
username
#
the username of the user who can access this share. # Once it's assigned it cannot be changed.
#
class SharedNotebook include ::Thrift::Struct, ::Thrift::Struct_Union ID = 1 USERID = 2 NOTEBOOKGUID = 3 EMAIL = 4 NOTEBOOKMODIFIABLE = 5 REQUIRELOGIN = 6 SERVICECREATED = 7 SHAREKEY = 8 USERNAME = 9 FIELDS = { ID => {:type => ::Thrift::Types::I64, :name => 'id', :optional => true}, USERID => {:type => ::Thrift::Types::I32, :name => 'userId', :optional => true}, NOTEBOOKGUID => {:type => ::Thrift::Types::STRING, :name => 'notebookGuid', :optional => true}, EMAIL => {:type => ::Thrift::Types::STRING, :name => 'email', :optional => true}, NOTEBOOKMODIFIABLE => {:type => ::Thrift::Types::BOOL, :name => 'notebookModifiable', :optional => true}, REQUIRELOGIN => {:type => ::Thrift::Types::BOOL, :name => 'requireLogin', :optional => true}, SERVICECREATED => {:type => ::Thrift::Types::I64, :name => 'serviceCreated', :optional => true}, SHAREKEY => {:type => ::Thrift::Types::STRING, :name => 'shareKey', :optional => true}, USERNAME => {:type => ::Thrift::Types::STRING, :name => 'username', :optional => true} } def struct_fields; FIELDS; end def validate end ::Thrift::Struct.generate_accessors self end # A link in an users account that refers them to a public or individual share in # another user's account. # #
#
shareName
#
the display name of the shared notebook. # The link owner can change this.
# #
username
#
the username of the user who owns the shared or public notebook
# #
shardId
#
the shard ID of the notebook if the notebook is not public # #
shareKey
#
the secret key that provides access to the shared notebook
# #
uri
#
the identifier of the public notebook
# #
guid
#
The unique identifier of this linked notebook. Will be set whenever # a resource is retrieved from the service, but may be null when a client # is creating a resource. #
# Length: EDAM_GUID_LEN_MIN - EDAM_GUID_LEN_MAX #
# Regex: EDAM_GUID_REGEX #
# #
updateSequenceNum
#
A number identifying the last transaction to # modify the state of this object. The USN values are sequential within an # account, and can be used to compare the order of modifications within the # service. #
#
class LinkedNotebook include ::Thrift::Struct, ::Thrift::Struct_Union SHARENAME = 2 USERNAME = 3 SHARDID = 4 SHAREKEY = 5 URI = 6 GUID = 7 UPDATESEQUENCENUM = 8 FIELDS = { SHARENAME => {:type => ::Thrift::Types::STRING, :name => 'shareName', :optional => true}, USERNAME => {:type => ::Thrift::Types::STRING, :name => 'username', :optional => true}, SHARDID => {:type => ::Thrift::Types::STRING, :name => 'shardId', :optional => true}, SHAREKEY => {:type => ::Thrift::Types::STRING, :name => 'shareKey', :optional => true}, URI => {:type => ::Thrift::Types::STRING, :name => 'uri', :optional => true}, GUID => {:type => ::Thrift::Types::STRING, :name => 'guid', :optional => true}, UPDATESEQUENCENUM => {:type => ::Thrift::Types::I32, :name => 'updateSequenceNum', :optional => true} } def struct_fields; FIELDS; end def validate end ::Thrift::Struct.generate_accessors self end end end end