1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073 |
- // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
- package dynamodb
- import (
- "fmt"
- "net/url"
- "time"
- "github.com/aws/aws-sdk-go/aws"
- "github.com/aws/aws-sdk-go/aws/awsutil"
- "github.com/aws/aws-sdk-go/aws/crr"
- "github.com/aws/aws-sdk-go/aws/request"
- "github.com/aws/aws-sdk-go/private/protocol"
- "github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
- )
- const opBatchGetItem = "BatchGetItem"
- // BatchGetItemRequest generates a "aws/request.Request" representing the
- // client's request for the BatchGetItem operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See BatchGetItem for more information on using the BatchGetItem
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the BatchGetItemRequest method.
- // req, resp := client.BatchGetItemRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BatchGetItem
- func (c *DynamoDB) BatchGetItemRequest(input *BatchGetItemInput) (req *request.Request, output *BatchGetItemOutput) {
- op := &request.Operation{
- Name: opBatchGetItem,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"RequestItems"},
- OutputTokens: []string{"UnprocessedKeys"},
- LimitToken: "",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &BatchGetItemInput{}
- }
- output = &BatchGetItemOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // BatchGetItem API operation for Amazon DynamoDB.
- //
- // The BatchGetItem operation returns the attributes of one or more items from
- // one or more tables. You identify requested items by primary key.
- //
- // A single operation can retrieve up to 16 MB of data, which can contain as
- // many as 100 items. BatchGetItem will return a partial result if the response
- // size limit is exceeded, the table's provisioned throughput is exceeded, or
- // an internal processing failure occurs. If a partial result is returned, the
- // operation returns a value for UnprocessedKeys. You can use this value to
- // retry the operation starting with the next item to get.
- //
- // If you request more than 100 items BatchGetItem will return a ValidationException
- // with the message "Too many items requested for the BatchGetItem call".
- //
- // For example, if you ask to retrieve 100 items, but each individual item is
- // 300 KB in size, the system returns 52 items (so as not to exceed the 16 MB
- // limit). It also returns an appropriate UnprocessedKeys value so you can get
- // the next page of results. If desired, your application can include its own
- // logic to assemble the pages of results into one data set.
- //
- // If none of the items can be processed due to insufficient provisioned throughput
- // on all of the tables in the request, then BatchGetItem will return a ProvisionedThroughputExceededException.
- // If at least one of the items is successfully processed, then BatchGetItem
- // completes successfully, while returning the keys of the unread items in UnprocessedKeys.
- //
- // If DynamoDB returns any unprocessed items, you should retry the batch operation
- // on those items. However, we strongly recommend that you use an exponential
- // backoff algorithm. If you retry the batch operation immediately, the underlying
- // read or write requests can still fail due to throttling on the individual
- // tables. If you delay the batch operation using exponential backoff, the individual
- // requests in the batch are much more likely to succeed.
- //
- // For more information, see Batch Operations and Error Handling (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ErrorHandling.html#BatchOperations)
- // in the Amazon DynamoDB Developer Guide.
- //
- // By default, BatchGetItem performs eventually consistent reads on every table
- // in the request. If you want strongly consistent reads instead, you can set
- // ConsistentRead to true for any or all tables.
- //
- // In order to minimize response latency, BatchGetItem retrieves items in parallel.
- //
- // When designing your application, keep in mind that DynamoDB does not return
- // items in any particular order. To help parse the response by item, include
- // the primary key values for the items in your request in the ProjectionExpression
- // parameter.
- //
- // If a requested item does not exist, it is not returned in the result. Requests
- // for nonexistent items consume the minimum read capacity units according to
- // the type of read. For more information, see Capacity Units Calculations (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#CapacityUnitCalculations)
- // in the Amazon DynamoDB Developer Guide.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation BatchGetItem for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
- // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry
- // requests that receive this exception. Your request is eventually successful,
- // unless your retry queue is too large to finish. Reduce the frequency of requests
- // and use exponential backoff. For more information, go to Error Retries and
- // Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff)
- // in the Amazon DynamoDB Developer Guide.
- //
- // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
- // The operation tried to access a nonexistent table or index. The resource
- // might not be specified correctly, or its status might not be ACTIVE.
- //
- // * ErrCodeRequestLimitExceeded "RequestLimitExceeded"
- // Throughput exceeds the current throughput limit for your account. Please
- // contact AWS Support at AWS Support (http://docs.aws.amazon.com/https:/aws.amazon.com/support)
- // to request a limit increase.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BatchGetItem
- func (c *DynamoDB) BatchGetItem(input *BatchGetItemInput) (*BatchGetItemOutput, error) {
- req, out := c.BatchGetItemRequest(input)
- return out, req.Send()
- }
- // BatchGetItemWithContext is the same as BatchGetItem with the addition of
- // the ability to pass a context and additional request options.
- //
- // See BatchGetItem for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) BatchGetItemWithContext(ctx aws.Context, input *BatchGetItemInput, opts ...request.Option) (*BatchGetItemOutput, error) {
- req, out := c.BatchGetItemRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // BatchGetItemPages iterates over the pages of a BatchGetItem operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See BatchGetItem method for more information on how to use this operation.
- //
- // Note: This operation can generate multiple requests to a service.
- //
- // // Example iterating over at most 3 pages of a BatchGetItem operation.
- // pageNum := 0
- // err := client.BatchGetItemPages(params,
- // func(page *BatchGetItemOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- //
- func (c *DynamoDB) BatchGetItemPages(input *BatchGetItemInput, fn func(*BatchGetItemOutput, bool) bool) error {
- return c.BatchGetItemPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // BatchGetItemPagesWithContext same as BatchGetItemPages except
- // it takes a Context and allows setting request options on the pages.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) BatchGetItemPagesWithContext(ctx aws.Context, input *BatchGetItemInput, fn func(*BatchGetItemOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *BatchGetItemInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.BatchGetItemRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- cont := true
- for p.Next() && cont {
- cont = fn(p.Page().(*BatchGetItemOutput), !p.HasNextPage())
- }
- return p.Err()
- }
- const opBatchWriteItem = "BatchWriteItem"
- // BatchWriteItemRequest generates a "aws/request.Request" representing the
- // client's request for the BatchWriteItem operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See BatchWriteItem for more information on using the BatchWriteItem
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the BatchWriteItemRequest method.
- // req, resp := client.BatchWriteItemRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BatchWriteItem
- func (c *DynamoDB) BatchWriteItemRequest(input *BatchWriteItemInput) (req *request.Request, output *BatchWriteItemOutput) {
- op := &request.Operation{
- Name: opBatchWriteItem,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &BatchWriteItemInput{}
- }
- output = &BatchWriteItemOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // BatchWriteItem API operation for Amazon DynamoDB.
- //
- // The BatchWriteItem operation puts or deletes multiple items in one or more
- // tables. A single call to BatchWriteItem can write up to 16 MB of data, which
- // can comprise as many as 25 put or delete requests. Individual items to be
- // written can be as large as 400 KB.
- //
- // BatchWriteItem cannot update items. To update items, use the UpdateItem action.
- //
- // The individual PutItem and DeleteItem operations specified in BatchWriteItem
- // are atomic; however BatchWriteItem as a whole is not. If any requested operations
- // fail because the table's provisioned throughput is exceeded or an internal
- // processing failure occurs, the failed operations are returned in the UnprocessedItems
- // response parameter. You can investigate and optionally resend the requests.
- // Typically, you would call BatchWriteItem in a loop. Each iteration would
- // check for unprocessed items and submit a new BatchWriteItem request with
- // those unprocessed items until all items have been processed.
- //
- // Note that if none of the items can be processed due to insufficient provisioned
- // throughput on all of the tables in the request, then BatchWriteItem will
- // return a ProvisionedThroughputExceededException.
- //
- // If DynamoDB returns any unprocessed items, you should retry the batch operation
- // on those items. However, we strongly recommend that you use an exponential
- // backoff algorithm. If you retry the batch operation immediately, the underlying
- // read or write requests can still fail due to throttling on the individual
- // tables. If you delay the batch operation using exponential backoff, the individual
- // requests in the batch are much more likely to succeed.
- //
- // For more information, see Batch Operations and Error Handling (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ErrorHandling.html#BatchOperations)
- // in the Amazon DynamoDB Developer Guide.
- //
- // With BatchWriteItem, you can efficiently write or delete large amounts of
- // data, such as from Amazon Elastic MapReduce (EMR), or copy data from another
- // database into DynamoDB. In order to improve performance with these large-scale
- // operations, BatchWriteItem does not behave in the same way as individual
- // PutItem and DeleteItem calls would. For example, you cannot specify conditions
- // on individual put and delete requests, and BatchWriteItem does not return
- // deleted items in the response.
- //
- // If you use a programming language that supports concurrency, you can use
- // threads to write items in parallel. Your application must include the necessary
- // logic to manage the threads. With languages that don't support threading,
- // you must update or delete the specified items one at a time. In both situations,
- // BatchWriteItem performs the specified put and delete operations in parallel,
- // giving you the power of the thread pool approach without having to introduce
- // complexity into your application.
- //
- // Parallel processing reduces latency, but each specified put and delete request
- // consumes the same number of write capacity units whether it is processed
- // in parallel or not. Delete operations on nonexistent items consume one write
- // capacity unit.
- //
- // If one or more of the following is true, DynamoDB rejects the entire batch
- // write operation:
- //
- // * One or more tables specified in the BatchWriteItem request does not
- // exist.
- //
- // * Primary key attributes specified on an item in the request do not match
- // those in the corresponding table's primary key schema.
- //
- // * You try to perform multiple operations on the same item in the same
- // BatchWriteItem request. For example, you cannot put and delete the same
- // item in the same BatchWriteItem request.
- //
- // * Your request contains at least two items with identical hash and range
- // keys (which essentially is two put operations).
- //
- // * There are more than 25 requests in the batch.
- //
- // * Any individual item in a batch exceeds 400 KB.
- //
- // * The total request size exceeds 16 MB.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation BatchWriteItem for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
- // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry
- // requests that receive this exception. Your request is eventually successful,
- // unless your retry queue is too large to finish. Reduce the frequency of requests
- // and use exponential backoff. For more information, go to Error Retries and
- // Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff)
- // in the Amazon DynamoDB Developer Guide.
- //
- // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
- // The operation tried to access a nonexistent table or index. The resource
- // might not be specified correctly, or its status might not be ACTIVE.
- //
- // * ErrCodeItemCollectionSizeLimitExceededException "ItemCollectionSizeLimitExceededException"
- // An item collection is too large. This exception is only returned for tables
- // that have one or more local secondary indexes.
- //
- // * ErrCodeRequestLimitExceeded "RequestLimitExceeded"
- // Throughput exceeds the current throughput limit for your account. Please
- // contact AWS Support at AWS Support (http://docs.aws.amazon.com/https:/aws.amazon.com/support)
- // to request a limit increase.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/BatchWriteItem
- func (c *DynamoDB) BatchWriteItem(input *BatchWriteItemInput) (*BatchWriteItemOutput, error) {
- req, out := c.BatchWriteItemRequest(input)
- return out, req.Send()
- }
- // BatchWriteItemWithContext is the same as BatchWriteItem with the addition of
- // the ability to pass a context and additional request options.
- //
- // See BatchWriteItem for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) BatchWriteItemWithContext(ctx aws.Context, input *BatchWriteItemInput, opts ...request.Option) (*BatchWriteItemOutput, error) {
- req, out := c.BatchWriteItemRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opCreateBackup = "CreateBackup"
- // CreateBackupRequest generates a "aws/request.Request" representing the
- // client's request for the CreateBackup operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See CreateBackup for more information on using the CreateBackup
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the CreateBackupRequest method.
- // req, resp := client.CreateBackupRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateBackup
- func (c *DynamoDB) CreateBackupRequest(input *CreateBackupInput) (req *request.Request, output *CreateBackupOutput) {
- op := &request.Operation{
- Name: opCreateBackup,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &CreateBackupInput{}
- }
- output = &CreateBackupOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // CreateBackup API operation for Amazon DynamoDB.
- //
- // Creates a backup for an existing table.
- //
- // Each time you create an On-Demand Backup, the entire table data is backed
- // up. There is no limit to the number of on-demand backups that can be taken.
- //
- // When you create an On-Demand Backup, a time marker of the request is cataloged,
- // and the backup is created asynchronously, by applying all changes until the
- // time of the request to the last full table snapshot. Backup requests are
- // processed instantaneously and become available for restore within minutes.
- //
- // You can call CreateBackup at a maximum rate of 50 times per second.
- //
- // All backups in DynamoDB work without consuming any provisioned throughput
- // on the table.
- //
- // If you submit a backup request on 2018-12-14 at 14:25:00, the backup is guaranteed
- // to contain all data committed to the table up to 14:24:00, and data committed
- // after 14:26:00 will not be. The backup may or may not contain data modifications
- // made between 14:24:00 and 14:26:00. On-Demand Backup does not support causal
- // consistency.
- //
- // Along with data, the following are also included on the backups:
- //
- // * Global secondary indexes (GSIs)
- //
- // * Local secondary indexes (LSIs)
- //
- // * Streams
- //
- // * Provisioned read and write capacity
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation CreateBackup for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeTableNotFoundException "TableNotFoundException"
- // A source table with the name TableName does not currently exist within the
- // subscriber's account.
- //
- // * ErrCodeTableInUseException "TableInUseException"
- // A target table with the specified name is either being created or deleted.
- //
- // * ErrCodeContinuousBackupsUnavailableException "ContinuousBackupsUnavailableException"
- // Backups have not yet been enabled for this table.
- //
- // * ErrCodeBackupInUseException "BackupInUseException"
- // There is another ongoing conflicting backup control plane operation on the
- // table. The backup is either being created, deleted or restored to a table.
- //
- // * ErrCodeLimitExceededException "LimitExceededException"
- // There is no limit to the number of daily on-demand backups that can be taken.
- //
- // Up to 10 simultaneous table operations are allowed per account. These operations
- // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup,
- // and RestoreTableToPointInTime.
- //
- // For tables with secondary indexes, only one of those tables can be in the
- // CREATING state at any point in time. Do not attempt to create more than one
- // such table simultaneously.
- //
- // The total limit of tables in the ACTIVE state is 250.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateBackup
- func (c *DynamoDB) CreateBackup(input *CreateBackupInput) (*CreateBackupOutput, error) {
- req, out := c.CreateBackupRequest(input)
- return out, req.Send()
- }
- // CreateBackupWithContext is the same as CreateBackup with the addition of
- // the ability to pass a context and additional request options.
- //
- // See CreateBackup for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) CreateBackupWithContext(ctx aws.Context, input *CreateBackupInput, opts ...request.Option) (*CreateBackupOutput, error) {
- req, out := c.CreateBackupRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opCreateGlobalTable = "CreateGlobalTable"
- // CreateGlobalTableRequest generates a "aws/request.Request" representing the
- // client's request for the CreateGlobalTable operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See CreateGlobalTable for more information on using the CreateGlobalTable
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the CreateGlobalTableRequest method.
- // req, resp := client.CreateGlobalTableRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateGlobalTable
- func (c *DynamoDB) CreateGlobalTableRequest(input *CreateGlobalTableInput) (req *request.Request, output *CreateGlobalTableOutput) {
- op := &request.Operation{
- Name: opCreateGlobalTable,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &CreateGlobalTableInput{}
- }
- output = &CreateGlobalTableOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // CreateGlobalTable API operation for Amazon DynamoDB.
- //
- // Creates a global table from an existing table. A global table creates a replication
- // relationship between two or more DynamoDB tables with the same table name
- // in the provided regions.
- //
- // If you want to add a new replica table to a global table, each of the following
- // conditions must be true:
- //
- // * The table must have the same primary key as all of the other replicas.
- //
- // * The table must have the same name as all of the other replicas.
- //
- // * The table must have DynamoDB Streams enabled, with the stream containing
- // both the new and the old images of the item.
- //
- // * None of the replica tables in the global table can contain any data.
- //
- // If global secondary indexes are specified, then the following conditions
- // must also be met:
- //
- // * The global secondary indexes must have the same name.
- //
- // * The global secondary indexes must have the same hash key and sort key
- // (if present).
- //
- // Write capacity settings should be set consistently across your replica tables
- // and secondary indexes. DynamoDB strongly recommends enabling auto scaling
- // to manage the write capacity settings for all of your global tables replicas
- // and indexes.
- //
- // If you prefer to manage write capacity settings manually, you should provision
- // equal replicated write capacity units to your replica tables. You should
- // also provision equal replicated write capacity units to matching secondary
- // indexes across your global table.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation CreateGlobalTable for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeLimitExceededException "LimitExceededException"
- // There is no limit to the number of daily on-demand backups that can be taken.
- //
- // Up to 10 simultaneous table operations are allowed per account. These operations
- // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup,
- // and RestoreTableToPointInTime.
- //
- // For tables with secondary indexes, only one of those tables can be in the
- // CREATING state at any point in time. Do not attempt to create more than one
- // such table simultaneously.
- //
- // The total limit of tables in the ACTIVE state is 250.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // * ErrCodeGlobalTableAlreadyExistsException "GlobalTableAlreadyExistsException"
- // The specified global table already exists.
- //
- // * ErrCodeTableNotFoundException "TableNotFoundException"
- // A source table with the name TableName does not currently exist within the
- // subscriber's account.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateGlobalTable
- func (c *DynamoDB) CreateGlobalTable(input *CreateGlobalTableInput) (*CreateGlobalTableOutput, error) {
- req, out := c.CreateGlobalTableRequest(input)
- return out, req.Send()
- }
- // CreateGlobalTableWithContext is the same as CreateGlobalTable with the addition of
- // the ability to pass a context and additional request options.
- //
- // See CreateGlobalTable for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) CreateGlobalTableWithContext(ctx aws.Context, input *CreateGlobalTableInput, opts ...request.Option) (*CreateGlobalTableOutput, error) {
- req, out := c.CreateGlobalTableRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opCreateTable = "CreateTable"
- // CreateTableRequest generates a "aws/request.Request" representing the
- // client's request for the CreateTable operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See CreateTable for more information on using the CreateTable
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the CreateTableRequest method.
- // req, resp := client.CreateTableRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateTable
- func (c *DynamoDB) CreateTableRequest(input *CreateTableInput) (req *request.Request, output *CreateTableOutput) {
- op := &request.Operation{
- Name: opCreateTable,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &CreateTableInput{}
- }
- output = &CreateTableOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // CreateTable API operation for Amazon DynamoDB.
- //
- // The CreateTable operation adds a new table to your account. In an AWS account,
- // table names must be unique within each region. That is, you can have two
- // tables with same name if you create the tables in different regions.
- //
- // CreateTable is an asynchronous operation. Upon receiving a CreateTable request,
- // DynamoDB immediately returns a response with a TableStatus of CREATING. After
- // the table is created, DynamoDB sets the TableStatus to ACTIVE. You can perform
- // read and write operations only on an ACTIVE table.
- //
- // You can optionally define secondary indexes on the new table, as part of
- // the CreateTable operation. If you want to create multiple tables with secondary
- // indexes on them, you must create the tables sequentially. Only one table
- // with secondary indexes can be in the CREATING state at any given time.
- //
- // You can use the DescribeTable action to check the table status.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation CreateTable for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeResourceInUseException "ResourceInUseException"
- // The operation conflicts with the resource's availability. For example, you
- // attempted to recreate an existing table, or tried to delete a table currently
- // in the CREATING state.
- //
- // * ErrCodeLimitExceededException "LimitExceededException"
- // There is no limit to the number of daily on-demand backups that can be taken.
- //
- // Up to 10 simultaneous table operations are allowed per account. These operations
- // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup,
- // and RestoreTableToPointInTime.
- //
- // For tables with secondary indexes, only one of those tables can be in the
- // CREATING state at any point in time. Do not attempt to create more than one
- // such table simultaneously.
- //
- // The total limit of tables in the ACTIVE state is 250.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/CreateTable
- func (c *DynamoDB) CreateTable(input *CreateTableInput) (*CreateTableOutput, error) {
- req, out := c.CreateTableRequest(input)
- return out, req.Send()
- }
- // CreateTableWithContext is the same as CreateTable with the addition of
- // the ability to pass a context and additional request options.
- //
- // See CreateTable for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) CreateTableWithContext(ctx aws.Context, input *CreateTableInput, opts ...request.Option) (*CreateTableOutput, error) {
- req, out := c.CreateTableRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDeleteBackup = "DeleteBackup"
- // DeleteBackupRequest generates a "aws/request.Request" representing the
- // client's request for the DeleteBackup operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DeleteBackup for more information on using the DeleteBackup
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DeleteBackupRequest method.
- // req, resp := client.DeleteBackupRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteBackup
- func (c *DynamoDB) DeleteBackupRequest(input *DeleteBackupInput) (req *request.Request, output *DeleteBackupOutput) {
- op := &request.Operation{
- Name: opDeleteBackup,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeleteBackupInput{}
- }
- output = &DeleteBackupOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // DeleteBackup API operation for Amazon DynamoDB.
- //
- // Deletes an existing backup of a table.
- //
- // You can call DeleteBackup at a maximum rate of 10 times per second.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation DeleteBackup for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeBackupNotFoundException "BackupNotFoundException"
- // Backup not found for the given BackupARN.
- //
- // * ErrCodeBackupInUseException "BackupInUseException"
- // There is another ongoing conflicting backup control plane operation on the
- // table. The backup is either being created, deleted or restored to a table.
- //
- // * ErrCodeLimitExceededException "LimitExceededException"
- // There is no limit to the number of daily on-demand backups that can be taken.
- //
- // Up to 10 simultaneous table operations are allowed per account. These operations
- // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup,
- // and RestoreTableToPointInTime.
- //
- // For tables with secondary indexes, only one of those tables can be in the
- // CREATING state at any point in time. Do not attempt to create more than one
- // such table simultaneously.
- //
- // The total limit of tables in the ACTIVE state is 250.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteBackup
- func (c *DynamoDB) DeleteBackup(input *DeleteBackupInput) (*DeleteBackupOutput, error) {
- req, out := c.DeleteBackupRequest(input)
- return out, req.Send()
- }
- // DeleteBackupWithContext is the same as DeleteBackup with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DeleteBackup for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) DeleteBackupWithContext(ctx aws.Context, input *DeleteBackupInput, opts ...request.Option) (*DeleteBackupOutput, error) {
- req, out := c.DeleteBackupRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDeleteItem = "DeleteItem"
- // DeleteItemRequest generates a "aws/request.Request" representing the
- // client's request for the DeleteItem operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DeleteItem for more information on using the DeleteItem
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DeleteItemRequest method.
- // req, resp := client.DeleteItemRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteItem
- func (c *DynamoDB) DeleteItemRequest(input *DeleteItemInput) (req *request.Request, output *DeleteItemOutput) {
- op := &request.Operation{
- Name: opDeleteItem,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeleteItemInput{}
- }
- output = &DeleteItemOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // DeleteItem API operation for Amazon DynamoDB.
- //
- // Deletes a single item in a table by primary key. You can perform a conditional
- // delete operation that deletes the item if it exists, or if it has an expected
- // attribute value.
- //
- // In addition to deleting an item, you can also return the item's attribute
- // values in the same operation, using the ReturnValues parameter.
- //
- // Unless you specify conditions, the DeleteItem is an idempotent operation;
- // running it multiple times on the same item or attribute does not result in
- // an error response.
- //
- // Conditional deletes are useful for deleting items only if specific conditions
- // are met. If those conditions are met, DynamoDB performs the delete. Otherwise,
- // the item is not deleted.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation DeleteItem for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeConditionalCheckFailedException "ConditionalCheckFailedException"
- // A condition specified in the operation could not be evaluated.
- //
- // * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
- // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry
- // requests that receive this exception. Your request is eventually successful,
- // unless your retry queue is too large to finish. Reduce the frequency of requests
- // and use exponential backoff. For more information, go to Error Retries and
- // Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff)
- // in the Amazon DynamoDB Developer Guide.
- //
- // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
- // The operation tried to access a nonexistent table or index. The resource
- // might not be specified correctly, or its status might not be ACTIVE.
- //
- // * ErrCodeItemCollectionSizeLimitExceededException "ItemCollectionSizeLimitExceededException"
- // An item collection is too large. This exception is only returned for tables
- // that have one or more local secondary indexes.
- //
- // * ErrCodeTransactionConflictException "TransactionConflictException"
- // Operation was rejected because there is an ongoing transaction for the item.
- //
- // * ErrCodeRequestLimitExceeded "RequestLimitExceeded"
- // Throughput exceeds the current throughput limit for your account. Please
- // contact AWS Support at AWS Support (http://docs.aws.amazon.com/https:/aws.amazon.com/support)
- // to request a limit increase.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteItem
- func (c *DynamoDB) DeleteItem(input *DeleteItemInput) (*DeleteItemOutput, error) {
- req, out := c.DeleteItemRequest(input)
- return out, req.Send()
- }
- // DeleteItemWithContext is the same as DeleteItem with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DeleteItem for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) DeleteItemWithContext(ctx aws.Context, input *DeleteItemInput, opts ...request.Option) (*DeleteItemOutput, error) {
- req, out := c.DeleteItemRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDeleteTable = "DeleteTable"
- // DeleteTableRequest generates a "aws/request.Request" representing the
- // client's request for the DeleteTable operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DeleteTable for more information on using the DeleteTable
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DeleteTableRequest method.
- // req, resp := client.DeleteTableRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteTable
- func (c *DynamoDB) DeleteTableRequest(input *DeleteTableInput) (req *request.Request, output *DeleteTableOutput) {
- op := &request.Operation{
- Name: opDeleteTable,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeleteTableInput{}
- }
- output = &DeleteTableOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // DeleteTable API operation for Amazon DynamoDB.
- //
- // The DeleteTable operation deletes a table and all of its items. After a DeleteTable
- // request, the specified table is in the DELETING state until DynamoDB completes
- // the deletion. If the table is in the ACTIVE state, you can delete it. If
- // a table is in CREATING or UPDATING states, then DynamoDB returns a ResourceInUseException.
- // If the specified table does not exist, DynamoDB returns a ResourceNotFoundException.
- // If table is already in the DELETING state, no error is returned.
- //
- // DynamoDB might continue to accept data read and write operations, such as
- // GetItem and PutItem, on a table in the DELETING state until the table deletion
- // is complete.
- //
- // When you delete a table, any indexes on that table are also deleted.
- //
- // If you have DynamoDB Streams enabled on the table, then the corresponding
- // stream on that table goes into the DISABLED state, and the stream is automatically
- // deleted after 24 hours.
- //
- // Use the DescribeTable action to check the status of the table.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation DeleteTable for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeResourceInUseException "ResourceInUseException"
- // The operation conflicts with the resource's availability. For example, you
- // attempted to recreate an existing table, or tried to delete a table currently
- // in the CREATING state.
- //
- // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
- // The operation tried to access a nonexistent table or index. The resource
- // might not be specified correctly, or its status might not be ACTIVE.
- //
- // * ErrCodeLimitExceededException "LimitExceededException"
- // There is no limit to the number of daily on-demand backups that can be taken.
- //
- // Up to 10 simultaneous table operations are allowed per account. These operations
- // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup,
- // and RestoreTableToPointInTime.
- //
- // For tables with secondary indexes, only one of those tables can be in the
- // CREATING state at any point in time. Do not attempt to create more than one
- // such table simultaneously.
- //
- // The total limit of tables in the ACTIVE state is 250.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DeleteTable
- func (c *DynamoDB) DeleteTable(input *DeleteTableInput) (*DeleteTableOutput, error) {
- req, out := c.DeleteTableRequest(input)
- return out, req.Send()
- }
- // DeleteTableWithContext is the same as DeleteTable with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DeleteTable for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) DeleteTableWithContext(ctx aws.Context, input *DeleteTableInput, opts ...request.Option) (*DeleteTableOutput, error) {
- req, out := c.DeleteTableRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeBackup = "DescribeBackup"
- // DescribeBackupRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeBackup operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DescribeBackup for more information on using the DescribeBackup
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DescribeBackupRequest method.
- // req, resp := client.DescribeBackupRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeBackup
- func (c *DynamoDB) DescribeBackupRequest(input *DescribeBackupInput) (req *request.Request, output *DescribeBackupOutput) {
- op := &request.Operation{
- Name: opDescribeBackup,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeBackupInput{}
- }
- output = &DescribeBackupOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // DescribeBackup API operation for Amazon DynamoDB.
- //
- // Describes an existing backup of a table.
- //
- // You can call DescribeBackup at a maximum rate of 10 times per second.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation DescribeBackup for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeBackupNotFoundException "BackupNotFoundException"
- // Backup not found for the given BackupARN.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeBackup
- func (c *DynamoDB) DescribeBackup(input *DescribeBackupInput) (*DescribeBackupOutput, error) {
- req, out := c.DescribeBackupRequest(input)
- return out, req.Send()
- }
- // DescribeBackupWithContext is the same as DescribeBackup with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeBackup for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) DescribeBackupWithContext(ctx aws.Context, input *DescribeBackupInput, opts ...request.Option) (*DescribeBackupOutput, error) {
- req, out := c.DescribeBackupRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeContinuousBackups = "DescribeContinuousBackups"
- // DescribeContinuousBackupsRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeContinuousBackups operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DescribeContinuousBackups for more information on using the DescribeContinuousBackups
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DescribeContinuousBackupsRequest method.
- // req, resp := client.DescribeContinuousBackupsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeContinuousBackups
- func (c *DynamoDB) DescribeContinuousBackupsRequest(input *DescribeContinuousBackupsInput) (req *request.Request, output *DescribeContinuousBackupsOutput) {
- op := &request.Operation{
- Name: opDescribeContinuousBackups,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeContinuousBackupsInput{}
- }
- output = &DescribeContinuousBackupsOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // DescribeContinuousBackups API operation for Amazon DynamoDB.
- //
- // Checks the status of continuous backups and point in time recovery on the
- // specified table. Continuous backups are ENABLED on all tables at table creation.
- // If point in time recovery is enabled, PointInTimeRecoveryStatus will be set
- // to ENABLED.
- //
- // Once continuous backups and point in time recovery are enabled, you can restore
- // to any point in time within EarliestRestorableDateTime and LatestRestorableDateTime.
- //
- // LatestRestorableDateTime is typically 5 minutes before the current time.
- // You can restore your table to any point in time during the last 35 days.
- //
- // You can call DescribeContinuousBackups at a maximum rate of 10 times per
- // second.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation DescribeContinuousBackups for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeTableNotFoundException "TableNotFoundException"
- // A source table with the name TableName does not currently exist within the
- // subscriber's account.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeContinuousBackups
- func (c *DynamoDB) DescribeContinuousBackups(input *DescribeContinuousBackupsInput) (*DescribeContinuousBackupsOutput, error) {
- req, out := c.DescribeContinuousBackupsRequest(input)
- return out, req.Send()
- }
- // DescribeContinuousBackupsWithContext is the same as DescribeContinuousBackups with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeContinuousBackups for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) DescribeContinuousBackupsWithContext(ctx aws.Context, input *DescribeContinuousBackupsInput, opts ...request.Option) (*DescribeContinuousBackupsOutput, error) {
- req, out := c.DescribeContinuousBackupsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeEndpoints = "DescribeEndpoints"
- // DescribeEndpointsRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeEndpoints operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DescribeEndpoints for more information on using the DescribeEndpoints
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DescribeEndpointsRequest method.
- // req, resp := client.DescribeEndpointsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeEndpoints
- func (c *DynamoDB) DescribeEndpointsRequest(input *DescribeEndpointsInput) (req *request.Request, output *DescribeEndpointsOutput) {
- op := &request.Operation{
- Name: opDescribeEndpoints,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeEndpointsInput{}
- }
- output = &DescribeEndpointsOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DescribeEndpoints API operation for Amazon DynamoDB.
- //
- // Returns the regional endpoint information.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation DescribeEndpoints for usage and error information.
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeEndpoints
- func (c *DynamoDB) DescribeEndpoints(input *DescribeEndpointsInput) (*DescribeEndpointsOutput, error) {
- req, out := c.DescribeEndpointsRequest(input)
- return out, req.Send()
- }
- // DescribeEndpointsWithContext is the same as DescribeEndpoints with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeEndpoints for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) DescribeEndpointsWithContext(ctx aws.Context, input *DescribeEndpointsInput, opts ...request.Option) (*DescribeEndpointsOutput, error) {
- req, out := c.DescribeEndpointsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- type discovererDescribeEndpoints struct {
- Client *DynamoDB
- Required bool
- EndpointCache *crr.EndpointCache
- Params map[string]*string
- Key string
- }
- func (d *discovererDescribeEndpoints) Discover() (crr.Endpoint, error) {
- input := &DescribeEndpointsInput{}
- resp, err := d.Client.DescribeEndpoints(input)
- if err != nil {
- return crr.Endpoint{}, err
- }
- endpoint := crr.Endpoint{
- Key: d.Key,
- }
- for _, e := range resp.Endpoints {
- if e.Address == nil {
- continue
- }
- cachedInMinutes := aws.Int64Value(e.CachePeriodInMinutes)
- u, err := url.Parse(*e.Address)
- if err != nil {
- continue
- }
- addr := crr.WeightedAddress{
- URL: u,
- Expired: time.Now().Add(time.Duration(cachedInMinutes) * time.Minute),
- }
- endpoint.Add(addr)
- }
- d.EndpointCache.Add(endpoint)
- return endpoint, nil
- }
- func (d *discovererDescribeEndpoints) Handler(r *request.Request) {
- endpointKey := crr.BuildEndpointKey(d.Params)
- d.Key = endpointKey
- endpoint, err := d.EndpointCache.Get(d, endpointKey, d.Required)
- if err != nil {
- r.Error = err
- return
- }
- if endpoint.URL != nil && len(endpoint.URL.String()) > 0 {
- r.HTTPRequest.URL = endpoint.URL
- }
- }
- const opDescribeGlobalTable = "DescribeGlobalTable"
- // DescribeGlobalTableRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeGlobalTable operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DescribeGlobalTable for more information on using the DescribeGlobalTable
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DescribeGlobalTableRequest method.
- // req, resp := client.DescribeGlobalTableRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeGlobalTable
- func (c *DynamoDB) DescribeGlobalTableRequest(input *DescribeGlobalTableInput) (req *request.Request, output *DescribeGlobalTableOutput) {
- op := &request.Operation{
- Name: opDescribeGlobalTable,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeGlobalTableInput{}
- }
- output = &DescribeGlobalTableOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // DescribeGlobalTable API operation for Amazon DynamoDB.
- //
- // Returns information about the specified global table.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation DescribeGlobalTable for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // * ErrCodeGlobalTableNotFoundException "GlobalTableNotFoundException"
- // The specified global table does not exist.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeGlobalTable
- func (c *DynamoDB) DescribeGlobalTable(input *DescribeGlobalTableInput) (*DescribeGlobalTableOutput, error) {
- req, out := c.DescribeGlobalTableRequest(input)
- return out, req.Send()
- }
- // DescribeGlobalTableWithContext is the same as DescribeGlobalTable with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeGlobalTable for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) DescribeGlobalTableWithContext(ctx aws.Context, input *DescribeGlobalTableInput, opts ...request.Option) (*DescribeGlobalTableOutput, error) {
- req, out := c.DescribeGlobalTableRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeGlobalTableSettings = "DescribeGlobalTableSettings"
- // DescribeGlobalTableSettingsRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeGlobalTableSettings operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DescribeGlobalTableSettings for more information on using the DescribeGlobalTableSettings
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DescribeGlobalTableSettingsRequest method.
- // req, resp := client.DescribeGlobalTableSettingsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeGlobalTableSettings
- func (c *DynamoDB) DescribeGlobalTableSettingsRequest(input *DescribeGlobalTableSettingsInput) (req *request.Request, output *DescribeGlobalTableSettingsOutput) {
- op := &request.Operation{
- Name: opDescribeGlobalTableSettings,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeGlobalTableSettingsInput{}
- }
- output = &DescribeGlobalTableSettingsOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // DescribeGlobalTableSettings API operation for Amazon DynamoDB.
- //
- // Describes region specific settings for a global table.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation DescribeGlobalTableSettings for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeGlobalTableNotFoundException "GlobalTableNotFoundException"
- // The specified global table does not exist.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeGlobalTableSettings
- func (c *DynamoDB) DescribeGlobalTableSettings(input *DescribeGlobalTableSettingsInput) (*DescribeGlobalTableSettingsOutput, error) {
- req, out := c.DescribeGlobalTableSettingsRequest(input)
- return out, req.Send()
- }
- // DescribeGlobalTableSettingsWithContext is the same as DescribeGlobalTableSettings with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeGlobalTableSettings for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) DescribeGlobalTableSettingsWithContext(ctx aws.Context, input *DescribeGlobalTableSettingsInput, opts ...request.Option) (*DescribeGlobalTableSettingsOutput, error) {
- req, out := c.DescribeGlobalTableSettingsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeLimits = "DescribeLimits"
- // DescribeLimitsRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeLimits operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DescribeLimits for more information on using the DescribeLimits
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DescribeLimitsRequest method.
- // req, resp := client.DescribeLimitsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeLimits
- func (c *DynamoDB) DescribeLimitsRequest(input *DescribeLimitsInput) (req *request.Request, output *DescribeLimitsOutput) {
- op := &request.Operation{
- Name: opDescribeLimits,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeLimitsInput{}
- }
- output = &DescribeLimitsOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // DescribeLimits API operation for Amazon DynamoDB.
- //
- // Returns the current provisioned-capacity limits for your AWS account in a
- // region, both for the region as a whole and for any one DynamoDB table that
- // you create there.
- //
- // When you establish an AWS account, the account has initial limits on the
- // maximum read capacity units and write capacity units that you can provision
- // across all of your DynamoDB tables in a given region. Also, there are per-table
- // limits that apply when you create a table there. For more information, see
- // Limits (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html)
- // page in the Amazon DynamoDB Developer Guide.
- //
- // Although you can increase these limits by filing a case at AWS Support Center
- // (https://console.aws.amazon.com/support/home#/), obtaining the increase is
- // not instantaneous. The DescribeLimits action lets you write code to compare
- // the capacity you are currently using to those limits imposed by your account
- // so that you have enough time to apply for an increase before you hit a limit.
- //
- // For example, you could use one of the AWS SDKs to do the following:
- //
- // Call DescribeLimits for a particular region to obtain your current account
- // limits on provisioned capacity there.
- //
- // Create a variable to hold the aggregate read capacity units provisioned for
- // all your tables in that region, and one to hold the aggregate write capacity
- // units. Zero them both.
- //
- // Call ListTables to obtain a list of all your DynamoDB tables.
- //
- // For each table name listed by ListTables, do the following:
- //
- // Call DescribeTable with the table name.
- //
- // Use the data returned by DescribeTable to add the read capacity units and
- // write capacity units provisioned for the table itself to your variables.
- //
- // If the table has one or more global secondary indexes (GSIs), loop over these
- // GSIs and add their provisioned capacity values to your variables as well.
- //
- // Report the account limits for that region returned by DescribeLimits, along
- // with the total current provisioned capacity levels you have calculated.
- //
- // This will let you see whether you are getting close to your account-level
- // limits.
- //
- // The per-table limits apply only when you are creating a new table. They restrict
- // the sum of the provisioned capacity of the new table itself and all its global
- // secondary indexes.
- //
- // For existing tables and their GSIs, DynamoDB will not let you increase provisioned
- // capacity extremely rapidly, but the only upper limit that applies is that
- // the aggregate provisioned capacity over all your tables and GSIs cannot exceed
- // either of the per-account limits.
- //
- // DescribeLimits should only be called periodically. You can expect throttling
- // errors if you call it more than once in a minute.
- //
- // The DescribeLimits Request element has no content.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation DescribeLimits for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeLimits
- func (c *DynamoDB) DescribeLimits(input *DescribeLimitsInput) (*DescribeLimitsOutput, error) {
- req, out := c.DescribeLimitsRequest(input)
- return out, req.Send()
- }
- // DescribeLimitsWithContext is the same as DescribeLimits with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeLimits for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) DescribeLimitsWithContext(ctx aws.Context, input *DescribeLimitsInput, opts ...request.Option) (*DescribeLimitsOutput, error) {
- req, out := c.DescribeLimitsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeTable = "DescribeTable"
- // DescribeTableRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeTable operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DescribeTable for more information on using the DescribeTable
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DescribeTableRequest method.
- // req, resp := client.DescribeTableRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeTable
- func (c *DynamoDB) DescribeTableRequest(input *DescribeTableInput) (req *request.Request, output *DescribeTableOutput) {
- op := &request.Operation{
- Name: opDescribeTable,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeTableInput{}
- }
- output = &DescribeTableOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // DescribeTable API operation for Amazon DynamoDB.
- //
- // Returns information about the table, including the current status of the
- // table, when it was created, the primary key schema, and any indexes on the
- // table.
- //
- // If you issue a DescribeTable request immediately after a CreateTable request,
- // DynamoDB might return a ResourceNotFoundException. This is because DescribeTable
- // uses an eventually consistent query, and the metadata for your table might
- // not be available at that moment. Wait for a few seconds, and then try the
- // DescribeTable request again.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation DescribeTable for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
- // The operation tried to access a nonexistent table or index. The resource
- // might not be specified correctly, or its status might not be ACTIVE.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeTable
- func (c *DynamoDB) DescribeTable(input *DescribeTableInput) (*DescribeTableOutput, error) {
- req, out := c.DescribeTableRequest(input)
- return out, req.Send()
- }
- // DescribeTableWithContext is the same as DescribeTable with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeTable for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) DescribeTableWithContext(ctx aws.Context, input *DescribeTableInput, opts ...request.Option) (*DescribeTableOutput, error) {
- req, out := c.DescribeTableRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeTimeToLive = "DescribeTimeToLive"
- // DescribeTimeToLiveRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeTimeToLive operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See DescribeTimeToLive for more information on using the DescribeTimeToLive
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the DescribeTimeToLiveRequest method.
- // req, resp := client.DescribeTimeToLiveRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeTimeToLive
- func (c *DynamoDB) DescribeTimeToLiveRequest(input *DescribeTimeToLiveInput) (req *request.Request, output *DescribeTimeToLiveOutput) {
- op := &request.Operation{
- Name: opDescribeTimeToLive,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeTimeToLiveInput{}
- }
- output = &DescribeTimeToLiveOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // DescribeTimeToLive API operation for Amazon DynamoDB.
- //
- // Gives a description of the Time to Live (TTL) status on the specified table.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation DescribeTimeToLive for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
- // The operation tried to access a nonexistent table or index. The resource
- // might not be specified correctly, or its status might not be ACTIVE.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeTimeToLive
- func (c *DynamoDB) DescribeTimeToLive(input *DescribeTimeToLiveInput) (*DescribeTimeToLiveOutput, error) {
- req, out := c.DescribeTimeToLiveRequest(input)
- return out, req.Send()
- }
- // DescribeTimeToLiveWithContext is the same as DescribeTimeToLive with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeTimeToLive for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) DescribeTimeToLiveWithContext(ctx aws.Context, input *DescribeTimeToLiveInput, opts ...request.Option) (*DescribeTimeToLiveOutput, error) {
- req, out := c.DescribeTimeToLiveRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opGetItem = "GetItem"
- // GetItemRequest generates a "aws/request.Request" representing the
- // client's request for the GetItem operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See GetItem for more information on using the GetItem
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the GetItemRequest method.
- // req, resp := client.GetItemRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GetItem
- func (c *DynamoDB) GetItemRequest(input *GetItemInput) (req *request.Request, output *GetItemOutput) {
- op := &request.Operation{
- Name: opGetItem,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &GetItemInput{}
- }
- output = &GetItemOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // GetItem API operation for Amazon DynamoDB.
- //
- // The GetItem operation returns a set of attributes for the item with the given
- // primary key. If there is no matching item, GetItem does not return any data
- // and there will be no Item element in the response.
- //
- // GetItem provides an eventually consistent read by default. If your application
- // requires a strongly consistent read, set ConsistentRead to true. Although
- // a strongly consistent read might take more time than an eventually consistent
- // read, it always returns the last updated value.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation GetItem for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
- // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry
- // requests that receive this exception. Your request is eventually successful,
- // unless your retry queue is too large to finish. Reduce the frequency of requests
- // and use exponential backoff. For more information, go to Error Retries and
- // Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff)
- // in the Amazon DynamoDB Developer Guide.
- //
- // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
- // The operation tried to access a nonexistent table or index. The resource
- // might not be specified correctly, or its status might not be ACTIVE.
- //
- // * ErrCodeRequestLimitExceeded "RequestLimitExceeded"
- // Throughput exceeds the current throughput limit for your account. Please
- // contact AWS Support at AWS Support (http://docs.aws.amazon.com/https:/aws.amazon.com/support)
- // to request a limit increase.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/GetItem
- func (c *DynamoDB) GetItem(input *GetItemInput) (*GetItemOutput, error) {
- req, out := c.GetItemRequest(input)
- return out, req.Send()
- }
- // GetItemWithContext is the same as GetItem with the addition of
- // the ability to pass a context and additional request options.
- //
- // See GetItem for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) GetItemWithContext(ctx aws.Context, input *GetItemInput, opts ...request.Option) (*GetItemOutput, error) {
- req, out := c.GetItemRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opListBackups = "ListBackups"
- // ListBackupsRequest generates a "aws/request.Request" representing the
- // client's request for the ListBackups operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See ListBackups for more information on using the ListBackups
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the ListBackupsRequest method.
- // req, resp := client.ListBackupsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListBackups
- func (c *DynamoDB) ListBackupsRequest(input *ListBackupsInput) (req *request.Request, output *ListBackupsOutput) {
- op := &request.Operation{
- Name: opListBackups,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &ListBackupsInput{}
- }
- output = &ListBackupsOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // ListBackups API operation for Amazon DynamoDB.
- //
- // List backups associated with an AWS account. To list backups for a given
- // table, specify TableName. ListBackups returns a paginated list of results
- // with at most 1MB worth of items in a page. You can also specify a limit for
- // the maximum number of entries to be returned in a page.
- //
- // In the request, start time is inclusive but end time is exclusive. Note that
- // these limits are for the time at which the original backup was requested.
- //
- // You can call ListBackups a maximum of 5 times per second.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation ListBackups for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListBackups
- func (c *DynamoDB) ListBackups(input *ListBackupsInput) (*ListBackupsOutput, error) {
- req, out := c.ListBackupsRequest(input)
- return out, req.Send()
- }
- // ListBackupsWithContext is the same as ListBackups with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListBackups for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) ListBackupsWithContext(ctx aws.Context, input *ListBackupsInput, opts ...request.Option) (*ListBackupsOutput, error) {
- req, out := c.ListBackupsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opListGlobalTables = "ListGlobalTables"
- // ListGlobalTablesRequest generates a "aws/request.Request" representing the
- // client's request for the ListGlobalTables operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See ListGlobalTables for more information on using the ListGlobalTables
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the ListGlobalTablesRequest method.
- // req, resp := client.ListGlobalTablesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListGlobalTables
- func (c *DynamoDB) ListGlobalTablesRequest(input *ListGlobalTablesInput) (req *request.Request, output *ListGlobalTablesOutput) {
- op := &request.Operation{
- Name: opListGlobalTables,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &ListGlobalTablesInput{}
- }
- output = &ListGlobalTablesOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // ListGlobalTables API operation for Amazon DynamoDB.
- //
- // Lists all global tables that have a replica in the specified region.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation ListGlobalTables for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListGlobalTables
- func (c *DynamoDB) ListGlobalTables(input *ListGlobalTablesInput) (*ListGlobalTablesOutput, error) {
- req, out := c.ListGlobalTablesRequest(input)
- return out, req.Send()
- }
- // ListGlobalTablesWithContext is the same as ListGlobalTables with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListGlobalTables for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) ListGlobalTablesWithContext(ctx aws.Context, input *ListGlobalTablesInput, opts ...request.Option) (*ListGlobalTablesOutput, error) {
- req, out := c.ListGlobalTablesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opListTables = "ListTables"
- // ListTablesRequest generates a "aws/request.Request" representing the
- // client's request for the ListTables operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See ListTables for more information on using the ListTables
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the ListTablesRequest method.
- // req, resp := client.ListTablesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListTables
- func (c *DynamoDB) ListTablesRequest(input *ListTablesInput) (req *request.Request, output *ListTablesOutput) {
- op := &request.Operation{
- Name: opListTables,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"ExclusiveStartTableName"},
- OutputTokens: []string{"LastEvaluatedTableName"},
- LimitToken: "Limit",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListTablesInput{}
- }
- output = &ListTablesOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // ListTables API operation for Amazon DynamoDB.
- //
- // Returns an array of table names associated with the current account and endpoint.
- // The output from ListTables is paginated, with each page returning a maximum
- // of 100 table names.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation ListTables for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListTables
- func (c *DynamoDB) ListTables(input *ListTablesInput) (*ListTablesOutput, error) {
- req, out := c.ListTablesRequest(input)
- return out, req.Send()
- }
- // ListTablesWithContext is the same as ListTables with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListTables for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) ListTablesWithContext(ctx aws.Context, input *ListTablesInput, opts ...request.Option) (*ListTablesOutput, error) {
- req, out := c.ListTablesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // ListTablesPages iterates over the pages of a ListTables operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListTables method for more information on how to use this operation.
- //
- // Note: This operation can generate multiple requests to a service.
- //
- // // Example iterating over at most 3 pages of a ListTables operation.
- // pageNum := 0
- // err := client.ListTablesPages(params,
- // func(page *ListTablesOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- //
- func (c *DynamoDB) ListTablesPages(input *ListTablesInput, fn func(*ListTablesOutput, bool) bool) error {
- return c.ListTablesPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // ListTablesPagesWithContext same as ListTablesPages except
- // it takes a Context and allows setting request options on the pages.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) ListTablesPagesWithContext(ctx aws.Context, input *ListTablesInput, fn func(*ListTablesOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListTablesInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListTablesRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- cont := true
- for p.Next() && cont {
- cont = fn(p.Page().(*ListTablesOutput), !p.HasNextPage())
- }
- return p.Err()
- }
- const opListTagsOfResource = "ListTagsOfResource"
- // ListTagsOfResourceRequest generates a "aws/request.Request" representing the
- // client's request for the ListTagsOfResource operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See ListTagsOfResource for more information on using the ListTagsOfResource
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the ListTagsOfResourceRequest method.
- // req, resp := client.ListTagsOfResourceRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListTagsOfResource
- func (c *DynamoDB) ListTagsOfResourceRequest(input *ListTagsOfResourceInput) (req *request.Request, output *ListTagsOfResourceOutput) {
- op := &request.Operation{
- Name: opListTagsOfResource,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &ListTagsOfResourceInput{}
- }
- output = &ListTagsOfResourceOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // ListTagsOfResource API operation for Amazon DynamoDB.
- //
- // List all tags on an Amazon DynamoDB resource. You can call ListTagsOfResource
- // up to 10 times per second, per account.
- //
- // For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html)
- // in the Amazon DynamoDB Developer Guide.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation ListTagsOfResource for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
- // The operation tried to access a nonexistent table or index. The resource
- // might not be specified correctly, or its status might not be ACTIVE.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListTagsOfResource
- func (c *DynamoDB) ListTagsOfResource(input *ListTagsOfResourceInput) (*ListTagsOfResourceOutput, error) {
- req, out := c.ListTagsOfResourceRequest(input)
- return out, req.Send()
- }
- // ListTagsOfResourceWithContext is the same as ListTagsOfResource with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListTagsOfResource for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) ListTagsOfResourceWithContext(ctx aws.Context, input *ListTagsOfResourceInput, opts ...request.Option) (*ListTagsOfResourceOutput, error) {
- req, out := c.ListTagsOfResourceRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opPutItem = "PutItem"
- // PutItemRequest generates a "aws/request.Request" representing the
- // client's request for the PutItem operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See PutItem for more information on using the PutItem
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the PutItemRequest method.
- // req, resp := client.PutItemRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/PutItem
- func (c *DynamoDB) PutItemRequest(input *PutItemInput) (req *request.Request, output *PutItemOutput) {
- op := &request.Operation{
- Name: opPutItem,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &PutItemInput{}
- }
- output = &PutItemOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // PutItem API operation for Amazon DynamoDB.
- //
- // Creates a new item, or replaces an old item with a new item. If an item that
- // has the same primary key as the new item already exists in the specified
- // table, the new item completely replaces the existing item. You can perform
- // a conditional put operation (add a new item if one with the specified primary
- // key doesn't exist), or replace an existing item if it has certain attribute
- // values. You can return the item's attribute values in the same operation,
- // using the ReturnValues parameter.
- //
- // This topic provides general information about the PutItem API.
- //
- // For information on how to call the PutItem API using the AWS SDK in specific
- // languages, see the following:
- //
- // PutItem in the AWS Command Line Interface (http://docs.aws.amazon.com/goto/aws-cli/dynamodb-2012-08-10/PutItem)
- //
- // PutItem in the AWS SDK for .NET (http://docs.aws.amazon.com/goto/DotNetSDKV3/dynamodb-2012-08-10/PutItem)
- //
- // PutItem in the AWS SDK for C++ (http://docs.aws.amazon.com/goto/SdkForCpp/dynamodb-2012-08-10/PutItem)
- //
- // PutItem in the AWS SDK for Go (http://docs.aws.amazon.com/goto/SdkForGoV1/dynamodb-2012-08-10/PutItem)
- //
- // PutItem in the AWS SDK for Java (http://docs.aws.amazon.com/goto/SdkForJava/dynamodb-2012-08-10/PutItem)
- //
- // PutItem in the AWS SDK for JavaScript (http://docs.aws.amazon.com/goto/AWSJavaScriptSDK/dynamodb-2012-08-10/PutItem)
- //
- // PutItem in the AWS SDK for PHP V3 (http://docs.aws.amazon.com/goto/SdkForPHPV3/dynamodb-2012-08-10/PutItem)
- //
- // PutItem in the AWS SDK for Python (http://docs.aws.amazon.com/goto/boto3/dynamodb-2012-08-10/PutItem)
- //
- // PutItem in the AWS SDK for Ruby V2 (http://docs.aws.amazon.com/goto/SdkForRubyV2/dynamodb-2012-08-10/PutItem)
- //
- // When you add an item, the primary key attribute(s) are the only required
- // attributes. Attribute values cannot be null. String and Binary type attributes
- // must have lengths greater than zero. Set type attributes cannot be empty.
- // Requests with empty values will be rejected with a ValidationException exception.
- //
- // To prevent a new item from replacing an existing item, use a conditional
- // expression that contains the attribute_not_exists function with the name
- // of the attribute being used as the partition key for the table. Since every
- // record must contain that attribute, the attribute_not_exists function will
- // only succeed if no matching item exists.
- //
- // For more information about PutItem, see Working with Items (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithItems.html)
- // in the Amazon DynamoDB Developer Guide.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation PutItem for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeConditionalCheckFailedException "ConditionalCheckFailedException"
- // A condition specified in the operation could not be evaluated.
- //
- // * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
- // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry
- // requests that receive this exception. Your request is eventually successful,
- // unless your retry queue is too large to finish. Reduce the frequency of requests
- // and use exponential backoff. For more information, go to Error Retries and
- // Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff)
- // in the Amazon DynamoDB Developer Guide.
- //
- // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
- // The operation tried to access a nonexistent table or index. The resource
- // might not be specified correctly, or its status might not be ACTIVE.
- //
- // * ErrCodeItemCollectionSizeLimitExceededException "ItemCollectionSizeLimitExceededException"
- // An item collection is too large. This exception is only returned for tables
- // that have one or more local secondary indexes.
- //
- // * ErrCodeTransactionConflictException "TransactionConflictException"
- // Operation was rejected because there is an ongoing transaction for the item.
- //
- // * ErrCodeRequestLimitExceeded "RequestLimitExceeded"
- // Throughput exceeds the current throughput limit for your account. Please
- // contact AWS Support at AWS Support (http://docs.aws.amazon.com/https:/aws.amazon.com/support)
- // to request a limit increase.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/PutItem
- func (c *DynamoDB) PutItem(input *PutItemInput) (*PutItemOutput, error) {
- req, out := c.PutItemRequest(input)
- return out, req.Send()
- }
- // PutItemWithContext is the same as PutItem with the addition of
- // the ability to pass a context and additional request options.
- //
- // See PutItem for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) PutItemWithContext(ctx aws.Context, input *PutItemInput, opts ...request.Option) (*PutItemOutput, error) {
- req, out := c.PutItemRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opQuery = "Query"
- // QueryRequest generates a "aws/request.Request" representing the
- // client's request for the Query operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See Query for more information on using the Query
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the QueryRequest method.
- // req, resp := client.QueryRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Query
- func (c *DynamoDB) QueryRequest(input *QueryInput) (req *request.Request, output *QueryOutput) {
- op := &request.Operation{
- Name: opQuery,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"ExclusiveStartKey"},
- OutputTokens: []string{"LastEvaluatedKey"},
- LimitToken: "Limit",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &QueryInput{}
- }
- output = &QueryOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // Query API operation for Amazon DynamoDB.
- //
- // The Query operation finds items based on primary key values. You can query
- // any table or secondary index that has a composite primary key (a partition
- // key and a sort key).
- //
- // Use the KeyConditionExpression parameter to provide a specific value for
- // the partition key. The Query operation will return all of the items from
- // the table or index with that partition key value. You can optionally narrow
- // the scope of the Query operation by specifying a sort key value and a comparison
- // operator in KeyConditionExpression. To further refine the Query results,
- // you can optionally provide a FilterExpression. A FilterExpression determines
- // which items within the results should be returned to you. All of the other
- // results are discarded.
- //
- // A Query operation always returns a result set. If no matching items are found,
- // the result set will be empty. Queries that do not return results consume
- // the minimum number of read capacity units for that type of read operation.
- //
- // DynamoDB calculates the number of read capacity units consumed based on item
- // size, not on the amount of data that is returned to an application. The number
- // of capacity units consumed will be the same whether you request all of the
- // attributes (the default behavior) or just some of them (using a projection
- // expression). The number will also be the same whether or not you use a FilterExpression.
- //
- // Query results are always sorted by the sort key value. If the data type of
- // the sort key is Number, the results are returned in numeric order; otherwise,
- // the results are returned in order of UTF-8 bytes. By default, the sort order
- // is ascending. To reverse the order, set the ScanIndexForward parameter to
- // false.
- //
- // A single Query operation will read up to the maximum number of items set
- // (if using the Limit parameter) or a maximum of 1 MB of data and then apply
- // any filtering to the results using FilterExpression. If LastEvaluatedKey
- // is present in the response, you will need to paginate the result set. For
- // more information, see Paginating the Results (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html#Query.Pagination)
- // in the Amazon DynamoDB Developer Guide.
- //
- // FilterExpression is applied after a Query finishes, but before the results
- // are returned. A FilterExpression cannot contain partition key or sort key
- // attributes. You need to specify those attributes in the KeyConditionExpression.
- //
- // A Query operation can return an empty result set and a LastEvaluatedKey if
- // all the items read for the page of results are filtered out.
- //
- // You can query a table, a local secondary index, or a global secondary index.
- // For a query on a table or on a local secondary index, you can set the ConsistentRead
- // parameter to true and obtain a strongly consistent result. Global secondary
- // indexes support eventually consistent reads only, so do not specify ConsistentRead
- // when querying a global secondary index.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation Query for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
- // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry
- // requests that receive this exception. Your request is eventually successful,
- // unless your retry queue is too large to finish. Reduce the frequency of requests
- // and use exponential backoff. For more information, go to Error Retries and
- // Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff)
- // in the Amazon DynamoDB Developer Guide.
- //
- // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
- // The operation tried to access a nonexistent table or index. The resource
- // might not be specified correctly, or its status might not be ACTIVE.
- //
- // * ErrCodeRequestLimitExceeded "RequestLimitExceeded"
- // Throughput exceeds the current throughput limit for your account. Please
- // contact AWS Support at AWS Support (http://docs.aws.amazon.com/https:/aws.amazon.com/support)
- // to request a limit increase.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Query
- func (c *DynamoDB) Query(input *QueryInput) (*QueryOutput, error) {
- req, out := c.QueryRequest(input)
- return out, req.Send()
- }
- // QueryWithContext is the same as Query with the addition of
- // the ability to pass a context and additional request options.
- //
- // See Query for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) QueryWithContext(ctx aws.Context, input *QueryInput, opts ...request.Option) (*QueryOutput, error) {
- req, out := c.QueryRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // QueryPages iterates over the pages of a Query operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See Query method for more information on how to use this operation.
- //
- // Note: This operation can generate multiple requests to a service.
- //
- // // Example iterating over at most 3 pages of a Query operation.
- // pageNum := 0
- // err := client.QueryPages(params,
- // func(page *QueryOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- //
- func (c *DynamoDB) QueryPages(input *QueryInput, fn func(*QueryOutput, bool) bool) error {
- return c.QueryPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // QueryPagesWithContext same as QueryPages except
- // it takes a Context and allows setting request options on the pages.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) QueryPagesWithContext(ctx aws.Context, input *QueryInput, fn func(*QueryOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *QueryInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.QueryRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- cont := true
- for p.Next() && cont {
- cont = fn(p.Page().(*QueryOutput), !p.HasNextPage())
- }
- return p.Err()
- }
- const opRestoreTableFromBackup = "RestoreTableFromBackup"
- // RestoreTableFromBackupRequest generates a "aws/request.Request" representing the
- // client's request for the RestoreTableFromBackup operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See RestoreTableFromBackup for more information on using the RestoreTableFromBackup
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the RestoreTableFromBackupRequest method.
- // req, resp := client.RestoreTableFromBackupRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableFromBackup
- func (c *DynamoDB) RestoreTableFromBackupRequest(input *RestoreTableFromBackupInput) (req *request.Request, output *RestoreTableFromBackupOutput) {
- op := &request.Operation{
- Name: opRestoreTableFromBackup,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &RestoreTableFromBackupInput{}
- }
- output = &RestoreTableFromBackupOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // RestoreTableFromBackup API operation for Amazon DynamoDB.
- //
- // Creates a new table from an existing backup. Any number of users can execute
- // up to 4 concurrent restores (any type of restore) in a given account.
- //
- // You can call RestoreTableFromBackup at a maximum rate of 10 times per second.
- //
- // You must manually set up the following on the restored table:
- //
- // * Auto scaling policies
- //
- // * IAM policies
- //
- // * Cloudwatch metrics and alarms
- //
- // * Tags
- //
- // * Stream settings
- //
- // * Time to Live (TTL) settings
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation RestoreTableFromBackup for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeTableAlreadyExistsException "TableAlreadyExistsException"
- // A target table with the specified name already exists.
- //
- // * ErrCodeTableInUseException "TableInUseException"
- // A target table with the specified name is either being created or deleted.
- //
- // * ErrCodeBackupNotFoundException "BackupNotFoundException"
- // Backup not found for the given BackupARN.
- //
- // * ErrCodeBackupInUseException "BackupInUseException"
- // There is another ongoing conflicting backup control plane operation on the
- // table. The backup is either being created, deleted or restored to a table.
- //
- // * ErrCodeLimitExceededException "LimitExceededException"
- // There is no limit to the number of daily on-demand backups that can be taken.
- //
- // Up to 10 simultaneous table operations are allowed per account. These operations
- // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup,
- // and RestoreTableToPointInTime.
- //
- // For tables with secondary indexes, only one of those tables can be in the
- // CREATING state at any point in time. Do not attempt to create more than one
- // such table simultaneously.
- //
- // The total limit of tables in the ACTIVE state is 250.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableFromBackup
- func (c *DynamoDB) RestoreTableFromBackup(input *RestoreTableFromBackupInput) (*RestoreTableFromBackupOutput, error) {
- req, out := c.RestoreTableFromBackupRequest(input)
- return out, req.Send()
- }
- // RestoreTableFromBackupWithContext is the same as RestoreTableFromBackup with the addition of
- // the ability to pass a context and additional request options.
- //
- // See RestoreTableFromBackup for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) RestoreTableFromBackupWithContext(ctx aws.Context, input *RestoreTableFromBackupInput, opts ...request.Option) (*RestoreTableFromBackupOutput, error) {
- req, out := c.RestoreTableFromBackupRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opRestoreTableToPointInTime = "RestoreTableToPointInTime"
- // RestoreTableToPointInTimeRequest generates a "aws/request.Request" representing the
- // client's request for the RestoreTableToPointInTime operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See RestoreTableToPointInTime for more information on using the RestoreTableToPointInTime
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the RestoreTableToPointInTimeRequest method.
- // req, resp := client.RestoreTableToPointInTimeRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableToPointInTime
- func (c *DynamoDB) RestoreTableToPointInTimeRequest(input *RestoreTableToPointInTimeInput) (req *request.Request, output *RestoreTableToPointInTimeOutput) {
- op := &request.Operation{
- Name: opRestoreTableToPointInTime,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &RestoreTableToPointInTimeInput{}
- }
- output = &RestoreTableToPointInTimeOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // RestoreTableToPointInTime API operation for Amazon DynamoDB.
- //
- // Restores the specified table to the specified point in time within EarliestRestorableDateTime
- // and LatestRestorableDateTime. You can restore your table to any point in
- // time during the last 35 days. Any number of users can execute up to 4 concurrent
- // restores (any type of restore) in a given account.
- //
- // When you restore using point in time recovery, DynamoDB restores your table
- // data to the state based on the selected date and time (day:hour:minute:second)
- // to a new table.
- //
- // Along with data, the following are also included on the new restored table
- // using point in time recovery:
- //
- // * Global secondary indexes (GSIs)
- //
- // * Local secondary indexes (LSIs)
- //
- // * Provisioned read and write capacity
- //
- // * Encryption settings
- //
- // All these settings come from the current settings of the source table at
- // the time of restore.
- //
- // You must manually set up the following on the restored table:
- //
- // * Auto scaling policies
- //
- // * IAM policies
- //
- // * Cloudwatch metrics and alarms
- //
- // * Tags
- //
- // * Stream settings
- //
- // * Time to Live (TTL) settings
- //
- // * Point in time recovery settings
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation RestoreTableToPointInTime for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeTableAlreadyExistsException "TableAlreadyExistsException"
- // A target table with the specified name already exists.
- //
- // * ErrCodeTableNotFoundException "TableNotFoundException"
- // A source table with the name TableName does not currently exist within the
- // subscriber's account.
- //
- // * ErrCodeTableInUseException "TableInUseException"
- // A target table with the specified name is either being created or deleted.
- //
- // * ErrCodeLimitExceededException "LimitExceededException"
- // There is no limit to the number of daily on-demand backups that can be taken.
- //
- // Up to 10 simultaneous table operations are allowed per account. These operations
- // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup,
- // and RestoreTableToPointInTime.
- //
- // For tables with secondary indexes, only one of those tables can be in the
- // CREATING state at any point in time. Do not attempt to create more than one
- // such table simultaneously.
- //
- // The total limit of tables in the ACTIVE state is 250.
- //
- // * ErrCodeInvalidRestoreTimeException "InvalidRestoreTimeException"
- // An invalid restore time was specified. RestoreDateTime must be between EarliestRestorableDateTime
- // and LatestRestorableDateTime.
- //
- // * ErrCodePointInTimeRecoveryUnavailableException "PointInTimeRecoveryUnavailableException"
- // Point in time recovery has not yet been enabled for this source table.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/RestoreTableToPointInTime
- func (c *DynamoDB) RestoreTableToPointInTime(input *RestoreTableToPointInTimeInput) (*RestoreTableToPointInTimeOutput, error) {
- req, out := c.RestoreTableToPointInTimeRequest(input)
- return out, req.Send()
- }
- // RestoreTableToPointInTimeWithContext is the same as RestoreTableToPointInTime with the addition of
- // the ability to pass a context and additional request options.
- //
- // See RestoreTableToPointInTime for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) RestoreTableToPointInTimeWithContext(ctx aws.Context, input *RestoreTableToPointInTimeInput, opts ...request.Option) (*RestoreTableToPointInTimeOutput, error) {
- req, out := c.RestoreTableToPointInTimeRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opScan = "Scan"
- // ScanRequest generates a "aws/request.Request" representing the
- // client's request for the Scan operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See Scan for more information on using the Scan
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the ScanRequest method.
- // req, resp := client.ScanRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Scan
- func (c *DynamoDB) ScanRequest(input *ScanInput) (req *request.Request, output *ScanOutput) {
- op := &request.Operation{
- Name: opScan,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"ExclusiveStartKey"},
- OutputTokens: []string{"LastEvaluatedKey"},
- LimitToken: "Limit",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ScanInput{}
- }
- output = &ScanOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // Scan API operation for Amazon DynamoDB.
- //
- // The Scan operation returns one or more items and item attributes by accessing
- // every item in a table or a secondary index. To have DynamoDB return fewer
- // items, you can provide a FilterExpression operation.
- //
- // If the total number of scanned items exceeds the maximum data set size limit
- // of 1 MB, the scan stops and results are returned to the user as a LastEvaluatedKey
- // value to continue the scan in a subsequent operation. The results also include
- // the number of items exceeding the limit. A scan can result in no table data
- // meeting the filter criteria.
- //
- // A single Scan operation will read up to the maximum number of items set (if
- // using the Limit parameter) or a maximum of 1 MB of data and then apply any
- // filtering to the results using FilterExpression. If LastEvaluatedKey is present
- // in the response, you will need to paginate the result set. For more information,
- // see Paginating the Results (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.Pagination)
- // in the Amazon DynamoDB Developer Guide.
- //
- // Scan operations proceed sequentially; however, for faster performance on
- // a large table or secondary index, applications can request a parallel Scan
- // operation by providing the Segment and TotalSegments parameters. For more
- // information, see Parallel Scan (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.ParallelScan)
- // in the Amazon DynamoDB Developer Guide.
- //
- // Scan uses eventually consistent reads when accessing the data in a table;
- // therefore, the result set might not include the changes to data in the table
- // immediately before the operation began. If you need a consistent copy of
- // the data, as of the time that the Scan begins, you can set the ConsistentRead
- // parameter to true.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation Scan for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
- // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry
- // requests that receive this exception. Your request is eventually successful,
- // unless your retry queue is too large to finish. Reduce the frequency of requests
- // and use exponential backoff. For more information, go to Error Retries and
- // Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff)
- // in the Amazon DynamoDB Developer Guide.
- //
- // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
- // The operation tried to access a nonexistent table or index. The resource
- // might not be specified correctly, or its status might not be ACTIVE.
- //
- // * ErrCodeRequestLimitExceeded "RequestLimitExceeded"
- // Throughput exceeds the current throughput limit for your account. Please
- // contact AWS Support at AWS Support (http://docs.aws.amazon.com/https:/aws.amazon.com/support)
- // to request a limit increase.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/Scan
- func (c *DynamoDB) Scan(input *ScanInput) (*ScanOutput, error) {
- req, out := c.ScanRequest(input)
- return out, req.Send()
- }
- // ScanWithContext is the same as Scan with the addition of
- // the ability to pass a context and additional request options.
- //
- // See Scan for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) ScanWithContext(ctx aws.Context, input *ScanInput, opts ...request.Option) (*ScanOutput, error) {
- req, out := c.ScanRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // ScanPages iterates over the pages of a Scan operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See Scan method for more information on how to use this operation.
- //
- // Note: This operation can generate multiple requests to a service.
- //
- // // Example iterating over at most 3 pages of a Scan operation.
- // pageNum := 0
- // err := client.ScanPages(params,
- // func(page *ScanOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- //
- func (c *DynamoDB) ScanPages(input *ScanInput, fn func(*ScanOutput, bool) bool) error {
- return c.ScanPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // ScanPagesWithContext same as ScanPages except
- // it takes a Context and allows setting request options on the pages.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) ScanPagesWithContext(ctx aws.Context, input *ScanInput, fn func(*ScanOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ScanInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ScanRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- cont := true
- for p.Next() && cont {
- cont = fn(p.Page().(*ScanOutput), !p.HasNextPage())
- }
- return p.Err()
- }
- const opTagResource = "TagResource"
- // TagResourceRequest generates a "aws/request.Request" representing the
- // client's request for the TagResource operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See TagResource for more information on using the TagResource
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the TagResourceRequest method.
- // req, resp := client.TagResourceRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TagResource
- func (c *DynamoDB) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
- op := &request.Operation{
- Name: opTagResource,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &TagResourceInput{}
- }
- output = &TagResourceOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // TagResource API operation for Amazon DynamoDB.
- //
- // Associate a set of tags with an Amazon DynamoDB resource. You can then activate
- // these user-defined tags so that they appear on the Billing and Cost Management
- // console for cost allocation tracking. You can call TagResource up to 5 times
- // per second, per account.
- //
- // For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html)
- // in the Amazon DynamoDB Developer Guide.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation TagResource for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeLimitExceededException "LimitExceededException"
- // There is no limit to the number of daily on-demand backups that can be taken.
- //
- // Up to 10 simultaneous table operations are allowed per account. These operations
- // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup,
- // and RestoreTableToPointInTime.
- //
- // For tables with secondary indexes, only one of those tables can be in the
- // CREATING state at any point in time. Do not attempt to create more than one
- // such table simultaneously.
- //
- // The total limit of tables in the ACTIVE state is 250.
- //
- // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
- // The operation tried to access a nonexistent table or index. The resource
- // might not be specified correctly, or its status might not be ACTIVE.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // * ErrCodeResourceInUseException "ResourceInUseException"
- // The operation conflicts with the resource's availability. For example, you
- // attempted to recreate an existing table, or tried to delete a table currently
- // in the CREATING state.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TagResource
- func (c *DynamoDB) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
- req, out := c.TagResourceRequest(input)
- return out, req.Send()
- }
- // TagResourceWithContext is the same as TagResource with the addition of
- // the ability to pass a context and additional request options.
- //
- // See TagResource for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
- req, out := c.TagResourceRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opTransactGetItems = "TransactGetItems"
- // TransactGetItemsRequest generates a "aws/request.Request" representing the
- // client's request for the TransactGetItems operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See TransactGetItems for more information on using the TransactGetItems
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the TransactGetItemsRequest method.
- // req, resp := client.TransactGetItemsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactGetItems
- func (c *DynamoDB) TransactGetItemsRequest(input *TransactGetItemsInput) (req *request.Request, output *TransactGetItemsOutput) {
- op := &request.Operation{
- Name: opTransactGetItems,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &TransactGetItemsInput{}
- }
- output = &TransactGetItemsOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // TransactGetItems API operation for Amazon DynamoDB.
- //
- // TransactGetItems is a synchronous operation that atomically retrieves multiple
- // items from one or more tables (but not from indexes) in a single account
- // and region. A TransactGetItems call can contain up to 10 TransactGetItem
- // objects, each of which contains a Get structure that specifies an item to
- // retrieve from a table in the account and region. A call to TransactGetItems
- // cannot retrieve items from tables in more than one AWS account or region.
- //
- // DynamoDB rejects the entire TransactGetItems request if any of the following
- // is true:
- //
- // * A conflicting operation is in the process of updating an item to be
- // read.
- //
- // * There is insufficient provisioned capacity for the transaction to be
- // completed.
- //
- // * There is a user error, such as an invalid data format.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation TransactGetItems for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
- // The operation tried to access a nonexistent table or index. The resource
- // might not be specified correctly, or its status might not be ACTIVE.
- //
- // * ErrCodeTransactionCanceledException "TransactionCanceledException"
- // The entire transaction request was rejected.
- //
- // DynamoDB rejects a TransactWriteItems request under the following circumstances:
- //
- // * A condition in one of the condition expressions is not met.
- //
- // * A table in the TransactWriteItems request is in a different account
- // or region.
- //
- // * More than one action in the TransactWriteItems operation targets the
- // same item.
- //
- // * There is insufficient provisioned capacity for the transaction to be
- // completed.
- //
- // * An item size becomes too large (larger than 400 KB), or a local secondary
- // index (LSI) becomes too large, or a similar validation error occurs because
- // of changes made by the transaction.
- //
- // * There is a user error, such as an invalid data format.
- //
- // DynamoDB rejects a TransactGetItems request under the following circumstances:
- //
- // * There is an ongoing TransactGetItems operation that conflicts with a
- // concurrent PutItem, UpdateItem, DeleteItem or TransactWriteItems request.
- // In this case the TransactGetItems operation fails with a TransactionCanceledException.
- //
- // * A table in the TransactGetItems request is in a different account or
- // region.
- //
- // * There is insufficient provisioned capacity for the transaction to be
- // completed.
- //
- // * There is a user error, such as an invalid data format.
- //
- // * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
- // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry
- // requests that receive this exception. Your request is eventually successful,
- // unless your retry queue is too large to finish. Reduce the frequency of requests
- // and use exponential backoff. For more information, go to Error Retries and
- // Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff)
- // in the Amazon DynamoDB Developer Guide.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactGetItems
- func (c *DynamoDB) TransactGetItems(input *TransactGetItemsInput) (*TransactGetItemsOutput, error) {
- req, out := c.TransactGetItemsRequest(input)
- return out, req.Send()
- }
- // TransactGetItemsWithContext is the same as TransactGetItems with the addition of
- // the ability to pass a context and additional request options.
- //
- // See TransactGetItems for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) TransactGetItemsWithContext(ctx aws.Context, input *TransactGetItemsInput, opts ...request.Option) (*TransactGetItemsOutput, error) {
- req, out := c.TransactGetItemsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opTransactWriteItems = "TransactWriteItems"
- // TransactWriteItemsRequest generates a "aws/request.Request" representing the
- // client's request for the TransactWriteItems operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See TransactWriteItems for more information on using the TransactWriteItems
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the TransactWriteItemsRequest method.
- // req, resp := client.TransactWriteItemsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactWriteItems
- func (c *DynamoDB) TransactWriteItemsRequest(input *TransactWriteItemsInput) (req *request.Request, output *TransactWriteItemsOutput) {
- op := &request.Operation{
- Name: opTransactWriteItems,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &TransactWriteItemsInput{}
- }
- output = &TransactWriteItemsOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // TransactWriteItems API operation for Amazon DynamoDB.
- //
- // TransactWriteItems is a synchronous write operation that groups up to 10
- // action requests. These actions can target items in different tables, but
- // not in different AWS accounts or regions, and no two actions can target the
- // same item. For example, you cannot both ConditionCheck and Update the same
- // item.
- //
- // The actions are completed atomically so that either all of them succeed,
- // or all of them fail. They are defined by the following objects:
- //
- // * Put — Initiates a PutItem operation to write a new item. This structure
- // specifies the primary key of the item to be written, the name of the table
- // to write it in, an optional condition expression that must be satisfied
- // for the write to succeed, a list of the item's attributes, and a field
- // indicating whether or not to retrieve the item's attributes if the condition
- // is not met.
- //
- // * Update — Initiates an UpdateItem operation to update an existing
- // item. This structure specifies the primary key of the item to be updated,
- // the name of the table where it resides, an optional condition expression
- // that must be satisfied for the update to succeed, an expression that defines
- // one or more attributes to be updated, and a field indicating whether or
- // not to retrieve the item's attributes if the condition is not met.
- //
- // * Delete — Initiates a DeleteItem operation to delete an existing item.
- // This structure specifies the primary key of the item to be deleted, the
- // name of the table where it resides, an optional condition expression that
- // must be satisfied for the deletion to succeed, and a field indicating
- // whether or not to retrieve the item's attributes if the condition is not
- // met.
- //
- // * ConditionCheck — Applies a condition to an item that is not being
- // modified by the transaction. This structure specifies the primary key
- // of the item to be checked, the name of the table where it resides, a condition
- // expression that must be satisfied for the transaction to succeed, and
- // a field indicating whether or not to retrieve the item's attributes if
- // the condition is not met.
- //
- // DynamoDB rejects the entire TransactWriteItems request if any of the following
- // is true:
- //
- // * A condition in one of the condition expressions is not met.
- //
- // * A conflicting operation is in the process of updating the same item.
- //
- // * There is insufficient provisioned capacity for the transaction to be
- // completed.
- //
- // * An item size becomes too large (bigger than 400 KB), a Local Secondary
- // Index (LSI) becomes too large, or a similar validation error occurs because
- // of changes made by the transaction.
- //
- // * There is a user error, such as an invalid data format.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation TransactWriteItems for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
- // The operation tried to access a nonexistent table or index. The resource
- // might not be specified correctly, or its status might not be ACTIVE.
- //
- // * ErrCodeTransactionCanceledException "TransactionCanceledException"
- // The entire transaction request was rejected.
- //
- // DynamoDB rejects a TransactWriteItems request under the following circumstances:
- //
- // * A condition in one of the condition expressions is not met.
- //
- // * A table in the TransactWriteItems request is in a different account
- // or region.
- //
- // * More than one action in the TransactWriteItems operation targets the
- // same item.
- //
- // * There is insufficient provisioned capacity for the transaction to be
- // completed.
- //
- // * An item size becomes too large (larger than 400 KB), or a local secondary
- // index (LSI) becomes too large, or a similar validation error occurs because
- // of changes made by the transaction.
- //
- // * There is a user error, such as an invalid data format.
- //
- // DynamoDB rejects a TransactGetItems request under the following circumstances:
- //
- // * There is an ongoing TransactGetItems operation that conflicts with a
- // concurrent PutItem, UpdateItem, DeleteItem or TransactWriteItems request.
- // In this case the TransactGetItems operation fails with a TransactionCanceledException.
- //
- // * A table in the TransactGetItems request is in a different account or
- // region.
- //
- // * There is insufficient provisioned capacity for the transaction to be
- // completed.
- //
- // * There is a user error, such as an invalid data format.
- //
- // * ErrCodeTransactionInProgressException "TransactionInProgressException"
- // The transaction with the given request token is already in progress.
- //
- // * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException"
- // DynamoDB rejected the request because you retried a request with a different
- // payload but with an idempotent token that was already used.
- //
- // * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
- // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry
- // requests that receive this exception. Your request is eventually successful,
- // unless your retry queue is too large to finish. Reduce the frequency of requests
- // and use exponential backoff. For more information, go to Error Retries and
- // Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff)
- // in the Amazon DynamoDB Developer Guide.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/TransactWriteItems
- func (c *DynamoDB) TransactWriteItems(input *TransactWriteItemsInput) (*TransactWriteItemsOutput, error) {
- req, out := c.TransactWriteItemsRequest(input)
- return out, req.Send()
- }
- // TransactWriteItemsWithContext is the same as TransactWriteItems with the addition of
- // the ability to pass a context and additional request options.
- //
- // See TransactWriteItems for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) TransactWriteItemsWithContext(ctx aws.Context, input *TransactWriteItemsInput, opts ...request.Option) (*TransactWriteItemsOutput, error) {
- req, out := c.TransactWriteItemsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opUntagResource = "UntagResource"
- // UntagResourceRequest generates a "aws/request.Request" representing the
- // client's request for the UntagResource operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See UntagResource for more information on using the UntagResource
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the UntagResourceRequest method.
- // req, resp := client.UntagResourceRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UntagResource
- func (c *DynamoDB) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
- op := &request.Operation{
- Name: opUntagResource,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &UntagResourceInput{}
- }
- output = &UntagResourceOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // UntagResource API operation for Amazon DynamoDB.
- //
- // Removes the association of tags from an Amazon DynamoDB resource. You can
- // call UntagResource up to 5 times per second, per account.
- //
- // For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html)
- // in the Amazon DynamoDB Developer Guide.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation UntagResource for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeLimitExceededException "LimitExceededException"
- // There is no limit to the number of daily on-demand backups that can be taken.
- //
- // Up to 10 simultaneous table operations are allowed per account. These operations
- // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup,
- // and RestoreTableToPointInTime.
- //
- // For tables with secondary indexes, only one of those tables can be in the
- // CREATING state at any point in time. Do not attempt to create more than one
- // such table simultaneously.
- //
- // The total limit of tables in the ACTIVE state is 250.
- //
- // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
- // The operation tried to access a nonexistent table or index. The resource
- // might not be specified correctly, or its status might not be ACTIVE.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // * ErrCodeResourceInUseException "ResourceInUseException"
- // The operation conflicts with the resource's availability. For example, you
- // attempted to recreate an existing table, or tried to delete a table currently
- // in the CREATING state.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UntagResource
- func (c *DynamoDB) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
- req, out := c.UntagResourceRequest(input)
- return out, req.Send()
- }
- // UntagResourceWithContext is the same as UntagResource with the addition of
- // the ability to pass a context and additional request options.
- //
- // See UntagResource for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
- req, out := c.UntagResourceRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opUpdateContinuousBackups = "UpdateContinuousBackups"
- // UpdateContinuousBackupsRequest generates a "aws/request.Request" representing the
- // client's request for the UpdateContinuousBackups operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See UpdateContinuousBackups for more information on using the UpdateContinuousBackups
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the UpdateContinuousBackupsRequest method.
- // req, resp := client.UpdateContinuousBackupsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateContinuousBackups
- func (c *DynamoDB) UpdateContinuousBackupsRequest(input *UpdateContinuousBackupsInput) (req *request.Request, output *UpdateContinuousBackupsOutput) {
- op := &request.Operation{
- Name: opUpdateContinuousBackups,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &UpdateContinuousBackupsInput{}
- }
- output = &UpdateContinuousBackupsOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // UpdateContinuousBackups API operation for Amazon DynamoDB.
- //
- // UpdateContinuousBackups enables or disables point in time recovery for the
- // specified table. A successful UpdateContinuousBackups call returns the current
- // ContinuousBackupsDescription. Continuous backups are ENABLED on all tables
- // at table creation. If point in time recovery is enabled, PointInTimeRecoveryStatus
- // will be set to ENABLED.
- //
- // Once continuous backups and point in time recovery are enabled, you can restore
- // to any point in time within EarliestRestorableDateTime and LatestRestorableDateTime.
- //
- // LatestRestorableDateTime is typically 5 minutes before the current time.
- // You can restore your table to any point in time during the last 35 days..
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation UpdateContinuousBackups for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeTableNotFoundException "TableNotFoundException"
- // A source table with the name TableName does not currently exist within the
- // subscriber's account.
- //
- // * ErrCodeContinuousBackupsUnavailableException "ContinuousBackupsUnavailableException"
- // Backups have not yet been enabled for this table.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateContinuousBackups
- func (c *DynamoDB) UpdateContinuousBackups(input *UpdateContinuousBackupsInput) (*UpdateContinuousBackupsOutput, error) {
- req, out := c.UpdateContinuousBackupsRequest(input)
- return out, req.Send()
- }
- // UpdateContinuousBackupsWithContext is the same as UpdateContinuousBackups with the addition of
- // the ability to pass a context and additional request options.
- //
- // See UpdateContinuousBackups for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) UpdateContinuousBackupsWithContext(ctx aws.Context, input *UpdateContinuousBackupsInput, opts ...request.Option) (*UpdateContinuousBackupsOutput, error) {
- req, out := c.UpdateContinuousBackupsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opUpdateGlobalTable = "UpdateGlobalTable"
- // UpdateGlobalTableRequest generates a "aws/request.Request" representing the
- // client's request for the UpdateGlobalTable operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See UpdateGlobalTable for more information on using the UpdateGlobalTable
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the UpdateGlobalTableRequest method.
- // req, resp := client.UpdateGlobalTableRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateGlobalTable
- func (c *DynamoDB) UpdateGlobalTableRequest(input *UpdateGlobalTableInput) (req *request.Request, output *UpdateGlobalTableOutput) {
- op := &request.Operation{
- Name: opUpdateGlobalTable,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &UpdateGlobalTableInput{}
- }
- output = &UpdateGlobalTableOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // UpdateGlobalTable API operation for Amazon DynamoDB.
- //
- // Adds or removes replicas in the specified global table. The global table
- // must already exist to be able to use this operation. Any replica to be added
- // must be empty, must have the same name as the global table, must have the
- // same key schema, and must have DynamoDB Streams enabled and must have same
- // provisioned and maximum write capacity units.
- //
- // Although you can use UpdateGlobalTable to add replicas and remove replicas
- // in a single request, for simplicity we recommend that you issue separate
- // requests for adding or removing replicas.
- //
- // If global secondary indexes are specified, then the following conditions
- // must also be met:
- //
- // * The global secondary indexes must have the same name.
- //
- // * The global secondary indexes must have the same hash key and sort key
- // (if present).
- //
- // * The global secondary indexes must have the same provisioned and maximum
- // write capacity units.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation UpdateGlobalTable for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // * ErrCodeGlobalTableNotFoundException "GlobalTableNotFoundException"
- // The specified global table does not exist.
- //
- // * ErrCodeReplicaAlreadyExistsException "ReplicaAlreadyExistsException"
- // The specified replica is already part of the global table.
- //
- // * ErrCodeReplicaNotFoundException "ReplicaNotFoundException"
- // The specified replica is no longer part of the global table.
- //
- // * ErrCodeTableNotFoundException "TableNotFoundException"
- // A source table with the name TableName does not currently exist within the
- // subscriber's account.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateGlobalTable
- func (c *DynamoDB) UpdateGlobalTable(input *UpdateGlobalTableInput) (*UpdateGlobalTableOutput, error) {
- req, out := c.UpdateGlobalTableRequest(input)
- return out, req.Send()
- }
- // UpdateGlobalTableWithContext is the same as UpdateGlobalTable with the addition of
- // the ability to pass a context and additional request options.
- //
- // See UpdateGlobalTable for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) UpdateGlobalTableWithContext(ctx aws.Context, input *UpdateGlobalTableInput, opts ...request.Option) (*UpdateGlobalTableOutput, error) {
- req, out := c.UpdateGlobalTableRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opUpdateGlobalTableSettings = "UpdateGlobalTableSettings"
- // UpdateGlobalTableSettingsRequest generates a "aws/request.Request" representing the
- // client's request for the UpdateGlobalTableSettings operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See UpdateGlobalTableSettings for more information on using the UpdateGlobalTableSettings
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the UpdateGlobalTableSettingsRequest method.
- // req, resp := client.UpdateGlobalTableSettingsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateGlobalTableSettings
- func (c *DynamoDB) UpdateGlobalTableSettingsRequest(input *UpdateGlobalTableSettingsInput) (req *request.Request, output *UpdateGlobalTableSettingsOutput) {
- op := &request.Operation{
- Name: opUpdateGlobalTableSettings,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &UpdateGlobalTableSettingsInput{}
- }
- output = &UpdateGlobalTableSettingsOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // UpdateGlobalTableSettings API operation for Amazon DynamoDB.
- //
- // Updates settings for a global table.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation UpdateGlobalTableSettings for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeGlobalTableNotFoundException "GlobalTableNotFoundException"
- // The specified global table does not exist.
- //
- // * ErrCodeReplicaNotFoundException "ReplicaNotFoundException"
- // The specified replica is no longer part of the global table.
- //
- // * ErrCodeIndexNotFoundException "IndexNotFoundException"
- // The operation tried to access a nonexistent index.
- //
- // * ErrCodeLimitExceededException "LimitExceededException"
- // There is no limit to the number of daily on-demand backups that can be taken.
- //
- // Up to 10 simultaneous table operations are allowed per account. These operations
- // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup,
- // and RestoreTableToPointInTime.
- //
- // For tables with secondary indexes, only one of those tables can be in the
- // CREATING state at any point in time. Do not attempt to create more than one
- // such table simultaneously.
- //
- // The total limit of tables in the ACTIVE state is 250.
- //
- // * ErrCodeResourceInUseException "ResourceInUseException"
- // The operation conflicts with the resource's availability. For example, you
- // attempted to recreate an existing table, or tried to delete a table currently
- // in the CREATING state.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateGlobalTableSettings
- func (c *DynamoDB) UpdateGlobalTableSettings(input *UpdateGlobalTableSettingsInput) (*UpdateGlobalTableSettingsOutput, error) {
- req, out := c.UpdateGlobalTableSettingsRequest(input)
- return out, req.Send()
- }
- // UpdateGlobalTableSettingsWithContext is the same as UpdateGlobalTableSettings with the addition of
- // the ability to pass a context and additional request options.
- //
- // See UpdateGlobalTableSettings for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) UpdateGlobalTableSettingsWithContext(ctx aws.Context, input *UpdateGlobalTableSettingsInput, opts ...request.Option) (*UpdateGlobalTableSettingsOutput, error) {
- req, out := c.UpdateGlobalTableSettingsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opUpdateItem = "UpdateItem"
- // UpdateItemRequest generates a "aws/request.Request" representing the
- // client's request for the UpdateItem operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See UpdateItem for more information on using the UpdateItem
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the UpdateItemRequest method.
- // req, resp := client.UpdateItemRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateItem
- func (c *DynamoDB) UpdateItemRequest(input *UpdateItemInput) (req *request.Request, output *UpdateItemOutput) {
- op := &request.Operation{
- Name: opUpdateItem,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &UpdateItemInput{}
- }
- output = &UpdateItemOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // UpdateItem API operation for Amazon DynamoDB.
- //
- // Edits an existing item's attributes, or adds a new item to the table if it
- // does not already exist. You can put, delete, or add attribute values. You
- // can also perform a conditional update on an existing item (insert a new attribute
- // name-value pair if it doesn't exist, or replace an existing name-value pair
- // if it has certain expected attribute values).
- //
- // You can also return the item's attribute values in the same UpdateItem operation
- // using the ReturnValues parameter.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation UpdateItem for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeConditionalCheckFailedException "ConditionalCheckFailedException"
- // A condition specified in the operation could not be evaluated.
- //
- // * ErrCodeProvisionedThroughputExceededException "ProvisionedThroughputExceededException"
- // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry
- // requests that receive this exception. Your request is eventually successful,
- // unless your retry queue is too large to finish. Reduce the frequency of requests
- // and use exponential backoff. For more information, go to Error Retries and
- // Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff)
- // in the Amazon DynamoDB Developer Guide.
- //
- // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
- // The operation tried to access a nonexistent table or index. The resource
- // might not be specified correctly, or its status might not be ACTIVE.
- //
- // * ErrCodeItemCollectionSizeLimitExceededException "ItemCollectionSizeLimitExceededException"
- // An item collection is too large. This exception is only returned for tables
- // that have one or more local secondary indexes.
- //
- // * ErrCodeTransactionConflictException "TransactionConflictException"
- // Operation was rejected because there is an ongoing transaction for the item.
- //
- // * ErrCodeRequestLimitExceeded "RequestLimitExceeded"
- // Throughput exceeds the current throughput limit for your account. Please
- // contact AWS Support at AWS Support (http://docs.aws.amazon.com/https:/aws.amazon.com/support)
- // to request a limit increase.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateItem
- func (c *DynamoDB) UpdateItem(input *UpdateItemInput) (*UpdateItemOutput, error) {
- req, out := c.UpdateItemRequest(input)
- return out, req.Send()
- }
- // UpdateItemWithContext is the same as UpdateItem with the addition of
- // the ability to pass a context and additional request options.
- //
- // See UpdateItem for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) UpdateItemWithContext(ctx aws.Context, input *UpdateItemInput, opts ...request.Option) (*UpdateItemOutput, error) {
- req, out := c.UpdateItemRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opUpdateTable = "UpdateTable"
- // UpdateTableRequest generates a "aws/request.Request" representing the
- // client's request for the UpdateTable operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See UpdateTable for more information on using the UpdateTable
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the UpdateTableRequest method.
- // req, resp := client.UpdateTableRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTable
- func (c *DynamoDB) UpdateTableRequest(input *UpdateTableInput) (req *request.Request, output *UpdateTableOutput) {
- op := &request.Operation{
- Name: opUpdateTable,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &UpdateTableInput{}
- }
- output = &UpdateTableOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // UpdateTable API operation for Amazon DynamoDB.
- //
- // Modifies the provisioned throughput settings, global secondary indexes, or
- // DynamoDB Streams settings for a given table.
- //
- // You can only perform one of the following operations at once:
- //
- // * Modify the provisioned throughput settings of the table.
- //
- // * Enable or disable Streams on the table.
- //
- // * Remove a global secondary index from the table.
- //
- // * Create a new global secondary index on the table. Once the index begins
- // backfilling, you can use UpdateTable to perform other operations.
- //
- // UpdateTable is an asynchronous operation; while it is executing, the table
- // status changes from ACTIVE to UPDATING. While it is UPDATING, you cannot
- // issue another UpdateTable request. When the table returns to the ACTIVE state,
- // the UpdateTable operation is complete.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation UpdateTable for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeResourceInUseException "ResourceInUseException"
- // The operation conflicts with the resource's availability. For example, you
- // attempted to recreate an existing table, or tried to delete a table currently
- // in the CREATING state.
- //
- // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
- // The operation tried to access a nonexistent table or index. The resource
- // might not be specified correctly, or its status might not be ACTIVE.
- //
- // * ErrCodeLimitExceededException "LimitExceededException"
- // There is no limit to the number of daily on-demand backups that can be taken.
- //
- // Up to 10 simultaneous table operations are allowed per account. These operations
- // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup,
- // and RestoreTableToPointInTime.
- //
- // For tables with secondary indexes, only one of those tables can be in the
- // CREATING state at any point in time. Do not attempt to create more than one
- // such table simultaneously.
- //
- // The total limit of tables in the ACTIVE state is 250.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTable
- func (c *DynamoDB) UpdateTable(input *UpdateTableInput) (*UpdateTableOutput, error) {
- req, out := c.UpdateTableRequest(input)
- return out, req.Send()
- }
- // UpdateTableWithContext is the same as UpdateTable with the addition of
- // the ability to pass a context and additional request options.
- //
- // See UpdateTable for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) UpdateTableWithContext(ctx aws.Context, input *UpdateTableInput, opts ...request.Option) (*UpdateTableOutput, error) {
- req, out := c.UpdateTableRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opUpdateTimeToLive = "UpdateTimeToLive"
- // UpdateTimeToLiveRequest generates a "aws/request.Request" representing the
- // client's request for the UpdateTimeToLive operation. The "output" return
- // value will be populated with the request's response once the request completes
- // successfully.
- //
- // Use "Send" method on the returned Request to send the API call to the service.
- // the "output" return value is not valid until after Send returns without error.
- //
- // See UpdateTimeToLive for more information on using the UpdateTimeToLive
- // API call, and error handling.
- //
- // This method is useful when you want to inject custom logic or configuration
- // into the SDK's request lifecycle. Such as custom headers, or retry logic.
- //
- //
- // // Example sending a request using the UpdateTimeToLiveRequest method.
- // req, resp := client.UpdateTimeToLiveRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTimeToLive
- func (c *DynamoDB) UpdateTimeToLiveRequest(input *UpdateTimeToLiveInput) (req *request.Request, output *UpdateTimeToLiveOutput) {
- op := &request.Operation{
- Name: opUpdateTimeToLive,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &UpdateTimeToLiveInput{}
- }
- output = &UpdateTimeToLiveOutput{}
- req = c.newRequest(op, input, output)
- if aws.BoolValue(req.Config.EnableEndpointDiscovery) {
- de := discovererDescribeEndpoints{
- Required: false,
- EndpointCache: c.endpointCache,
- Params: map[string]*string{
- "op": aws.String(req.Operation.Name),
- },
- Client: c,
- }
- for k, v := range de.Params {
- if v == nil {
- delete(de.Params, k)
- }
- }
- req.Handlers.Build.PushFrontNamed(request.NamedHandler{
- Name: "crr.endpointdiscovery",
- Fn: de.Handler,
- })
- }
- return
- }
- // UpdateTimeToLive API operation for Amazon DynamoDB.
- //
- // The UpdateTimeToLive method will enable or disable TTL for the specified
- // table. A successful UpdateTimeToLive call returns the current TimeToLiveSpecification;
- // it may take up to one hour for the change to fully process. Any additional
- // UpdateTimeToLive calls for the same table during this one hour duration result
- // in a ValidationException.
- //
- // TTL compares the current time in epoch time format to the time stored in
- // the TTL attribute of an item. If the epoch time value stored in the attribute
- // is less than the current time, the item is marked as expired and subsequently
- // deleted.
- //
- // The epoch time format is the number of seconds elapsed since 12:00:00 AM
- // January 1st, 1970 UTC.
- //
- // DynamoDB deletes expired items on a best-effort basis to ensure availability
- // of throughput for other data operations.
- //
- // DynamoDB typically deletes expired items within two days of expiration. The
- // exact duration within which an item gets deleted after expiration is specific
- // to the nature of the workload. Items that have expired and not been deleted
- // will still show up in reads, queries, and scans.
- //
- // As items are deleted, they are removed from any Local Secondary Index and
- // Global Secondary Index immediately in the same eventually consistent way
- // as a standard delete operation.
- //
- // For more information, see Time To Live (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/TTL.html)
- // in the Amazon DynamoDB Developer Guide.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB's
- // API operation UpdateTimeToLive for usage and error information.
- //
- // Returned Error Codes:
- // * ErrCodeResourceInUseException "ResourceInUseException"
- // The operation conflicts with the resource's availability. For example, you
- // attempted to recreate an existing table, or tried to delete a table currently
- // in the CREATING state.
- //
- // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
- // The operation tried to access a nonexistent table or index. The resource
- // might not be specified correctly, or its status might not be ACTIVE.
- //
- // * ErrCodeLimitExceededException "LimitExceededException"
- // There is no limit to the number of daily on-demand backups that can be taken.
- //
- // Up to 10 simultaneous table operations are allowed per account. These operations
- // include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup,
- // and RestoreTableToPointInTime.
- //
- // For tables with secondary indexes, only one of those tables can be in the
- // CREATING state at any point in time. Do not attempt to create more than one
- // such table simultaneously.
- //
- // The total limit of tables in the ACTIVE state is 250.
- //
- // * ErrCodeInternalServerError "InternalServerError"
- // An error occurred on the server side.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/UpdateTimeToLive
- func (c *DynamoDB) UpdateTimeToLive(input *UpdateTimeToLiveInput) (*UpdateTimeToLiveOutput, error) {
- req, out := c.UpdateTimeToLiveRequest(input)
- return out, req.Send()
- }
- // UpdateTimeToLiveWithContext is the same as UpdateTimeToLive with the addition of
- // the ability to pass a context and additional request options.
- //
- // See UpdateTimeToLive for details on how to use this API operation.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *DynamoDB) UpdateTimeToLiveWithContext(ctx aws.Context, input *UpdateTimeToLiveInput, opts ...request.Option) (*UpdateTimeToLiveOutput, error) {
- req, out := c.UpdateTimeToLiveRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // Represents an attribute for describing the key schema for the table and indexes.
- type AttributeDefinition struct {
- _ struct{} `type:"structure"`
- // A name for the attribute.
- //
- // AttributeName is a required field
- AttributeName *string `min:"1" type:"string" required:"true"`
- // The data type for the attribute, where:
- //
- // * S - the attribute is of type String
- //
- // * N - the attribute is of type Number
- //
- // * B - the attribute is of type Binary
- //
- // AttributeType is a required field
- AttributeType *string `type:"string" required:"true" enum:"ScalarAttributeType"`
- }
- // String returns the string representation
- func (s AttributeDefinition) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s AttributeDefinition) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *AttributeDefinition) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "AttributeDefinition"}
- if s.AttributeName == nil {
- invalidParams.Add(request.NewErrParamRequired("AttributeName"))
- }
- if s.AttributeName != nil && len(*s.AttributeName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1))
- }
- if s.AttributeType == nil {
- invalidParams.Add(request.NewErrParamRequired("AttributeType"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAttributeName sets the AttributeName field's value.
- func (s *AttributeDefinition) SetAttributeName(v string) *AttributeDefinition {
- s.AttributeName = &v
- return s
- }
- // SetAttributeType sets the AttributeType field's value.
- func (s *AttributeDefinition) SetAttributeType(v string) *AttributeDefinition {
- s.AttributeType = &v
- return s
- }
- // Represents the data for an attribute.
- //
- // Each attribute value is described as a name-value pair. The name is the data
- // type, and the value is the data itself.
- //
- // For more information, see Data Types (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes)
- // in the Amazon DynamoDB Developer Guide.
- type AttributeValue struct {
- _ struct{} `type:"structure"`
- // An attribute of type Binary. For example:
- //
- // "B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk"
- //
- // B is automatically base64 encoded/decoded by the SDK.
- B []byte `type:"blob"`
- // An attribute of type Boolean. For example:
- //
- // "BOOL": true
- BOOL *bool `type:"boolean"`
- // An attribute of type Binary Set. For example:
- //
- // "BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="]
- BS [][]byte `type:"list"`
- // An attribute of type List. For example:
- //
- // "L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N", "3.14159"}]
- L []*AttributeValue `type:"list"`
- // An attribute of type Map. For example:
- //
- // "M": {"Name": {"S": "Joe"}, "Age": {"N": "35"}}
- M map[string]*AttributeValue `type:"map"`
- // An attribute of type Number. For example:
- //
- // "N": "123.45"
- //
- // Numbers are sent across the network to DynamoDB as strings, to maximize compatibility
- // across languages and libraries. However, DynamoDB treats them as number type
- // attributes for mathematical operations.
- N *string `type:"string"`
- // An attribute of type Number Set. For example:
- //
- // "NS": ["42.2", "-19", "7.5", "3.14"]
- //
- // Numbers are sent across the network to DynamoDB as strings, to maximize compatibility
- // across languages and libraries. However, DynamoDB treats them as number type
- // attributes for mathematical operations.
- NS []*string `type:"list"`
- // An attribute of type Null. For example:
- //
- // "NULL": true
- NULL *bool `type:"boolean"`
- // An attribute of type String. For example:
- //
- // "S": "Hello"
- S *string `type:"string"`
- // An attribute of type String Set. For example:
- //
- // "SS": ["Giraffe", "Hippo" ,"Zebra"]
- SS []*string `type:"list"`
- }
- // String returns the string representation
- func (s AttributeValue) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s AttributeValue) GoString() string {
- return s.String()
- }
- // SetB sets the B field's value.
- func (s *AttributeValue) SetB(v []byte) *AttributeValue {
- s.B = v
- return s
- }
- // SetBOOL sets the BOOL field's value.
- func (s *AttributeValue) SetBOOL(v bool) *AttributeValue {
- s.BOOL = &v
- return s
- }
- // SetBS sets the BS field's value.
- func (s *AttributeValue) SetBS(v [][]byte) *AttributeValue {
- s.BS = v
- return s
- }
- // SetL sets the L field's value.
- func (s *AttributeValue) SetL(v []*AttributeValue) *AttributeValue {
- s.L = v
- return s
- }
- // SetM sets the M field's value.
- func (s *AttributeValue) SetM(v map[string]*AttributeValue) *AttributeValue {
- s.M = v
- return s
- }
- // SetN sets the N field's value.
- func (s *AttributeValue) SetN(v string) *AttributeValue {
- s.N = &v
- return s
- }
- // SetNS sets the NS field's value.
- func (s *AttributeValue) SetNS(v []*string) *AttributeValue {
- s.NS = v
- return s
- }
- // SetNULL sets the NULL field's value.
- func (s *AttributeValue) SetNULL(v bool) *AttributeValue {
- s.NULL = &v
- return s
- }
- // SetS sets the S field's value.
- func (s *AttributeValue) SetS(v string) *AttributeValue {
- s.S = &v
- return s
- }
- // SetSS sets the SS field's value.
- func (s *AttributeValue) SetSS(v []*string) *AttributeValue {
- s.SS = v
- return s
- }
- // For the UpdateItem operation, represents the attributes to be modified, the
- // action to perform on each, and the new value for each.
- //
- // You cannot use UpdateItem to update any primary key attributes. Instead,
- // you will need to delete the item, and then use PutItem to create a new item
- // with new attributes.
- //
- // Attribute values cannot be null; string and binary type attributes must have
- // lengths greater than zero; and set type attributes must not be empty. Requests
- // with empty values will be rejected with a ValidationException exception.
- type AttributeValueUpdate struct {
- _ struct{} `type:"structure"`
- // Specifies how to perform the update. Valid values are PUT (default), DELETE,
- // and ADD. The behavior depends on whether the specified primary key already
- // exists in the table.
- //
- // If an item with the specified Key is found in the table:
- //
- // * PUT - Adds the specified attribute to the item. If the attribute already
- // exists, it is replaced by the new value.
- //
- // * DELETE - If no value is specified, the attribute and its value are removed
- // from the item. The data type of the specified value must match the existing
- // value's data type.
- //
- // If a set of values is specified, then those values are subtracted from the
- // old set. For example, if the attribute value was the set [a,b,c] and the
- // DELETE action specified [a,c], then the final attribute value would be
- // [b]. Specifying an empty set is an error.
- //
- // * ADD - If the attribute does not already exist, then the attribute and
- // its values are added to the item. If the attribute does exist, then the
- // behavior of ADD depends on the data type of the attribute:
- //
- // If the existing attribute is a number, and if Value is also a number, then
- // the Value is mathematically added to the existing attribute. If Value
- // is a negative number, then it is subtracted from the existing attribute.
- //
- // If you use ADD to increment or decrement a number value for an item that
- // doesn't exist before the update, DynamoDB uses 0 as the initial value.
- //
- // In addition, if you use ADD to update an existing item, and intend to increment
- // or decrement an attribute value which does not yet exist, DynamoDB uses
- // 0 as the initial value. For example, suppose that the item you want to
- // update does not yet have an attribute named itemcount, but you decide
- // to ADD the number 3 to this attribute anyway, even though it currently
- // does not exist. DynamoDB will create the itemcount attribute, set its
- // initial value to 0, and finally add 3 to it. The result will be a new
- // itemcount attribute in the item, with a value of 3.
- //
- // If the existing data type is a set, and if the Value is also a set, then
- // the Value is added to the existing set. (This is a set operation, not
- // mathematical addition.) For example, if the attribute value was the set
- // [1,2], and the ADD action specified [3], then the final attribute value
- // would be [1,2,3]. An error occurs if an Add action is specified for a
- // set attribute and the attribute type specified does not match the existing
- // set type.
- //
- // Both sets must have the same primitive data type. For example, if the existing
- // data type is a set of strings, the Value must also be a set of strings.
- // The same holds true for number sets and binary sets.
- //
- // This action is only valid for an existing attribute whose data type is number
- // or is a set. Do not use ADD for any other data types.
- //
- // If no item with the specified Key is found:
- //
- // * PUT - DynamoDB creates a new item with the specified primary key, and
- // then adds the attribute.
- //
- // * DELETE - Nothing happens; there is no attribute to delete.
- //
- // * ADD - DynamoDB creates an item with the supplied primary key and number
- // (or set of numbers) for the attribute value. The only data types allowed
- // are number and number set; no other data types can be specified.
- Action *string `type:"string" enum:"AttributeAction"`
- // Represents the data for an attribute.
- //
- // Each attribute value is described as a name-value pair. The name is the data
- // type, and the value is the data itself.
- //
- // For more information, see Data Types (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes)
- // in the Amazon DynamoDB Developer Guide.
- Value *AttributeValue `type:"structure"`
- }
- // String returns the string representation
- func (s AttributeValueUpdate) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s AttributeValueUpdate) GoString() string {
- return s.String()
- }
- // SetAction sets the Action field's value.
- func (s *AttributeValueUpdate) SetAction(v string) *AttributeValueUpdate {
- s.Action = &v
- return s
- }
- // SetValue sets the Value field's value.
- func (s *AttributeValueUpdate) SetValue(v *AttributeValue) *AttributeValueUpdate {
- s.Value = v
- return s
- }
- // Represents the properties of the scaling policy.
- type AutoScalingPolicyDescription struct {
- _ struct{} `type:"structure"`
- // The name of the scaling policy.
- PolicyName *string `min:"1" type:"string"`
- // Represents a target tracking scaling policy configuration.
- TargetTrackingScalingPolicyConfiguration *AutoScalingTargetTrackingScalingPolicyConfigurationDescription `type:"structure"`
- }
- // String returns the string representation
- func (s AutoScalingPolicyDescription) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s AutoScalingPolicyDescription) GoString() string {
- return s.String()
- }
- // SetPolicyName sets the PolicyName field's value.
- func (s *AutoScalingPolicyDescription) SetPolicyName(v string) *AutoScalingPolicyDescription {
- s.PolicyName = &v
- return s
- }
- // SetTargetTrackingScalingPolicyConfiguration sets the TargetTrackingScalingPolicyConfiguration field's value.
- func (s *AutoScalingPolicyDescription) SetTargetTrackingScalingPolicyConfiguration(v *AutoScalingTargetTrackingScalingPolicyConfigurationDescription) *AutoScalingPolicyDescription {
- s.TargetTrackingScalingPolicyConfiguration = v
- return s
- }
- // Represents the autoscaling policy to be modified.
- type AutoScalingPolicyUpdate struct {
- _ struct{} `type:"structure"`
- // The name of the scaling policy.
- PolicyName *string `min:"1" type:"string"`
- // Represents a target tracking scaling policy configuration.
- //
- // TargetTrackingScalingPolicyConfiguration is a required field
- TargetTrackingScalingPolicyConfiguration *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate `type:"structure" required:"true"`
- }
- // String returns the string representation
- func (s AutoScalingPolicyUpdate) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s AutoScalingPolicyUpdate) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *AutoScalingPolicyUpdate) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "AutoScalingPolicyUpdate"}
- if s.PolicyName != nil && len(*s.PolicyName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
- }
- if s.TargetTrackingScalingPolicyConfiguration == nil {
- invalidParams.Add(request.NewErrParamRequired("TargetTrackingScalingPolicyConfiguration"))
- }
- if s.TargetTrackingScalingPolicyConfiguration != nil {
- if err := s.TargetTrackingScalingPolicyConfiguration.Validate(); err != nil {
- invalidParams.AddNested("TargetTrackingScalingPolicyConfiguration", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetPolicyName sets the PolicyName field's value.
- func (s *AutoScalingPolicyUpdate) SetPolicyName(v string) *AutoScalingPolicyUpdate {
- s.PolicyName = &v
- return s
- }
- // SetTargetTrackingScalingPolicyConfiguration sets the TargetTrackingScalingPolicyConfiguration field's value.
- func (s *AutoScalingPolicyUpdate) SetTargetTrackingScalingPolicyConfiguration(v *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) *AutoScalingPolicyUpdate {
- s.TargetTrackingScalingPolicyConfiguration = v
- return s
- }
- // Represents the autoscaling settings for a global table or global secondary
- // index.
- type AutoScalingSettingsDescription struct {
- _ struct{} `type:"structure"`
- // Disabled autoscaling for this global table or global secondary index.
- AutoScalingDisabled *bool `type:"boolean"`
- // Role ARN used for configuring autoScaling policy.
- AutoScalingRoleArn *string `type:"string"`
- // The maximum capacity units that a global table or global secondary index
- // should be scaled up to.
- MaximumUnits *int64 `min:"1" type:"long"`
- // The minimum capacity units that a global table or global secondary index
- // should be scaled down to.
- MinimumUnits *int64 `min:"1" type:"long"`
- // Information about the scaling policies.
- ScalingPolicies []*AutoScalingPolicyDescription `type:"list"`
- }
- // String returns the string representation
- func (s AutoScalingSettingsDescription) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s AutoScalingSettingsDescription) GoString() string {
- return s.String()
- }
- // SetAutoScalingDisabled sets the AutoScalingDisabled field's value.
- func (s *AutoScalingSettingsDescription) SetAutoScalingDisabled(v bool) *AutoScalingSettingsDescription {
- s.AutoScalingDisabled = &v
- return s
- }
- // SetAutoScalingRoleArn sets the AutoScalingRoleArn field's value.
- func (s *AutoScalingSettingsDescription) SetAutoScalingRoleArn(v string) *AutoScalingSettingsDescription {
- s.AutoScalingRoleArn = &v
- return s
- }
- // SetMaximumUnits sets the MaximumUnits field's value.
- func (s *AutoScalingSettingsDescription) SetMaximumUnits(v int64) *AutoScalingSettingsDescription {
- s.MaximumUnits = &v
- return s
- }
- // SetMinimumUnits sets the MinimumUnits field's value.
- func (s *AutoScalingSettingsDescription) SetMinimumUnits(v int64) *AutoScalingSettingsDescription {
- s.MinimumUnits = &v
- return s
- }
- // SetScalingPolicies sets the ScalingPolicies field's value.
- func (s *AutoScalingSettingsDescription) SetScalingPolicies(v []*AutoScalingPolicyDescription) *AutoScalingSettingsDescription {
- s.ScalingPolicies = v
- return s
- }
- // Represents the autoscaling settings to be modified for a global table or
- // global secondary index.
- type AutoScalingSettingsUpdate struct {
- _ struct{} `type:"structure"`
- // Disabled autoscaling for this global table or global secondary index.
- AutoScalingDisabled *bool `type:"boolean"`
- // Role ARN used for configuring autoscaling policy.
- AutoScalingRoleArn *string `min:"1" type:"string"`
- // The maximum capacity units that a global table or global secondary index
- // should be scaled up to.
- MaximumUnits *int64 `min:"1" type:"long"`
- // The minimum capacity units that a global table or global secondary index
- // should be scaled down to.
- MinimumUnits *int64 `min:"1" type:"long"`
- // The scaling policy to apply for scaling target global table or global secondary
- // index capacity units.
- ScalingPolicyUpdate *AutoScalingPolicyUpdate `type:"structure"`
- }
- // String returns the string representation
- func (s AutoScalingSettingsUpdate) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s AutoScalingSettingsUpdate) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *AutoScalingSettingsUpdate) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "AutoScalingSettingsUpdate"}
- if s.AutoScalingRoleArn != nil && len(*s.AutoScalingRoleArn) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("AutoScalingRoleArn", 1))
- }
- if s.MaximumUnits != nil && *s.MaximumUnits < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaximumUnits", 1))
- }
- if s.MinimumUnits != nil && *s.MinimumUnits < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MinimumUnits", 1))
- }
- if s.ScalingPolicyUpdate != nil {
- if err := s.ScalingPolicyUpdate.Validate(); err != nil {
- invalidParams.AddNested("ScalingPolicyUpdate", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAutoScalingDisabled sets the AutoScalingDisabled field's value.
- func (s *AutoScalingSettingsUpdate) SetAutoScalingDisabled(v bool) *AutoScalingSettingsUpdate {
- s.AutoScalingDisabled = &v
- return s
- }
- // SetAutoScalingRoleArn sets the AutoScalingRoleArn field's value.
- func (s *AutoScalingSettingsUpdate) SetAutoScalingRoleArn(v string) *AutoScalingSettingsUpdate {
- s.AutoScalingRoleArn = &v
- return s
- }
- // SetMaximumUnits sets the MaximumUnits field's value.
- func (s *AutoScalingSettingsUpdate) SetMaximumUnits(v int64) *AutoScalingSettingsUpdate {
- s.MaximumUnits = &v
- return s
- }
- // SetMinimumUnits sets the MinimumUnits field's value.
- func (s *AutoScalingSettingsUpdate) SetMinimumUnits(v int64) *AutoScalingSettingsUpdate {
- s.MinimumUnits = &v
- return s
- }
- // SetScalingPolicyUpdate sets the ScalingPolicyUpdate field's value.
- func (s *AutoScalingSettingsUpdate) SetScalingPolicyUpdate(v *AutoScalingPolicyUpdate) *AutoScalingSettingsUpdate {
- s.ScalingPolicyUpdate = v
- return s
- }
- // Represents the properties of a target tracking scaling policy.
- type AutoScalingTargetTrackingScalingPolicyConfigurationDescription struct {
- _ struct{} `type:"structure"`
- // Indicates whether scale in by the target tracking policy is disabled. If
- // the value is true, scale in is disabled and the target tracking policy won't
- // remove capacity from the scalable resource. Otherwise, scale in is enabled
- // and the target tracking policy can remove capacity from the scalable resource.
- // The default value is false.
- DisableScaleIn *bool `type:"boolean"`
- // The amount of time, in seconds, after a scale in activity completes before
- // another scale in activity can start. The cooldown period is used to block
- // subsequent scale in requests until it has expired. You should scale in conservatively
- // to protect your application's availability. However, if another alarm triggers
- // a scale out policy during the cooldown period after a scale-in, application
- // autoscaling scales out your scalable target immediately.
- ScaleInCooldown *int64 `type:"integer"`
- // The amount of time, in seconds, after a scale out activity completes before
- // another scale out activity can start. While the cooldown period is in effect,
- // the capacity that has been added by the previous scale out event that initiated
- // the cooldown is calculated as part of the desired capacity for the next scale
- // out. You should continuously (but not excessively) scale out.
- ScaleOutCooldown *int64 `type:"integer"`
- // The target value for the metric. The range is 8.515920e-109 to 1.174271e+108
- // (Base 10) or 2e-360 to 2e360 (Base 2).
- //
- // TargetValue is a required field
- TargetValue *float64 `type:"double" required:"true"`
- }
- // String returns the string representation
- func (s AutoScalingTargetTrackingScalingPolicyConfigurationDescription) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s AutoScalingTargetTrackingScalingPolicyConfigurationDescription) GoString() string {
- return s.String()
- }
- // SetDisableScaleIn sets the DisableScaleIn field's value.
- func (s *AutoScalingTargetTrackingScalingPolicyConfigurationDescription) SetDisableScaleIn(v bool) *AutoScalingTargetTrackingScalingPolicyConfigurationDescription {
- s.DisableScaleIn = &v
- return s
- }
- // SetScaleInCooldown sets the ScaleInCooldown field's value.
- func (s *AutoScalingTargetTrackingScalingPolicyConfigurationDescription) SetScaleInCooldown(v int64) *AutoScalingTargetTrackingScalingPolicyConfigurationDescription {
- s.ScaleInCooldown = &v
- return s
- }
- // SetScaleOutCooldown sets the ScaleOutCooldown field's value.
- func (s *AutoScalingTargetTrackingScalingPolicyConfigurationDescription) SetScaleOutCooldown(v int64) *AutoScalingTargetTrackingScalingPolicyConfigurationDescription {
- s.ScaleOutCooldown = &v
- return s
- }
- // SetTargetValue sets the TargetValue field's value.
- func (s *AutoScalingTargetTrackingScalingPolicyConfigurationDescription) SetTargetValue(v float64) *AutoScalingTargetTrackingScalingPolicyConfigurationDescription {
- s.TargetValue = &v
- return s
- }
- // Represents the settings of a target tracking scaling policy that will be
- // modified.
- type AutoScalingTargetTrackingScalingPolicyConfigurationUpdate struct {
- _ struct{} `type:"structure"`
- // Indicates whether scale in by the target tracking policy is disabled. If
- // the value is true, scale in is disabled and the target tracking policy won't
- // remove capacity from the scalable resource. Otherwise, scale in is enabled
- // and the target tracking policy can remove capacity from the scalable resource.
- // The default value is false.
- DisableScaleIn *bool `type:"boolean"`
- // The amount of time, in seconds, after a scale in activity completes before
- // another scale in activity can start. The cooldown period is used to block
- // subsequent scale in requests until it has expired. You should scale in conservatively
- // to protect your application's availability. However, if another alarm triggers
- // a scale out policy during the cooldown period after a scale-in, application
- // autoscaling scales out your scalable target immediately.
- ScaleInCooldown *int64 `type:"integer"`
- // The amount of time, in seconds, after a scale out activity completes before
- // another scale out activity can start. While the cooldown period is in effect,
- // the capacity that has been added by the previous scale out event that initiated
- // the cooldown is calculated as part of the desired capacity for the next scale
- // out. You should continuously (but not excessively) scale out.
- ScaleOutCooldown *int64 `type:"integer"`
- // The target value for the metric. The range is 8.515920e-109 to 1.174271e+108
- // (Base 10) or 2e-360 to 2e360 (Base 2).
- //
- // TargetValue is a required field
- TargetValue *float64 `type:"double" required:"true"`
- }
- // String returns the string representation
- func (s AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "AutoScalingTargetTrackingScalingPolicyConfigurationUpdate"}
- if s.TargetValue == nil {
- invalidParams.Add(request.NewErrParamRequired("TargetValue"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetDisableScaleIn sets the DisableScaleIn field's value.
- func (s *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) SetDisableScaleIn(v bool) *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate {
- s.DisableScaleIn = &v
- return s
- }
- // SetScaleInCooldown sets the ScaleInCooldown field's value.
- func (s *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) SetScaleInCooldown(v int64) *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate {
- s.ScaleInCooldown = &v
- return s
- }
- // SetScaleOutCooldown sets the ScaleOutCooldown field's value.
- func (s *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) SetScaleOutCooldown(v int64) *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate {
- s.ScaleOutCooldown = &v
- return s
- }
- // SetTargetValue sets the TargetValue field's value.
- func (s *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate) SetTargetValue(v float64) *AutoScalingTargetTrackingScalingPolicyConfigurationUpdate {
- s.TargetValue = &v
- return s
- }
- // Contains the description of the backup created for the table.
- type BackupDescription struct {
- _ struct{} `type:"structure"`
- // Contains the details of the backup created for the table.
- BackupDetails *BackupDetails `type:"structure"`
- // Contains the details of the table when the backup was created.
- SourceTableDetails *SourceTableDetails `type:"structure"`
- // Contains the details of the features enabled on the table when the backup
- // was created. For example, LSIs, GSIs, streams, TTL.
- SourceTableFeatureDetails *SourceTableFeatureDetails `type:"structure"`
- }
- // String returns the string representation
- func (s BackupDescription) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s BackupDescription) GoString() string {
- return s.String()
- }
- // SetBackupDetails sets the BackupDetails field's value.
- func (s *BackupDescription) SetBackupDetails(v *BackupDetails) *BackupDescription {
- s.BackupDetails = v
- return s
- }
- // SetSourceTableDetails sets the SourceTableDetails field's value.
- func (s *BackupDescription) SetSourceTableDetails(v *SourceTableDetails) *BackupDescription {
- s.SourceTableDetails = v
- return s
- }
- // SetSourceTableFeatureDetails sets the SourceTableFeatureDetails field's value.
- func (s *BackupDescription) SetSourceTableFeatureDetails(v *SourceTableFeatureDetails) *BackupDescription {
- s.SourceTableFeatureDetails = v
- return s
- }
- // Contains the details of the backup created for the table.
- type BackupDetails struct {
- _ struct{} `type:"structure"`
- // ARN associated with the backup.
- //
- // BackupArn is a required field
- BackupArn *string `min:"37" type:"string" required:"true"`
- // Time at which the backup was created. This is the request time of the backup.
- //
- // BackupCreationDateTime is a required field
- BackupCreationDateTime *time.Time `type:"timestamp" required:"true"`
- // Time at which the automatic on-demand backup created by DynamoDB will expire.
- // This SYSTEM on-demand backup expires automatically 35 days after its creation.
- BackupExpiryDateTime *time.Time `type:"timestamp"`
- // Name of the requested backup.
- //
- // BackupName is a required field
- BackupName *string `min:"3" type:"string" required:"true"`
- // Size of the backup in bytes.
- BackupSizeBytes *int64 `type:"long"`
- // Backup can be in one of the following states: CREATING, ACTIVE, DELETED.
- //
- // BackupStatus is a required field
- BackupStatus *string `type:"string" required:"true" enum:"BackupStatus"`
- // BackupType:
- //
- // * USER - You create and manage these using the on-demand backup feature.
- //
- // * SYSTEM - If you delete a table with point-in-time recovery enabled,
- // a SYSTEM backup is automatically created and is retained for 35 days (at
- // no additional cost). System backups allow you to restore the deleted table
- // to the state it was in just before the point of deletion.
- //
- // * AWS_BACKUP - On-demand backup created by you from AWS Backup service.
- //
- // BackupType is a required field
- BackupType *string `type:"string" required:"true" enum:"BackupType"`
- }
- // String returns the string representation
- func (s BackupDetails) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s BackupDetails) GoString() string {
- return s.String()
- }
- // SetBackupArn sets the BackupArn field's value.
- func (s *BackupDetails) SetBackupArn(v string) *BackupDetails {
- s.BackupArn = &v
- return s
- }
- // SetBackupCreationDateTime sets the BackupCreationDateTime field's value.
- func (s *BackupDetails) SetBackupCreationDateTime(v time.Time) *BackupDetails {
- s.BackupCreationDateTime = &v
- return s
- }
- // SetBackupExpiryDateTime sets the BackupExpiryDateTime field's value.
- func (s *BackupDetails) SetBackupExpiryDateTime(v time.Time) *BackupDetails {
- s.BackupExpiryDateTime = &v
- return s
- }
- // SetBackupName sets the BackupName field's value.
- func (s *BackupDetails) SetBackupName(v string) *BackupDetails {
- s.BackupName = &v
- return s
- }
- // SetBackupSizeBytes sets the BackupSizeBytes field's value.
- func (s *BackupDetails) SetBackupSizeBytes(v int64) *BackupDetails {
- s.BackupSizeBytes = &v
- return s
- }
- // SetBackupStatus sets the BackupStatus field's value.
- func (s *BackupDetails) SetBackupStatus(v string) *BackupDetails {
- s.BackupStatus = &v
- return s
- }
- // SetBackupType sets the BackupType field's value.
- func (s *BackupDetails) SetBackupType(v string) *BackupDetails {
- s.BackupType = &v
- return s
- }
- // Contains details for the backup.
- type BackupSummary struct {
- _ struct{} `type:"structure"`
- // ARN associated with the backup.
- BackupArn *string `min:"37" type:"string"`
- // Time at which the backup was created.
- BackupCreationDateTime *time.Time `type:"timestamp"`
- // Time at which the automatic on-demand backup created by DynamoDB will expire.
- // This SYSTEM on-demand backup expires automatically 35 days after its creation.
- BackupExpiryDateTime *time.Time `type:"timestamp"`
- // Name of the specified backup.
- BackupName *string `min:"3" type:"string"`
- // Size of the backup in bytes.
- BackupSizeBytes *int64 `type:"long"`
- // Backup can be in one of the following states: CREATING, ACTIVE, DELETED.
- BackupStatus *string `type:"string" enum:"BackupStatus"`
- // BackupType:
- //
- // * USER - You create and manage these using the on-demand backup feature.
- //
- // * SYSTEM - If you delete a table with point-in-time recovery enabled,
- // a SYSTEM backup is automatically created and is retained for 35 days (at
- // no additional cost). System backups allow you to restore the deleted table
- // to the state it was in just before the point of deletion.
- //
- // * AWS_BACKUP - On-demand backup created by you from AWS Backup service.
- BackupType *string `type:"string" enum:"BackupType"`
- // ARN associated with the table.
- TableArn *string `type:"string"`
- // Unique identifier for the table.
- TableId *string `type:"string"`
- // Name of the table.
- TableName *string `min:"3" type:"string"`
- }
- // String returns the string representation
- func (s BackupSummary) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s BackupSummary) GoString() string {
- return s.String()
- }
- // SetBackupArn sets the BackupArn field's value.
- func (s *BackupSummary) SetBackupArn(v string) *BackupSummary {
- s.BackupArn = &v
- return s
- }
- // SetBackupCreationDateTime sets the BackupCreationDateTime field's value.
- func (s *BackupSummary) SetBackupCreationDateTime(v time.Time) *BackupSummary {
- s.BackupCreationDateTime = &v
- return s
- }
- // SetBackupExpiryDateTime sets the BackupExpiryDateTime field's value.
- func (s *BackupSummary) SetBackupExpiryDateTime(v time.Time) *BackupSummary {
- s.BackupExpiryDateTime = &v
- return s
- }
- // SetBackupName sets the BackupName field's value.
- func (s *BackupSummary) SetBackupName(v string) *BackupSummary {
- s.BackupName = &v
- return s
- }
- // SetBackupSizeBytes sets the BackupSizeBytes field's value.
- func (s *BackupSummary) SetBackupSizeBytes(v int64) *BackupSummary {
- s.BackupSizeBytes = &v
- return s
- }
- // SetBackupStatus sets the BackupStatus field's value.
- func (s *BackupSummary) SetBackupStatus(v string) *BackupSummary {
- s.BackupStatus = &v
- return s
- }
- // SetBackupType sets the BackupType field's value.
- func (s *BackupSummary) SetBackupType(v string) *BackupSummary {
- s.BackupType = &v
- return s
- }
- // SetTableArn sets the TableArn field's value.
- func (s *BackupSummary) SetTableArn(v string) *BackupSummary {
- s.TableArn = &v
- return s
- }
- // SetTableId sets the TableId field's value.
- func (s *BackupSummary) SetTableId(v string) *BackupSummary {
- s.TableId = &v
- return s
- }
- // SetTableName sets the TableName field's value.
- func (s *BackupSummary) SetTableName(v string) *BackupSummary {
- s.TableName = &v
- return s
- }
- // Represents the input of a BatchGetItem operation.
- type BatchGetItemInput struct {
- _ struct{} `type:"structure"`
- // A map of one or more table names and, for each table, a map that describes
- // one or more items to retrieve from that table. Each table name can be used
- // only once per BatchGetItem request.
- //
- // Each element in the map of items to retrieve consists of the following:
- //
- // * ConsistentRead - If true, a strongly consistent read is used; if false
- // (the default), an eventually consistent read is used.
- //
- // * ExpressionAttributeNames - One or more substitution tokens for attribute
- // names in the ProjectionExpression parameter. The following are some use
- // cases for using ExpressionAttributeNames:
- //
- // To access an attribute whose name conflicts with a DynamoDB reserved word.
- //
- // To create a placeholder for repeating occurrences of an attribute name in
- // an expression.
- //
- // To prevent special characters in an attribute name from being misinterpreted
- // in an expression.
- //
- // Use the # character in an expression to dereference an attribute name. For
- // example, consider the following attribute name:
- //
- // Percentile
- //
- // The name of this attribute conflicts with a reserved word, so it cannot be
- // used directly in an expression. (For the complete list of reserved words,
- // see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html)
- // in the Amazon DynamoDB Developer Guide). To work around this, you could
- // specify the following for ExpressionAttributeNames:
- //
- // {"#P":"Percentile"}
- //
- // You could then use this substitution in an expression, as in this example:
- //
- // #P = :val
- //
- // Tokens that begin with the : character are expression attribute values, which
- // are placeholders for the actual value at runtime.
- //
- // For more information on expression attribute names, see Accessing Item Attributes
- // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html)
- // in the Amazon DynamoDB Developer Guide.
- //
- // * Keys - An array of primary key attribute values that define specific
- // items in the table. For each primary key, you must provide all of the
- // key attributes. For example, with a simple primary key, you only need
- // to provide the partition key value. For a composite key, you must provide
- // both the partition key value and the sort key value.
- //
- // * ProjectionExpression - A string that identifies one or more attributes
- // to retrieve from the table. These attributes can include scalars, sets,
- // or elements of a JSON document. The attributes in the expression must
- // be separated by commas.
- //
- // If no attribute names are specified, then all attributes will be returned.
- // If any of the requested attributes are not found, they will not appear
- // in the result.
- //
- // For more information, see Accessing Item Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html)
- // in the Amazon DynamoDB Developer Guide.
- //
- // * AttributesToGet - This is a legacy parameter. Use ProjectionExpression
- // instead. For more information, see AttributesToGet (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html)
- // in the Amazon DynamoDB Developer Guide.
- //
- // RequestItems is a required field
- RequestItems map[string]*KeysAndAttributes `min:"1" type:"map" required:"true"`
- // Determines the level of detail about provisioned throughput consumption that
- // is returned in the response:
- //
- // * INDEXES - The response includes the aggregate ConsumedCapacity for the
- // operation, together with ConsumedCapacity for each table and secondary
- // index that was accessed.
- //
- // Note that some operations, such as GetItem and BatchGetItem, do not access
- // any indexes at all. In these cases, specifying INDEXES will only return
- // ConsumedCapacity information for table(s).
- //
- // * TOTAL - The response includes only the aggregate ConsumedCapacity for
- // the operation.
- //
- // * NONE - No ConsumedCapacity details are included in the response.
- ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"`
- }
- // String returns the string representation
- func (s BatchGetItemInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s BatchGetItemInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *BatchGetItemInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "BatchGetItemInput"}
- if s.RequestItems == nil {
- invalidParams.Add(request.NewErrParamRequired("RequestItems"))
- }
- if s.RequestItems != nil && len(s.RequestItems) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RequestItems", 1))
- }
- if s.RequestItems != nil {
- for i, v := range s.RequestItems {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RequestItems", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetRequestItems sets the RequestItems field's value.
- func (s *BatchGetItemInput) SetRequestItems(v map[string]*KeysAndAttributes) *BatchGetItemInput {
- s.RequestItems = v
- return s
- }
- // SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value.
- func (s *BatchGetItemInput) SetReturnConsumedCapacity(v string) *BatchGetItemInput {
- s.ReturnConsumedCapacity = &v
- return s
- }
- // Represents the output of a BatchGetItem operation.
- type BatchGetItemOutput struct {
- _ struct{} `type:"structure"`
- // The read capacity units consumed by the entire BatchGetItem operation.
- //
- // Each element consists of:
- //
- // * TableName - The table that consumed the provisioned throughput.
- //
- // * CapacityUnits - The total number of capacity units consumed.
- ConsumedCapacity []*ConsumedCapacity `type:"list"`
- // A map of table name to a list of items. Each object in Responses consists
- // of a table name, along with a map of attribute data consisting of the data
- // type and attribute value.
- Responses map[string][]map[string]*AttributeValue `type:"map"`
- // A map of tables and their respective keys that were not processed with the
- // current response. The UnprocessedKeys value is in the same form as RequestItems,
- // so the value can be provided directly to a subsequent BatchGetItem operation.
- // For more information, see RequestItems in the Request Parameters section.
- //
- // Each element consists of:
- //
- // * Keys - An array of primary key attribute values that define specific
- // items in the table.
- //
- // * ProjectionExpression - One or more attributes to be retrieved from the
- // table or index. By default, all attributes are returned. If a requested
- // attribute is not found, it does not appear in the result.
- //
- // * ConsistentRead - The consistency of a read operation. If set to true,
- // then a strongly consistent read is used; otherwise, an eventually consistent
- // read is used.
- //
- // If there are no unprocessed keys remaining, the response contains an empty
- // UnprocessedKeys map.
- UnprocessedKeys map[string]*KeysAndAttributes `min:"1" type:"map"`
- }
- // String returns the string representation
- func (s BatchGetItemOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s BatchGetItemOutput) GoString() string {
- return s.String()
- }
- // SetConsumedCapacity sets the ConsumedCapacity field's value.
- func (s *BatchGetItemOutput) SetConsumedCapacity(v []*ConsumedCapacity) *BatchGetItemOutput {
- s.ConsumedCapacity = v
- return s
- }
- // SetResponses sets the Responses field's value.
- func (s *BatchGetItemOutput) SetResponses(v map[string][]map[string]*AttributeValue) *BatchGetItemOutput {
- s.Responses = v
- return s
- }
- // SetUnprocessedKeys sets the UnprocessedKeys field's value.
- func (s *BatchGetItemOutput) SetUnprocessedKeys(v map[string]*KeysAndAttributes) *BatchGetItemOutput {
- s.UnprocessedKeys = v
- return s
- }
- // Represents the input of a BatchWriteItem operation.
- type BatchWriteItemInput struct {
- _ struct{} `type:"structure"`
- // A map of one or more table names and, for each table, a list of operations
- // to be performed (DeleteRequest or PutRequest). Each element in the map consists
- // of the following:
- //
- // * DeleteRequest - Perform a DeleteItem operation on the specified item.
- // The item to be deleted is identified by a Key subelement:
- //
- // Key - A map of primary key attribute values that uniquely identify the item.
- // Each entry in this map consists of an attribute name and an attribute
- // value. For each primary key, you must provide all of the key attributes.
- // For example, with a simple primary key, you only need to provide a value
- // for the partition key. For a composite primary key, you must provide values
- // for both the partition key and the sort key.
- //
- // * PutRequest - Perform a PutItem operation on the specified item. The
- // item to be put is identified by an Item subelement:
- //
- // Item - A map of attributes and their values. Each entry in this map consists
- // of an attribute name and an attribute value. Attribute values must not
- // be null; string and binary type attributes must have lengths greater than
- // zero; and set type attributes must not be empty. Requests that contain
- // empty values will be rejected with a ValidationException exception.
- //
- // If you specify any attributes that are part of an index key, then the data
- // types for those attributes must match those of the schema in the table's
- // attribute definition.
- //
- // RequestItems is a required field
- RequestItems map[string][]*WriteRequest `min:"1" type:"map" required:"true"`
- // Determines the level of detail about provisioned throughput consumption that
- // is returned in the response:
- //
- // * INDEXES - The response includes the aggregate ConsumedCapacity for the
- // operation, together with ConsumedCapacity for each table and secondary
- // index that was accessed.
- //
- // Note that some operations, such as GetItem and BatchGetItem, do not access
- // any indexes at all. In these cases, specifying INDEXES will only return
- // ConsumedCapacity information for table(s).
- //
- // * TOTAL - The response includes only the aggregate ConsumedCapacity for
- // the operation.
- //
- // * NONE - No ConsumedCapacity details are included in the response.
- ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"`
- // Determines whether item collection metrics are returned. If set to SIZE,
- // the response includes statistics about item collections, if any, that were
- // modified during the operation are returned in the response. If set to NONE
- // (the default), no statistics are returned.
- ReturnItemCollectionMetrics *string `type:"string" enum:"ReturnItemCollectionMetrics"`
- }
- // String returns the string representation
- func (s BatchWriteItemInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s BatchWriteItemInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *BatchWriteItemInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "BatchWriteItemInput"}
- if s.RequestItems == nil {
- invalidParams.Add(request.NewErrParamRequired("RequestItems"))
- }
- if s.RequestItems != nil && len(s.RequestItems) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("RequestItems", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetRequestItems sets the RequestItems field's value.
- func (s *BatchWriteItemInput) SetRequestItems(v map[string][]*WriteRequest) *BatchWriteItemInput {
- s.RequestItems = v
- return s
- }
- // SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value.
- func (s *BatchWriteItemInput) SetReturnConsumedCapacity(v string) *BatchWriteItemInput {
- s.ReturnConsumedCapacity = &v
- return s
- }
- // SetReturnItemCollectionMetrics sets the ReturnItemCollectionMetrics field's value.
- func (s *BatchWriteItemInput) SetReturnItemCollectionMetrics(v string) *BatchWriteItemInput {
- s.ReturnItemCollectionMetrics = &v
- return s
- }
- // Represents the output of a BatchWriteItem operation.
- type BatchWriteItemOutput struct {
- _ struct{} `type:"structure"`
- // The capacity units consumed by the entire BatchWriteItem operation.
- //
- // Each element consists of:
- //
- // * TableName - The table that consumed the provisioned throughput.
- //
- // * CapacityUnits - The total number of capacity units consumed.
- ConsumedCapacity []*ConsumedCapacity `type:"list"`
- // A list of tables that were processed by BatchWriteItem and, for each table,
- // information about any item collections that were affected by individual DeleteItem
- // or PutItem operations.
- //
- // Each entry consists of the following subelements:
- //
- // * ItemCollectionKey - The partition key value of the item collection.
- // This is the same as the partition key value of the item.
- //
- // * SizeEstimateRangeGB - An estimate of item collection size, expressed
- // in GB. This is a two-element array containing a lower bound and an upper
- // bound for the estimate. The estimate includes the size of all the items
- // in the table, plus the size of all attributes projected into all of the
- // local secondary indexes on the table. Use this estimate to measure whether
- // a local secondary index is approaching its size limit.
- //
- // The estimate is subject to change over time; therefore, do not rely on the
- // precision or accuracy of the estimate.
- ItemCollectionMetrics map[string][]*ItemCollectionMetrics `type:"map"`
- // A map of tables and requests against those tables that were not processed.
- // The UnprocessedItems value is in the same form as RequestItems, so you can
- // provide this value directly to a subsequent BatchGetItem operation. For more
- // information, see RequestItems in the Request Parameters section.
- //
- // Each UnprocessedItems entry consists of a table name and, for that table,
- // a list of operations to perform (DeleteRequest or PutRequest).
- //
- // * DeleteRequest - Perform a DeleteItem operation on the specified item.
- // The item to be deleted is identified by a Key subelement:
- //
- // Key - A map of primary key attribute values that uniquely identify the item.
- // Each entry in this map consists of an attribute name and an attribute
- // value.
- //
- // * PutRequest - Perform a PutItem operation on the specified item. The
- // item to be put is identified by an Item subelement:
- //
- // Item - A map of attributes and their values. Each entry in this map consists
- // of an attribute name and an attribute value. Attribute values must not
- // be null; string and binary type attributes must have lengths greater than
- // zero; and set type attributes must not be empty. Requests that contain
- // empty values will be rejected with a ValidationException exception.
- //
- // If you specify any attributes that are part of an index key, then the data
- // types for those attributes must match those of the schema in the table's
- // attribute definition.
- //
- // If there are no unprocessed items remaining, the response contains an empty
- // UnprocessedItems map.
- UnprocessedItems map[string][]*WriteRequest `min:"1" type:"map"`
- }
- // String returns the string representation
- func (s BatchWriteItemOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s BatchWriteItemOutput) GoString() string {
- return s.String()
- }
- // SetConsumedCapacity sets the ConsumedCapacity field's value.
- func (s *BatchWriteItemOutput) SetConsumedCapacity(v []*ConsumedCapacity) *BatchWriteItemOutput {
- s.ConsumedCapacity = v
- return s
- }
- // SetItemCollectionMetrics sets the ItemCollectionMetrics field's value.
- func (s *BatchWriteItemOutput) SetItemCollectionMetrics(v map[string][]*ItemCollectionMetrics) *BatchWriteItemOutput {
- s.ItemCollectionMetrics = v
- return s
- }
- // SetUnprocessedItems sets the UnprocessedItems field's value.
- func (s *BatchWriteItemOutput) SetUnprocessedItems(v map[string][]*WriteRequest) *BatchWriteItemOutput {
- s.UnprocessedItems = v
- return s
- }
- // Contains the details for the read/write capacity mode.
- type BillingModeSummary struct {
- _ struct{} `type:"structure"`
- // Controls how you are charged for read and write throughput and how you manage
- // capacity. This setting can be changed later.
- //
- // * PROVISIONED - Sets the read/write capacity mode to PROVISIONED. We recommend
- // using PROVISIONED for predictable workloads.
- //
- // * PAY_PER_REQUEST - Sets the read/write capacity mode to PAY_PER_REQUEST.
- // We recommend using PAY_PER_REQUEST for unpredictable workloads.
- BillingMode *string `type:"string" enum:"BillingMode"`
- // Represents the time when PAY_PER_REQUEST was last set as the read/write capacity
- // mode.
- LastUpdateToPayPerRequestDateTime *time.Time `type:"timestamp"`
- }
- // String returns the string representation
- func (s BillingModeSummary) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s BillingModeSummary) GoString() string {
- return s.String()
- }
- // SetBillingMode sets the BillingMode field's value.
- func (s *BillingModeSummary) SetBillingMode(v string) *BillingModeSummary {
- s.BillingMode = &v
- return s
- }
- // SetLastUpdateToPayPerRequestDateTime sets the LastUpdateToPayPerRequestDateTime field's value.
- func (s *BillingModeSummary) SetLastUpdateToPayPerRequestDateTime(v time.Time) *BillingModeSummary {
- s.LastUpdateToPayPerRequestDateTime = &v
- return s
- }
- // An ordered list of errors for each item in the request which caused the transaction
- // to get cancelled. The values of the list are ordered according to the ordering
- // of the TransactWriteItems request parameter. If no error occurred for the
- // associated item an error with a Null code and Null message will be present.
- type CancellationReason struct {
- _ struct{} `type:"structure"`
- // Status code for the result of the cancelled transaction.
- Code *string `type:"string"`
- // Item in the request which caused the transaction to get cancelled.
- Item map[string]*AttributeValue `type:"map"`
- // Cancellation reason message description.
- Message *string `type:"string"`
- }
- // String returns the string representation
- func (s CancellationReason) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CancellationReason) GoString() string {
- return s.String()
- }
- // SetCode sets the Code field's value.
- func (s *CancellationReason) SetCode(v string) *CancellationReason {
- s.Code = &v
- return s
- }
- // SetItem sets the Item field's value.
- func (s *CancellationReason) SetItem(v map[string]*AttributeValue) *CancellationReason {
- s.Item = v
- return s
- }
- // SetMessage sets the Message field's value.
- func (s *CancellationReason) SetMessage(v string) *CancellationReason {
- s.Message = &v
- return s
- }
- // Represents the amount of provisioned throughput capacity consumed on a table
- // or an index.
- type Capacity struct {
- _ struct{} `type:"structure"`
- // The total number of capacity units consumed on a table or an index.
- CapacityUnits *float64 `type:"double"`
- // The total number of read capacity units consumed on a table or an index.
- ReadCapacityUnits *float64 `type:"double"`
- // The total number of write capacity units consumed on a table or an index.
- WriteCapacityUnits *float64 `type:"double"`
- }
- // String returns the string representation
- func (s Capacity) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Capacity) GoString() string {
- return s.String()
- }
- // SetCapacityUnits sets the CapacityUnits field's value.
- func (s *Capacity) SetCapacityUnits(v float64) *Capacity {
- s.CapacityUnits = &v
- return s
- }
- // SetReadCapacityUnits sets the ReadCapacityUnits field's value.
- func (s *Capacity) SetReadCapacityUnits(v float64) *Capacity {
- s.ReadCapacityUnits = &v
- return s
- }
- // SetWriteCapacityUnits sets the WriteCapacityUnits field's value.
- func (s *Capacity) SetWriteCapacityUnits(v float64) *Capacity {
- s.WriteCapacityUnits = &v
- return s
- }
- // Represents the selection criteria for a Query or Scan operation:
- //
- // * For a Query operation, Condition is used for specifying the KeyConditions
- // to use when querying a table or an index. For KeyConditions, only the
- // following comparison operators are supported:
- //
- // EQ | LE | LT | GE | GT | BEGINS_WITH | BETWEEN
- //
- // Condition is also used in a QueryFilter, which evaluates the query results
- // and returns only the desired values.
- //
- // * For a Scan operation, Condition is used in a ScanFilter, which evaluates
- // the scan results and returns only the desired values.
- type Condition struct {
- _ struct{} `type:"structure"`
- // One or more values to evaluate against the supplied attribute. The number
- // of values in the list depends on the ComparisonOperator being used.
- //
- // For type Number, value comparisons are numeric.
- //
- // String value comparisons for greater than, equals, or less than are based
- // on ASCII character code values. For example, a is greater than A, and a is
- // greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters
- // (http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters).
- //
- // For Binary, DynamoDB treats each byte of the binary data as unsigned when
- // it compares binary values.
- AttributeValueList []*AttributeValue `type:"list"`
- // A comparator for evaluating attributes. For example, equals, greater than,
- // less than, etc.
- //
- // The following comparison operators are available:
- //
- // EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS |
- // BEGINS_WITH | IN | BETWEEN
- //
- // The following are descriptions of each comparison operator.
- //
- // * EQ : Equal. EQ is supported for all data types, including lists and
- // maps.
- //
- // AttributeValueList can contain only one AttributeValue element of type String,
- // Number, Binary, String Set, Number Set, or Binary Set. If an item contains
- // an AttributeValue element of a different type than the one provided in
- // the request, the value does not match. For example, {"S":"6"} does not
- // equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}.
- //
- // * NE : Not equal. NE is supported for all data types, including lists
- // and maps.
- //
- // * AttributeValueList can contain only one AttributeValue of type String,
- // Number, Binary, String Set, Number Set, or Binary Set. If an item contains
- // an AttributeValue of a different type than the one provided in the request,
- // the value does not match. For example, {"S":"6"} does not equal {"N":"6"}.
- // Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}.
- //
- // * LE : Less than or equal.
- //
- // AttributeValueList can contain only one AttributeValue element of type String,
- // Number, or Binary (not a set type). If an item contains an AttributeValue
- // element of a different type than the one provided in the request, the value
- // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"}
- // does not compare to {"NS":["6", "2", "1"]}.
- //
- // LT: Less than.
- //
- // AttributeValueListcan contain only one AttributeValueof type String, Number, or Binary (not a set type). If an item contains an
- // AttributeValueelement of a different type than the one provided in the request, the value
- // does not match. For example, {"S":"6"}does not equal {"N":"6"}. Also, {"N":"6"}does not compare to {"NS":["6", "2", "1"]}
- //
- // ComparisonOperator is a required field
- ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"`
- }
- // String returns the string representation
- func (s Condition) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Condition) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Condition) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Condition"}
- if s.ComparisonOperator == nil {
- invalidParams.Add(request.NewErrParamRequired("ComparisonOperator"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAttributeValueList sets the AttributeValueList field's value.
- func (s *Condition) SetAttributeValueList(v []*AttributeValue) *Condition {
- s.AttributeValueList = v
- return s
- }
- // SetComparisonOperator sets the ComparisonOperator field's value.
- func (s *Condition) SetComparisonOperator(v string) *Condition {
- s.ComparisonOperator = &v
- return s
- }
- // Represents a request to perform a check that an item exists or to check the
- // condition of specific attributes of the item..
- type ConditionCheck struct {
- _ struct{} `type:"structure"`
- // A condition that must be satisfied in order for a conditional update to succeed.
- //
- // ConditionExpression is a required field
- ConditionExpression *string `type:"string" required:"true"`
- // One or more substitution tokens for attribute names in an expression.
- ExpressionAttributeNames map[string]*string `type:"map"`
- // One or more values that can be substituted in an expression.
- ExpressionAttributeValues map[string]*AttributeValue `type:"map"`
- // The primary key of the item to be checked. Each element consists of an attribute
- // name and a value for that attribute.
- //
- // Key is a required field
- Key map[string]*AttributeValue `type:"map" required:"true"`
- // Use ReturnValuesOnConditionCheckFailure to get the item attributes if the
- // ConditionCheck condition fails. For ReturnValuesOnConditionCheckFailure,
- // the valid values are: NONE and ALL_OLD.
- ReturnValuesOnConditionCheckFailure *string `type:"string" enum:"ReturnValuesOnConditionCheckFailure"`
- // Name of the table for the check item request.
- //
- // TableName is a required field
- TableName *string `min:"3" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s ConditionCheck) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ConditionCheck) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ConditionCheck) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ConditionCheck"}
- if s.ConditionExpression == nil {
- invalidParams.Add(request.NewErrParamRequired("ConditionExpression"))
- }
- if s.Key == nil {
- invalidParams.Add(request.NewErrParamRequired("Key"))
- }
- if s.TableName == nil {
- invalidParams.Add(request.NewErrParamRequired("TableName"))
- }
- if s.TableName != nil && len(*s.TableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetConditionExpression sets the ConditionExpression field's value.
- func (s *ConditionCheck) SetConditionExpression(v string) *ConditionCheck {
- s.ConditionExpression = &v
- return s
- }
- // SetExpressionAttributeNames sets the ExpressionAttributeNames field's value.
- func (s *ConditionCheck) SetExpressionAttributeNames(v map[string]*string) *ConditionCheck {
- s.ExpressionAttributeNames = v
- return s
- }
- // SetExpressionAttributeValues sets the ExpressionAttributeValues field's value.
- func (s *ConditionCheck) SetExpressionAttributeValues(v map[string]*AttributeValue) *ConditionCheck {
- s.ExpressionAttributeValues = v
- return s
- }
- // SetKey sets the Key field's value.
- func (s *ConditionCheck) SetKey(v map[string]*AttributeValue) *ConditionCheck {
- s.Key = v
- return s
- }
- // SetReturnValuesOnConditionCheckFailure sets the ReturnValuesOnConditionCheckFailure field's value.
- func (s *ConditionCheck) SetReturnValuesOnConditionCheckFailure(v string) *ConditionCheck {
- s.ReturnValuesOnConditionCheckFailure = &v
- return s
- }
- // SetTableName sets the TableName field's value.
- func (s *ConditionCheck) SetTableName(v string) *ConditionCheck {
- s.TableName = &v
- return s
- }
- // The capacity units consumed by an operation. The data returned includes the
- // total provisioned throughput consumed, along with statistics for the table
- // and any indexes involved in the operation. ConsumedCapacity is only returned
- // if the request asked for it. For more information, see Provisioned Throughput
- // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html)
- // in the Amazon DynamoDB Developer Guide.
- type ConsumedCapacity struct {
- _ struct{} `type:"structure"`
- // The total number of capacity units consumed by the operation.
- CapacityUnits *float64 `type:"double"`
- // The amount of throughput consumed on each global index affected by the operation.
- GlobalSecondaryIndexes map[string]*Capacity `type:"map"`
- // The amount of throughput consumed on each local index affected by the operation.
- LocalSecondaryIndexes map[string]*Capacity `type:"map"`
- // The total number of read capacity units consumed by the operation.
- ReadCapacityUnits *float64 `type:"double"`
- // The amount of throughput consumed on the table affected by the operation.
- Table *Capacity `type:"structure"`
- // The name of the table that was affected by the operation.
- TableName *string `min:"3" type:"string"`
- // The total number of write capacity units consumed by the operation.
- WriteCapacityUnits *float64 `type:"double"`
- }
- // String returns the string representation
- func (s ConsumedCapacity) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ConsumedCapacity) GoString() string {
- return s.String()
- }
- // SetCapacityUnits sets the CapacityUnits field's value.
- func (s *ConsumedCapacity) SetCapacityUnits(v float64) *ConsumedCapacity {
- s.CapacityUnits = &v
- return s
- }
- // SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value.
- func (s *ConsumedCapacity) SetGlobalSecondaryIndexes(v map[string]*Capacity) *ConsumedCapacity {
- s.GlobalSecondaryIndexes = v
- return s
- }
- // SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value.
- func (s *ConsumedCapacity) SetLocalSecondaryIndexes(v map[string]*Capacity) *ConsumedCapacity {
- s.LocalSecondaryIndexes = v
- return s
- }
- // SetReadCapacityUnits sets the ReadCapacityUnits field's value.
- func (s *ConsumedCapacity) SetReadCapacityUnits(v float64) *ConsumedCapacity {
- s.ReadCapacityUnits = &v
- return s
- }
- // SetTable sets the Table field's value.
- func (s *ConsumedCapacity) SetTable(v *Capacity) *ConsumedCapacity {
- s.Table = v
- return s
- }
- // SetTableName sets the TableName field's value.
- func (s *ConsumedCapacity) SetTableName(v string) *ConsumedCapacity {
- s.TableName = &v
- return s
- }
- // SetWriteCapacityUnits sets the WriteCapacityUnits field's value.
- func (s *ConsumedCapacity) SetWriteCapacityUnits(v float64) *ConsumedCapacity {
- s.WriteCapacityUnits = &v
- return s
- }
- // Represents the continuous backups and point in time recovery settings on
- // the table.
- type ContinuousBackupsDescription struct {
- _ struct{} `type:"structure"`
- // ContinuousBackupsStatus can be one of the following states: ENABLED, DISABLED
- //
- // ContinuousBackupsStatus is a required field
- ContinuousBackupsStatus *string `type:"string" required:"true" enum:"ContinuousBackupsStatus"`
- // The description of the point in time recovery settings applied to the table.
- PointInTimeRecoveryDescription *PointInTimeRecoveryDescription `type:"structure"`
- }
- // String returns the string representation
- func (s ContinuousBackupsDescription) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ContinuousBackupsDescription) GoString() string {
- return s.String()
- }
- // SetContinuousBackupsStatus sets the ContinuousBackupsStatus field's value.
- func (s *ContinuousBackupsDescription) SetContinuousBackupsStatus(v string) *ContinuousBackupsDescription {
- s.ContinuousBackupsStatus = &v
- return s
- }
- // SetPointInTimeRecoveryDescription sets the PointInTimeRecoveryDescription field's value.
- func (s *ContinuousBackupsDescription) SetPointInTimeRecoveryDescription(v *PointInTimeRecoveryDescription) *ContinuousBackupsDescription {
- s.PointInTimeRecoveryDescription = v
- return s
- }
- type CreateBackupInput struct {
- _ struct{} `type:"structure"`
- // Specified name for the backup.
- //
- // BackupName is a required field
- BackupName *string `min:"3" type:"string" required:"true"`
- // The name of the table.
- //
- // TableName is a required field
- TableName *string `min:"3" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s CreateBackupInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateBackupInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CreateBackupInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateBackupInput"}
- if s.BackupName == nil {
- invalidParams.Add(request.NewErrParamRequired("BackupName"))
- }
- if s.BackupName != nil && len(*s.BackupName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("BackupName", 3))
- }
- if s.TableName == nil {
- invalidParams.Add(request.NewErrParamRequired("TableName"))
- }
- if s.TableName != nil && len(*s.TableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetBackupName sets the BackupName field's value.
- func (s *CreateBackupInput) SetBackupName(v string) *CreateBackupInput {
- s.BackupName = &v
- return s
- }
- // SetTableName sets the TableName field's value.
- func (s *CreateBackupInput) SetTableName(v string) *CreateBackupInput {
- s.TableName = &v
- return s
- }
- type CreateBackupOutput struct {
- _ struct{} `type:"structure"`
- // Contains the details of the backup created for the table.
- BackupDetails *BackupDetails `type:"structure"`
- }
- // String returns the string representation
- func (s CreateBackupOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateBackupOutput) GoString() string {
- return s.String()
- }
- // SetBackupDetails sets the BackupDetails field's value.
- func (s *CreateBackupOutput) SetBackupDetails(v *BackupDetails) *CreateBackupOutput {
- s.BackupDetails = v
- return s
- }
- // Represents a new global secondary index to be added to an existing table.
- type CreateGlobalSecondaryIndexAction struct {
- _ struct{} `type:"structure"`
- // The name of the global secondary index to be created.
- //
- // IndexName is a required field
- IndexName *string `min:"3" type:"string" required:"true"`
- // The key schema for the global secondary index.
- //
- // KeySchema is a required field
- KeySchema []*KeySchemaElement `min:"1" type:"list" required:"true"`
- // Represents attributes that are copied (projected) from the table into an
- // index. These are in addition to the primary key attributes and index key
- // attributes, which are automatically projected.
- //
- // Projection is a required field
- Projection *Projection `type:"structure" required:"true"`
- // Represents the provisioned throughput settings for the specified global secondary
- // index.
- //
- // For current minimum and maximum provisioned throughput values, see Limits
- // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html)
- // in the Amazon DynamoDB Developer Guide.
- ProvisionedThroughput *ProvisionedThroughput `type:"structure"`
- }
- // String returns the string representation
- func (s CreateGlobalSecondaryIndexAction) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateGlobalSecondaryIndexAction) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CreateGlobalSecondaryIndexAction) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateGlobalSecondaryIndexAction"}
- if s.IndexName == nil {
- invalidParams.Add(request.NewErrParamRequired("IndexName"))
- }
- if s.IndexName != nil && len(*s.IndexName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("IndexName", 3))
- }
- if s.KeySchema == nil {
- invalidParams.Add(request.NewErrParamRequired("KeySchema"))
- }
- if s.KeySchema != nil && len(s.KeySchema) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("KeySchema", 1))
- }
- if s.Projection == nil {
- invalidParams.Add(request.NewErrParamRequired("Projection"))
- }
- if s.KeySchema != nil {
- for i, v := range s.KeySchema {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "KeySchema", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if s.Projection != nil {
- if err := s.Projection.Validate(); err != nil {
- invalidParams.AddNested("Projection", err.(request.ErrInvalidParams))
- }
- }
- if s.ProvisionedThroughput != nil {
- if err := s.ProvisionedThroughput.Validate(); err != nil {
- invalidParams.AddNested("ProvisionedThroughput", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetIndexName sets the IndexName field's value.
- func (s *CreateGlobalSecondaryIndexAction) SetIndexName(v string) *CreateGlobalSecondaryIndexAction {
- s.IndexName = &v
- return s
- }
- // SetKeySchema sets the KeySchema field's value.
- func (s *CreateGlobalSecondaryIndexAction) SetKeySchema(v []*KeySchemaElement) *CreateGlobalSecondaryIndexAction {
- s.KeySchema = v
- return s
- }
- // SetProjection sets the Projection field's value.
- func (s *CreateGlobalSecondaryIndexAction) SetProjection(v *Projection) *CreateGlobalSecondaryIndexAction {
- s.Projection = v
- return s
- }
- // SetProvisionedThroughput sets the ProvisionedThroughput field's value.
- func (s *CreateGlobalSecondaryIndexAction) SetProvisionedThroughput(v *ProvisionedThroughput) *CreateGlobalSecondaryIndexAction {
- s.ProvisionedThroughput = v
- return s
- }
- type CreateGlobalTableInput struct {
- _ struct{} `type:"structure"`
- // The global table name.
- //
- // GlobalTableName is a required field
- GlobalTableName *string `min:"3" type:"string" required:"true"`
- // The regions where the global table needs to be created.
- //
- // ReplicationGroup is a required field
- ReplicationGroup []*Replica `type:"list" required:"true"`
- }
- // String returns the string representation
- func (s CreateGlobalTableInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateGlobalTableInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CreateGlobalTableInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateGlobalTableInput"}
- if s.GlobalTableName == nil {
- invalidParams.Add(request.NewErrParamRequired("GlobalTableName"))
- }
- if s.GlobalTableName != nil && len(*s.GlobalTableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("GlobalTableName", 3))
- }
- if s.ReplicationGroup == nil {
- invalidParams.Add(request.NewErrParamRequired("ReplicationGroup"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetGlobalTableName sets the GlobalTableName field's value.
- func (s *CreateGlobalTableInput) SetGlobalTableName(v string) *CreateGlobalTableInput {
- s.GlobalTableName = &v
- return s
- }
- // SetReplicationGroup sets the ReplicationGroup field's value.
- func (s *CreateGlobalTableInput) SetReplicationGroup(v []*Replica) *CreateGlobalTableInput {
- s.ReplicationGroup = v
- return s
- }
- type CreateGlobalTableOutput struct {
- _ struct{} `type:"structure"`
- // Contains the details of the global table.
- GlobalTableDescription *GlobalTableDescription `type:"structure"`
- }
- // String returns the string representation
- func (s CreateGlobalTableOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateGlobalTableOutput) GoString() string {
- return s.String()
- }
- // SetGlobalTableDescription sets the GlobalTableDescription field's value.
- func (s *CreateGlobalTableOutput) SetGlobalTableDescription(v *GlobalTableDescription) *CreateGlobalTableOutput {
- s.GlobalTableDescription = v
- return s
- }
- // Represents a replica to be added.
- type CreateReplicaAction struct {
- _ struct{} `type:"structure"`
- // The region of the replica to be added.
- //
- // RegionName is a required field
- RegionName *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s CreateReplicaAction) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateReplicaAction) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CreateReplicaAction) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateReplicaAction"}
- if s.RegionName == nil {
- invalidParams.Add(request.NewErrParamRequired("RegionName"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetRegionName sets the RegionName field's value.
- func (s *CreateReplicaAction) SetRegionName(v string) *CreateReplicaAction {
- s.RegionName = &v
- return s
- }
- // Represents the input of a CreateTable operation.
- type CreateTableInput struct {
- _ struct{} `type:"structure"`
- // An array of attributes that describe the key schema for the table and indexes.
- //
- // AttributeDefinitions is a required field
- AttributeDefinitions []*AttributeDefinition `type:"list" required:"true"`
- // Controls how you are charged for read and write throughput and how you manage
- // capacity. This setting can be changed later.
- //
- // * PROVISIONED - Sets the billing mode to PROVISIONED. We recommend using
- // PROVISIONED for predictable workloads.
- //
- // * PAY_PER_REQUEST - Sets the billing mode to PAY_PER_REQUEST. We recommend
- // using PAY_PER_REQUEST for unpredictable workloads.
- BillingMode *string `type:"string" enum:"BillingMode"`
- // One or more global secondary indexes (the maximum is 20) to be created on
- // the table. Each global secondary index in the array includes the following:
- //
- // * IndexName - The name of the global secondary index. Must be unique only
- // for this table.
- //
- // * KeySchema - Specifies the key schema for the global secondary index.
- //
- // * Projection - Specifies attributes that are copied (projected) from the
- // table into the index. These are in addition to the primary key attributes
- // and index key attributes, which are automatically projected. Each attribute
- // specification is composed of:
- //
- // * ProjectionType - One of the following:
- //
- // KEYS_ONLY - Only the index and primary keys are projected into the index.
- //
- // INCLUDE - Only the specified table attributes are projected into the index.
- // The list of projected attributes are in NonKeyAttributes.
- //
- // ALL - All of the table attributes are projected into the index.
- //
- // NonKeyAttributes - A list of one or more non-key attribute names that are
- // projected into the secondary index. The total count of attributes provided
- // in NonKeyAttributes, summed across all of the secondary indexes, must
- // not exceed 100. If you project the same attribute into two different indexes,
- // this counts as two distinct attributes when determining the total.
- //
- // * ProvisionedThroughput - The provisioned throughput settings for the
- // global secondary index, consisting of read and write capacity units.
- GlobalSecondaryIndexes []*GlobalSecondaryIndex `type:"list"`
- // Specifies the attributes that make up the primary key for a table or an index.
- // The attributes in KeySchema must also be defined in the AttributeDefinitions
- // array. For more information, see Data Model (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html)
- // in the Amazon DynamoDB Developer Guide.
- //
- // Each KeySchemaElement in the array is composed of:
- //
- // * AttributeName - The name of this key attribute.
- //
- // * KeyType - The role that the key attribute will assume:
- //
- // HASH - partition key
- //
- // RANGE - sort key
- //
- // The partition key of an item is also known as its hash attribute. The term
- // "hash attribute" derives from DynamoDB' usage of an internal hash function
- // to evenly distribute data items across partitions, based on their partition
- // key values.
- //
- // The sort key of an item is also known as its range attribute. The term "range
- // attribute" derives from the way DynamoDB stores items with the same partition
- // key physically close together, in sorted order by the sort key value.
- //
- // For a simple primary key (partition key), you must provide exactly one element
- // with a KeyType of HASH.
- //
- // For a composite primary key (partition key and sort key), you must provide
- // exactly two elements, in this order: The first element must have a KeyType
- // of HASH, and the second element must have a KeyType of RANGE.
- //
- // For more information, see Specifying the Primary Key (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#WorkingWithTables.primary.key)
- // in the Amazon DynamoDB Developer Guide.
- //
- // KeySchema is a required field
- KeySchema []*KeySchemaElement `min:"1" type:"list" required:"true"`
- // One or more local secondary indexes (the maximum is 5) to be created on the
- // table. Each index is scoped to a given partition key value. There is a 10
- // GB size limit per partition key value; otherwise, the size of a local secondary
- // index is unconstrained.
- //
- // Each local secondary index in the array includes the following:
- //
- // * IndexName - The name of the local secondary index. Must be unique only
- // for this table.
- //
- // * KeySchema - Specifies the key schema for the local secondary index.
- // The key schema must begin with the same partition key as the table.
- //
- // * Projection - Specifies attributes that are copied (projected) from the
- // table into the index. These are in addition to the primary key attributes
- // and index key attributes, which are automatically projected. Each attribute
- // specification is composed of:
- //
- // * ProjectionType - One of the following:
- //
- // KEYS_ONLY - Only the index and primary keys are projected into the index.
- //
- // INCLUDE - Only the specified table attributes are projected into the index.
- // The list of projected attributes are in NonKeyAttributes.
- //
- // ALL - All of the table attributes are projected into the index.
- //
- // NonKeyAttributes - A list of one or more non-key attribute names that are
- // projected into the secondary index. The total count of attributes provided
- // in NonKeyAttributes, summed across all of the secondary indexes, must
- // not exceed 100. If you project the same attribute into two different indexes,
- // this counts as two distinct attributes when determining the total.
- LocalSecondaryIndexes []*LocalSecondaryIndex `type:"list"`
- // Represents the provisioned throughput settings for a specified table or index.
- // The settings can be modified using the UpdateTable operation.
- //
- // If you set BillingMode as PROVISIONED, you must specify this property. If
- // you set BillingMode as PAY_PER_REQUEST, you cannot specify this property.
- //
- // For current minimum and maximum provisioned throughput values, see Limits
- // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html)
- // in the Amazon DynamoDB Developer Guide.
- ProvisionedThroughput *ProvisionedThroughput `type:"structure"`
- // Represents the settings used to enable server-side encryption.
- SSESpecification *SSESpecification `type:"structure"`
- // The settings for DynamoDB Streams on the table. These settings consist of:
- //
- // * StreamEnabled - Indicates whether Streams is to be enabled (true) or
- // disabled (false).
- //
- // * StreamViewType - When an item in the table is modified, StreamViewType
- // determines what information is written to the table's stream. Valid values
- // for StreamViewType are:
- //
- // KEYS_ONLY - Only the key attributes of the modified item are written to the
- // stream.
- //
- // NEW_IMAGE - The entire item, as it appears after it was modified, is written
- // to the stream.
- //
- // OLD_IMAGE - The entire item, as it appeared before it was modified, is written
- // to the stream.
- //
- // NEW_AND_OLD_IMAGES - Both the new and the old item images of the item are
- // written to the stream.
- StreamSpecification *StreamSpecification `type:"structure"`
- // The name of the table to create.
- //
- // TableName is a required field
- TableName *string `min:"3" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s CreateTableInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateTableInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CreateTableInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateTableInput"}
- if s.AttributeDefinitions == nil {
- invalidParams.Add(request.NewErrParamRequired("AttributeDefinitions"))
- }
- if s.KeySchema == nil {
- invalidParams.Add(request.NewErrParamRequired("KeySchema"))
- }
- if s.KeySchema != nil && len(s.KeySchema) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("KeySchema", 1))
- }
- if s.TableName == nil {
- invalidParams.Add(request.NewErrParamRequired("TableName"))
- }
- if s.TableName != nil && len(*s.TableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
- }
- if s.AttributeDefinitions != nil {
- for i, v := range s.AttributeDefinitions {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AttributeDefinitions", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if s.GlobalSecondaryIndexes != nil {
- for i, v := range s.GlobalSecondaryIndexes {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GlobalSecondaryIndexes", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if s.KeySchema != nil {
- for i, v := range s.KeySchema {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "KeySchema", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if s.LocalSecondaryIndexes != nil {
- for i, v := range s.LocalSecondaryIndexes {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LocalSecondaryIndexes", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if s.ProvisionedThroughput != nil {
- if err := s.ProvisionedThroughput.Validate(); err != nil {
- invalidParams.AddNested("ProvisionedThroughput", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAttributeDefinitions sets the AttributeDefinitions field's value.
- func (s *CreateTableInput) SetAttributeDefinitions(v []*AttributeDefinition) *CreateTableInput {
- s.AttributeDefinitions = v
- return s
- }
- // SetBillingMode sets the BillingMode field's value.
- func (s *CreateTableInput) SetBillingMode(v string) *CreateTableInput {
- s.BillingMode = &v
- return s
- }
- // SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value.
- func (s *CreateTableInput) SetGlobalSecondaryIndexes(v []*GlobalSecondaryIndex) *CreateTableInput {
- s.GlobalSecondaryIndexes = v
- return s
- }
- // SetKeySchema sets the KeySchema field's value.
- func (s *CreateTableInput) SetKeySchema(v []*KeySchemaElement) *CreateTableInput {
- s.KeySchema = v
- return s
- }
- // SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value.
- func (s *CreateTableInput) SetLocalSecondaryIndexes(v []*LocalSecondaryIndex) *CreateTableInput {
- s.LocalSecondaryIndexes = v
- return s
- }
- // SetProvisionedThroughput sets the ProvisionedThroughput field's value.
- func (s *CreateTableInput) SetProvisionedThroughput(v *ProvisionedThroughput) *CreateTableInput {
- s.ProvisionedThroughput = v
- return s
- }
- // SetSSESpecification sets the SSESpecification field's value.
- func (s *CreateTableInput) SetSSESpecification(v *SSESpecification) *CreateTableInput {
- s.SSESpecification = v
- return s
- }
- // SetStreamSpecification sets the StreamSpecification field's value.
- func (s *CreateTableInput) SetStreamSpecification(v *StreamSpecification) *CreateTableInput {
- s.StreamSpecification = v
- return s
- }
- // SetTableName sets the TableName field's value.
- func (s *CreateTableInput) SetTableName(v string) *CreateTableInput {
- s.TableName = &v
- return s
- }
- // Represents the output of a CreateTable operation.
- type CreateTableOutput struct {
- _ struct{} `type:"structure"`
- // Represents the properties of the table.
- TableDescription *TableDescription `type:"structure"`
- }
- // String returns the string representation
- func (s CreateTableOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateTableOutput) GoString() string {
- return s.String()
- }
- // SetTableDescription sets the TableDescription field's value.
- func (s *CreateTableOutput) SetTableDescription(v *TableDescription) *CreateTableOutput {
- s.TableDescription = v
- return s
- }
- // Represents a request to perform a DeleteItem operation.
- type Delete struct {
- _ struct{} `type:"structure"`
- // A condition that must be satisfied in order for a conditional delete to succeed.
- ConditionExpression *string `type:"string"`
- // One or more substitution tokens for attribute names in an expression.
- ExpressionAttributeNames map[string]*string `type:"map"`
- // One or more values that can be substituted in an expression.
- ExpressionAttributeValues map[string]*AttributeValue `type:"map"`
- // The primary key of the item to be deleted. Each element consists of an attribute
- // name and a value for that attribute.
- //
- // Key is a required field
- Key map[string]*AttributeValue `type:"map" required:"true"`
- // Use ReturnValuesOnConditionCheckFailure to get the item attributes if the
- // Delete condition fails. For ReturnValuesOnConditionCheckFailure, the valid
- // values are: NONE and ALL_OLD.
- ReturnValuesOnConditionCheckFailure *string `type:"string" enum:"ReturnValuesOnConditionCheckFailure"`
- // Name of the table in which the item to be deleted resides.
- //
- // TableName is a required field
- TableName *string `min:"3" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s Delete) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Delete) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Delete) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Delete"}
- if s.Key == nil {
- invalidParams.Add(request.NewErrParamRequired("Key"))
- }
- if s.TableName == nil {
- invalidParams.Add(request.NewErrParamRequired("TableName"))
- }
- if s.TableName != nil && len(*s.TableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetConditionExpression sets the ConditionExpression field's value.
- func (s *Delete) SetConditionExpression(v string) *Delete {
- s.ConditionExpression = &v
- return s
- }
- // SetExpressionAttributeNames sets the ExpressionAttributeNames field's value.
- func (s *Delete) SetExpressionAttributeNames(v map[string]*string) *Delete {
- s.ExpressionAttributeNames = v
- return s
- }
- // SetExpressionAttributeValues sets the ExpressionAttributeValues field's value.
- func (s *Delete) SetExpressionAttributeValues(v map[string]*AttributeValue) *Delete {
- s.ExpressionAttributeValues = v
- return s
- }
- // SetKey sets the Key field's value.
- func (s *Delete) SetKey(v map[string]*AttributeValue) *Delete {
- s.Key = v
- return s
- }
- // SetReturnValuesOnConditionCheckFailure sets the ReturnValuesOnConditionCheckFailure field's value.
- func (s *Delete) SetReturnValuesOnConditionCheckFailure(v string) *Delete {
- s.ReturnValuesOnConditionCheckFailure = &v
- return s
- }
- // SetTableName sets the TableName field's value.
- func (s *Delete) SetTableName(v string) *Delete {
- s.TableName = &v
- return s
- }
- type DeleteBackupInput struct {
- _ struct{} `type:"structure"`
- // The ARN associated with the backup.
- //
- // BackupArn is a required field
- BackupArn *string `min:"37" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DeleteBackupInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteBackupInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeleteBackupInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteBackupInput"}
- if s.BackupArn == nil {
- invalidParams.Add(request.NewErrParamRequired("BackupArn"))
- }
- if s.BackupArn != nil && len(*s.BackupArn) < 37 {
- invalidParams.Add(request.NewErrParamMinLen("BackupArn", 37))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetBackupArn sets the BackupArn field's value.
- func (s *DeleteBackupInput) SetBackupArn(v string) *DeleteBackupInput {
- s.BackupArn = &v
- return s
- }
- type DeleteBackupOutput struct {
- _ struct{} `type:"structure"`
- // Contains the description of the backup created for the table.
- BackupDescription *BackupDescription `type:"structure"`
- }
- // String returns the string representation
- func (s DeleteBackupOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteBackupOutput) GoString() string {
- return s.String()
- }
- // SetBackupDescription sets the BackupDescription field's value.
- func (s *DeleteBackupOutput) SetBackupDescription(v *BackupDescription) *DeleteBackupOutput {
- s.BackupDescription = v
- return s
- }
- // Represents a global secondary index to be deleted from an existing table.
- type DeleteGlobalSecondaryIndexAction struct {
- _ struct{} `type:"structure"`
- // The name of the global secondary index to be deleted.
- //
- // IndexName is a required field
- IndexName *string `min:"3" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DeleteGlobalSecondaryIndexAction) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteGlobalSecondaryIndexAction) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeleteGlobalSecondaryIndexAction) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteGlobalSecondaryIndexAction"}
- if s.IndexName == nil {
- invalidParams.Add(request.NewErrParamRequired("IndexName"))
- }
- if s.IndexName != nil && len(*s.IndexName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("IndexName", 3))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetIndexName sets the IndexName field's value.
- func (s *DeleteGlobalSecondaryIndexAction) SetIndexName(v string) *DeleteGlobalSecondaryIndexAction {
- s.IndexName = &v
- return s
- }
- // Represents the input of a DeleteItem operation.
- type DeleteItemInput struct {
- _ struct{} `type:"structure"`
- // A condition that must be satisfied in order for a conditional DeleteItem
- // to succeed.
- //
- // An expression can contain any of the following:
- //
- // * Functions: attribute_exists | attribute_not_exists | attribute_type
- // | contains | begins_with | size
- //
- // These function names are case-sensitive.
- //
- // * Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN
- //
- // * Logical operators: AND | OR | NOT
- //
- // For more information on condition expressions, see Specifying Conditions
- // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html)
- // in the Amazon DynamoDB Developer Guide.
- ConditionExpression *string `type:"string"`
- // This is a legacy parameter. Use ConditionExpression instead. For more information,
- // see ConditionalOperator (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html)
- // in the Amazon DynamoDB Developer Guide.
- ConditionalOperator *string `type:"string" enum:"ConditionalOperator"`
- // This is a legacy parameter. Use ConditionExpression instead. For more information,
- // see Expected (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html)
- // in the Amazon DynamoDB Developer Guide.
- Expected map[string]*ExpectedAttributeValue `type:"map"`
- // One or more substitution tokens for attribute names in an expression. The
- // following are some use cases for using ExpressionAttributeNames:
- //
- // * To access an attribute whose name conflicts with a DynamoDB reserved
- // word.
- //
- // * To create a placeholder for repeating occurrences of an attribute name
- // in an expression.
- //
- // * To prevent special characters in an attribute name from being misinterpreted
- // in an expression.
- //
- // Use the # character in an expression to dereference an attribute name. For
- // example, consider the following attribute name:
- //
- // * Percentile
- //
- // The name of this attribute conflicts with a reserved word, so it cannot be
- // used directly in an expression. (For the complete list of reserved words,
- // see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html)
- // in the Amazon DynamoDB Developer Guide). To work around this, you could specify
- // the following for ExpressionAttributeNames:
- //
- // * {"#P":"Percentile"}
- //
- // You could then use this substitution in an expression, as in this example:
- //
- // * #P = :val
- //
- // Tokens that begin with the : character are expression attribute values, which
- // are placeholders for the actual value at runtime.
- //
- // For more information on expression attribute names, see Accessing Item Attributes
- // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html)
- // in the Amazon DynamoDB Developer Guide.
- ExpressionAttributeNames map[string]*string `type:"map"`
- // One or more values that can be substituted in an expression.
- //
- // Use the : (colon) character in an expression to dereference an attribute
- // value. For example, suppose that you wanted to check whether the value of
- // the ProductStatus attribute was one of the following:
- //
- // Available | Backordered | Discontinued
- //
- // You would first need to specify ExpressionAttributeValues as follows:
- //
- // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"}
- // }
- //
- // You could then use these values in an expression, such as this:
- //
- // ProductStatus IN (:avail, :back, :disc)
- //
- // For more information on expression attribute values, see Specifying Conditions
- // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html)
- // in the Amazon DynamoDB Developer Guide.
- ExpressionAttributeValues map[string]*AttributeValue `type:"map"`
- // A map of attribute names to AttributeValue objects, representing the primary
- // key of the item to delete.
- //
- // For the primary key, you must provide all of the attributes. For example,
- // with a simple primary key, you only need to provide a value for the partition
- // key. For a composite primary key, you must provide values for both the partition
- // key and the sort key.
- //
- // Key is a required field
- Key map[string]*AttributeValue `type:"map" required:"true"`
- // Determines the level of detail about provisioned throughput consumption that
- // is returned in the response:
- //
- // * INDEXES - The response includes the aggregate ConsumedCapacity for the
- // operation, together with ConsumedCapacity for each table and secondary
- // index that was accessed.
- //
- // Note that some operations, such as GetItem and BatchGetItem, do not access
- // any indexes at all. In these cases, specifying INDEXES will only return
- // ConsumedCapacity information for table(s).
- //
- // * TOTAL - The response includes only the aggregate ConsumedCapacity for
- // the operation.
- //
- // * NONE - No ConsumedCapacity details are included in the response.
- ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"`
- // Determines whether item collection metrics are returned. If set to SIZE,
- // the response includes statistics about item collections, if any, that were
- // modified during the operation are returned in the response. If set to NONE
- // (the default), no statistics are returned.
- ReturnItemCollectionMetrics *string `type:"string" enum:"ReturnItemCollectionMetrics"`
- // Use ReturnValues if you want to get the item attributes as they appeared
- // before they were deleted. For DeleteItem, the valid values are:
- //
- // * NONE - If ReturnValues is not specified, or if its value is NONE, then
- // nothing is returned. (This setting is the default for ReturnValues.)
- //
- // * ALL_OLD - The content of the old item is returned.
- //
- // The ReturnValues parameter is used by several DynamoDB operations; however,
- // DeleteItem does not recognize any values other than NONE or ALL_OLD.
- ReturnValues *string `type:"string" enum:"ReturnValue"`
- // The name of the table from which to delete the item.
- //
- // TableName is a required field
- TableName *string `min:"3" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DeleteItemInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteItemInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeleteItemInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteItemInput"}
- if s.Key == nil {
- invalidParams.Add(request.NewErrParamRequired("Key"))
- }
- if s.TableName == nil {
- invalidParams.Add(request.NewErrParamRequired("TableName"))
- }
- if s.TableName != nil && len(*s.TableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetConditionExpression sets the ConditionExpression field's value.
- func (s *DeleteItemInput) SetConditionExpression(v string) *DeleteItemInput {
- s.ConditionExpression = &v
- return s
- }
- // SetConditionalOperator sets the ConditionalOperator field's value.
- func (s *DeleteItemInput) SetConditionalOperator(v string) *DeleteItemInput {
- s.ConditionalOperator = &v
- return s
- }
- // SetExpected sets the Expected field's value.
- func (s *DeleteItemInput) SetExpected(v map[string]*ExpectedAttributeValue) *DeleteItemInput {
- s.Expected = v
- return s
- }
- // SetExpressionAttributeNames sets the ExpressionAttributeNames field's value.
- func (s *DeleteItemInput) SetExpressionAttributeNames(v map[string]*string) *DeleteItemInput {
- s.ExpressionAttributeNames = v
- return s
- }
- // SetExpressionAttributeValues sets the ExpressionAttributeValues field's value.
- func (s *DeleteItemInput) SetExpressionAttributeValues(v map[string]*AttributeValue) *DeleteItemInput {
- s.ExpressionAttributeValues = v
- return s
- }
- // SetKey sets the Key field's value.
- func (s *DeleteItemInput) SetKey(v map[string]*AttributeValue) *DeleteItemInput {
- s.Key = v
- return s
- }
- // SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value.
- func (s *DeleteItemInput) SetReturnConsumedCapacity(v string) *DeleteItemInput {
- s.ReturnConsumedCapacity = &v
- return s
- }
- // SetReturnItemCollectionMetrics sets the ReturnItemCollectionMetrics field's value.
- func (s *DeleteItemInput) SetReturnItemCollectionMetrics(v string) *DeleteItemInput {
- s.ReturnItemCollectionMetrics = &v
- return s
- }
- // SetReturnValues sets the ReturnValues field's value.
- func (s *DeleteItemInput) SetReturnValues(v string) *DeleteItemInput {
- s.ReturnValues = &v
- return s
- }
- // SetTableName sets the TableName field's value.
- func (s *DeleteItemInput) SetTableName(v string) *DeleteItemInput {
- s.TableName = &v
- return s
- }
- // Represents the output of a DeleteItem operation.
- type DeleteItemOutput struct {
- _ struct{} `type:"structure"`
- // A map of attribute names to AttributeValue objects, representing the item
- // as it appeared before the DeleteItem operation. This map appears in the response
- // only if ReturnValues was specified as ALL_OLD in the request.
- Attributes map[string]*AttributeValue `type:"map"`
- // The capacity units consumed by the DeleteItem operation. The data returned
- // includes the total provisioned throughput consumed, along with statistics
- // for the table and any indexes involved in the operation. ConsumedCapacity
- // is only returned if the ReturnConsumedCapacity parameter was specified. For
- // more information, see Provisioned Throughput (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html)
- // in the Amazon DynamoDB Developer Guide.
- ConsumedCapacity *ConsumedCapacity `type:"structure"`
- // Information about item collections, if any, that were affected by the DeleteItem
- // operation. ItemCollectionMetrics is only returned if the ReturnItemCollectionMetrics
- // parameter was specified. If the table does not have any local secondary indexes,
- // this information is not returned in the response.
- //
- // Each ItemCollectionMetrics element consists of:
- //
- // * ItemCollectionKey - The partition key value of the item collection.
- // This is the same as the partition key value of the item itself.
- //
- // * SizeEstimateRangeGB - An estimate of item collection size, in gigabytes.
- // This value is a two-element array containing a lower bound and an upper
- // bound for the estimate. The estimate includes the size of all the items
- // in the table, plus the size of all attributes projected into all of the
- // local secondary indexes on that table. Use this estimate to measure whether
- // a local secondary index is approaching its size limit.
- //
- // The estimate is subject to change over time; therefore, do not rely on the
- // precision or accuracy of the estimate.
- ItemCollectionMetrics *ItemCollectionMetrics `type:"structure"`
- }
- // String returns the string representation
- func (s DeleteItemOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteItemOutput) GoString() string {
- return s.String()
- }
- // SetAttributes sets the Attributes field's value.
- func (s *DeleteItemOutput) SetAttributes(v map[string]*AttributeValue) *DeleteItemOutput {
- s.Attributes = v
- return s
- }
- // SetConsumedCapacity sets the ConsumedCapacity field's value.
- func (s *DeleteItemOutput) SetConsumedCapacity(v *ConsumedCapacity) *DeleteItemOutput {
- s.ConsumedCapacity = v
- return s
- }
- // SetItemCollectionMetrics sets the ItemCollectionMetrics field's value.
- func (s *DeleteItemOutput) SetItemCollectionMetrics(v *ItemCollectionMetrics) *DeleteItemOutput {
- s.ItemCollectionMetrics = v
- return s
- }
- // Represents a replica to be removed.
- type DeleteReplicaAction struct {
- _ struct{} `type:"structure"`
- // The region of the replica to be removed.
- //
- // RegionName is a required field
- RegionName *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DeleteReplicaAction) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteReplicaAction) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeleteReplicaAction) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteReplicaAction"}
- if s.RegionName == nil {
- invalidParams.Add(request.NewErrParamRequired("RegionName"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetRegionName sets the RegionName field's value.
- func (s *DeleteReplicaAction) SetRegionName(v string) *DeleteReplicaAction {
- s.RegionName = &v
- return s
- }
- // Represents a request to perform a DeleteItem operation on an item.
- type DeleteRequest struct {
- _ struct{} `type:"structure"`
- // A map of attribute name to attribute values, representing the primary key
- // of the item to delete. All of the table's primary key attributes must be
- // specified, and their data types must match those of the table's key schema.
- //
- // Key is a required field
- Key map[string]*AttributeValue `type:"map" required:"true"`
- }
- // String returns the string representation
- func (s DeleteRequest) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteRequest) GoString() string {
- return s.String()
- }
- // SetKey sets the Key field's value.
- func (s *DeleteRequest) SetKey(v map[string]*AttributeValue) *DeleteRequest {
- s.Key = v
- return s
- }
- // Represents the input of a DeleteTable operation.
- type DeleteTableInput struct {
- _ struct{} `type:"structure"`
- // The name of the table to delete.
- //
- // TableName is a required field
- TableName *string `min:"3" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DeleteTableInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteTableInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeleteTableInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteTableInput"}
- if s.TableName == nil {
- invalidParams.Add(request.NewErrParamRequired("TableName"))
- }
- if s.TableName != nil && len(*s.TableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetTableName sets the TableName field's value.
- func (s *DeleteTableInput) SetTableName(v string) *DeleteTableInput {
- s.TableName = &v
- return s
- }
- // Represents the output of a DeleteTable operation.
- type DeleteTableOutput struct {
- _ struct{} `type:"structure"`
- // Represents the properties of a table.
- TableDescription *TableDescription `type:"structure"`
- }
- // String returns the string representation
- func (s DeleteTableOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteTableOutput) GoString() string {
- return s.String()
- }
- // SetTableDescription sets the TableDescription field's value.
- func (s *DeleteTableOutput) SetTableDescription(v *TableDescription) *DeleteTableOutput {
- s.TableDescription = v
- return s
- }
- type DescribeBackupInput struct {
- _ struct{} `type:"structure"`
- // The ARN associated with the backup.
- //
- // BackupArn is a required field
- BackupArn *string `min:"37" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DescribeBackupInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeBackupInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeBackupInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeBackupInput"}
- if s.BackupArn == nil {
- invalidParams.Add(request.NewErrParamRequired("BackupArn"))
- }
- if s.BackupArn != nil && len(*s.BackupArn) < 37 {
- invalidParams.Add(request.NewErrParamMinLen("BackupArn", 37))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetBackupArn sets the BackupArn field's value.
- func (s *DescribeBackupInput) SetBackupArn(v string) *DescribeBackupInput {
- s.BackupArn = &v
- return s
- }
- type DescribeBackupOutput struct {
- _ struct{} `type:"structure"`
- // Contains the description of the backup created for the table.
- BackupDescription *BackupDescription `type:"structure"`
- }
- // String returns the string representation
- func (s DescribeBackupOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeBackupOutput) GoString() string {
- return s.String()
- }
- // SetBackupDescription sets the BackupDescription field's value.
- func (s *DescribeBackupOutput) SetBackupDescription(v *BackupDescription) *DescribeBackupOutput {
- s.BackupDescription = v
- return s
- }
- type DescribeContinuousBackupsInput struct {
- _ struct{} `type:"structure"`
- // Name of the table for which the customer wants to check the continuous backups
- // and point in time recovery settings.
- //
- // TableName is a required field
- TableName *string `min:"3" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DescribeContinuousBackupsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeContinuousBackupsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeContinuousBackupsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeContinuousBackupsInput"}
- if s.TableName == nil {
- invalidParams.Add(request.NewErrParamRequired("TableName"))
- }
- if s.TableName != nil && len(*s.TableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetTableName sets the TableName field's value.
- func (s *DescribeContinuousBackupsInput) SetTableName(v string) *DescribeContinuousBackupsInput {
- s.TableName = &v
- return s
- }
- type DescribeContinuousBackupsOutput struct {
- _ struct{} `type:"structure"`
- // Represents the continuous backups and point in time recovery settings on
- // the table.
- ContinuousBackupsDescription *ContinuousBackupsDescription `type:"structure"`
- }
- // String returns the string representation
- func (s DescribeContinuousBackupsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeContinuousBackupsOutput) GoString() string {
- return s.String()
- }
- // SetContinuousBackupsDescription sets the ContinuousBackupsDescription field's value.
- func (s *DescribeContinuousBackupsOutput) SetContinuousBackupsDescription(v *ContinuousBackupsDescription) *DescribeContinuousBackupsOutput {
- s.ContinuousBackupsDescription = v
- return s
- }
- type DescribeEndpointsInput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s DescribeEndpointsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeEndpointsInput) GoString() string {
- return s.String()
- }
- type DescribeEndpointsOutput struct {
- _ struct{} `type:"structure"`
- // List of endpoints.
- //
- // Endpoints is a required field
- Endpoints []*Endpoint `type:"list" required:"true"`
- }
- // String returns the string representation
- func (s DescribeEndpointsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeEndpointsOutput) GoString() string {
- return s.String()
- }
- // SetEndpoints sets the Endpoints field's value.
- func (s *DescribeEndpointsOutput) SetEndpoints(v []*Endpoint) *DescribeEndpointsOutput {
- s.Endpoints = v
- return s
- }
- type DescribeGlobalTableInput struct {
- _ struct{} `type:"structure"`
- // The name of the global table.
- //
- // GlobalTableName is a required field
- GlobalTableName *string `min:"3" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DescribeGlobalTableInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeGlobalTableInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeGlobalTableInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeGlobalTableInput"}
- if s.GlobalTableName == nil {
- invalidParams.Add(request.NewErrParamRequired("GlobalTableName"))
- }
- if s.GlobalTableName != nil && len(*s.GlobalTableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("GlobalTableName", 3))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetGlobalTableName sets the GlobalTableName field's value.
- func (s *DescribeGlobalTableInput) SetGlobalTableName(v string) *DescribeGlobalTableInput {
- s.GlobalTableName = &v
- return s
- }
- type DescribeGlobalTableOutput struct {
- _ struct{} `type:"structure"`
- // Contains the details of the global table.
- GlobalTableDescription *GlobalTableDescription `type:"structure"`
- }
- // String returns the string representation
- func (s DescribeGlobalTableOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeGlobalTableOutput) GoString() string {
- return s.String()
- }
- // SetGlobalTableDescription sets the GlobalTableDescription field's value.
- func (s *DescribeGlobalTableOutput) SetGlobalTableDescription(v *GlobalTableDescription) *DescribeGlobalTableOutput {
- s.GlobalTableDescription = v
- return s
- }
- type DescribeGlobalTableSettingsInput struct {
- _ struct{} `type:"structure"`
- // The name of the global table to describe.
- //
- // GlobalTableName is a required field
- GlobalTableName *string `min:"3" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DescribeGlobalTableSettingsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeGlobalTableSettingsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeGlobalTableSettingsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeGlobalTableSettingsInput"}
- if s.GlobalTableName == nil {
- invalidParams.Add(request.NewErrParamRequired("GlobalTableName"))
- }
- if s.GlobalTableName != nil && len(*s.GlobalTableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("GlobalTableName", 3))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetGlobalTableName sets the GlobalTableName field's value.
- func (s *DescribeGlobalTableSettingsInput) SetGlobalTableName(v string) *DescribeGlobalTableSettingsInput {
- s.GlobalTableName = &v
- return s
- }
- type DescribeGlobalTableSettingsOutput struct {
- _ struct{} `type:"structure"`
- // The name of the global table.
- GlobalTableName *string `min:"3" type:"string"`
- // The region specific settings for the global table.
- ReplicaSettings []*ReplicaSettingsDescription `type:"list"`
- }
- // String returns the string representation
- func (s DescribeGlobalTableSettingsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeGlobalTableSettingsOutput) GoString() string {
- return s.String()
- }
- // SetGlobalTableName sets the GlobalTableName field's value.
- func (s *DescribeGlobalTableSettingsOutput) SetGlobalTableName(v string) *DescribeGlobalTableSettingsOutput {
- s.GlobalTableName = &v
- return s
- }
- // SetReplicaSettings sets the ReplicaSettings field's value.
- func (s *DescribeGlobalTableSettingsOutput) SetReplicaSettings(v []*ReplicaSettingsDescription) *DescribeGlobalTableSettingsOutput {
- s.ReplicaSettings = v
- return s
- }
- // Represents the input of a DescribeLimits operation. Has no content.
- type DescribeLimitsInput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s DescribeLimitsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeLimitsInput) GoString() string {
- return s.String()
- }
- // Represents the output of a DescribeLimits operation.
- type DescribeLimitsOutput struct {
- _ struct{} `type:"structure"`
- // The maximum total read capacity units that your account allows you to provision
- // across all of your tables in this region.
- AccountMaxReadCapacityUnits *int64 `min:"1" type:"long"`
- // The maximum total write capacity units that your account allows you to provision
- // across all of your tables in this region.
- AccountMaxWriteCapacityUnits *int64 `min:"1" type:"long"`
- // The maximum read capacity units that your account allows you to provision
- // for a new table that you are creating in this region, including the read
- // capacity units provisioned for its global secondary indexes (GSIs).
- TableMaxReadCapacityUnits *int64 `min:"1" type:"long"`
- // The maximum write capacity units that your account allows you to provision
- // for a new table that you are creating in this region, including the write
- // capacity units provisioned for its global secondary indexes (GSIs).
- TableMaxWriteCapacityUnits *int64 `min:"1" type:"long"`
- }
- // String returns the string representation
- func (s DescribeLimitsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeLimitsOutput) GoString() string {
- return s.String()
- }
- // SetAccountMaxReadCapacityUnits sets the AccountMaxReadCapacityUnits field's value.
- func (s *DescribeLimitsOutput) SetAccountMaxReadCapacityUnits(v int64) *DescribeLimitsOutput {
- s.AccountMaxReadCapacityUnits = &v
- return s
- }
- // SetAccountMaxWriteCapacityUnits sets the AccountMaxWriteCapacityUnits field's value.
- func (s *DescribeLimitsOutput) SetAccountMaxWriteCapacityUnits(v int64) *DescribeLimitsOutput {
- s.AccountMaxWriteCapacityUnits = &v
- return s
- }
- // SetTableMaxReadCapacityUnits sets the TableMaxReadCapacityUnits field's value.
- func (s *DescribeLimitsOutput) SetTableMaxReadCapacityUnits(v int64) *DescribeLimitsOutput {
- s.TableMaxReadCapacityUnits = &v
- return s
- }
- // SetTableMaxWriteCapacityUnits sets the TableMaxWriteCapacityUnits field's value.
- func (s *DescribeLimitsOutput) SetTableMaxWriteCapacityUnits(v int64) *DescribeLimitsOutput {
- s.TableMaxWriteCapacityUnits = &v
- return s
- }
- // Represents the input of a DescribeTable operation.
- type DescribeTableInput struct {
- _ struct{} `type:"structure"`
- // The name of the table to describe.
- //
- // TableName is a required field
- TableName *string `min:"3" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DescribeTableInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeTableInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeTableInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeTableInput"}
- if s.TableName == nil {
- invalidParams.Add(request.NewErrParamRequired("TableName"))
- }
- if s.TableName != nil && len(*s.TableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetTableName sets the TableName field's value.
- func (s *DescribeTableInput) SetTableName(v string) *DescribeTableInput {
- s.TableName = &v
- return s
- }
- // Represents the output of a DescribeTable operation.
- type DescribeTableOutput struct {
- _ struct{} `type:"structure"`
- // The properties of the table.
- Table *TableDescription `type:"structure"`
- }
- // String returns the string representation
- func (s DescribeTableOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeTableOutput) GoString() string {
- return s.String()
- }
- // SetTable sets the Table field's value.
- func (s *DescribeTableOutput) SetTable(v *TableDescription) *DescribeTableOutput {
- s.Table = v
- return s
- }
- type DescribeTimeToLiveInput struct {
- _ struct{} `type:"structure"`
- // The name of the table to be described.
- //
- // TableName is a required field
- TableName *string `min:"3" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DescribeTimeToLiveInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeTimeToLiveInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeTimeToLiveInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeTimeToLiveInput"}
- if s.TableName == nil {
- invalidParams.Add(request.NewErrParamRequired("TableName"))
- }
- if s.TableName != nil && len(*s.TableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetTableName sets the TableName field's value.
- func (s *DescribeTimeToLiveInput) SetTableName(v string) *DescribeTimeToLiveInput {
- s.TableName = &v
- return s
- }
- type DescribeTimeToLiveOutput struct {
- _ struct{} `type:"structure"`
- // The description of the Time to Live (TTL) status on the specified table.
- TimeToLiveDescription *TimeToLiveDescription `type:"structure"`
- }
- // String returns the string representation
- func (s DescribeTimeToLiveOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeTimeToLiveOutput) GoString() string {
- return s.String()
- }
- // SetTimeToLiveDescription sets the TimeToLiveDescription field's value.
- func (s *DescribeTimeToLiveOutput) SetTimeToLiveDescription(v *TimeToLiveDescription) *DescribeTimeToLiveOutput {
- s.TimeToLiveDescription = v
- return s
- }
- // An endpoint information details.
- type Endpoint struct {
- _ struct{} `type:"structure"`
- // IP address of the endpoint.
- //
- // Address is a required field
- Address *string `type:"string" required:"true"`
- // Endpoint cache time to live (TTL) value.
- //
- // CachePeriodInMinutes is a required field
- CachePeriodInMinutes *int64 `type:"long" required:"true"`
- }
- // String returns the string representation
- func (s Endpoint) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Endpoint) GoString() string {
- return s.String()
- }
- // SetAddress sets the Address field's value.
- func (s *Endpoint) SetAddress(v string) *Endpoint {
- s.Address = &v
- return s
- }
- // SetCachePeriodInMinutes sets the CachePeriodInMinutes field's value.
- func (s *Endpoint) SetCachePeriodInMinutes(v int64) *Endpoint {
- s.CachePeriodInMinutes = &v
- return s
- }
- // Represents a condition to be compared with an attribute value. This condition
- // can be used with DeleteItem, PutItem or UpdateItem operations; if the comparison
- // evaluates to true, the operation succeeds; if not, the operation fails. You
- // can use ExpectedAttributeValue in one of two different ways:
- //
- // * Use AttributeValueList to specify one or more values to compare against
- // an attribute. Use ComparisonOperator to specify how you want to perform
- // the comparison. If the comparison evaluates to true, then the conditional
- // operation succeeds.
- //
- // * Use Value to specify a value that DynamoDB will compare against an attribute.
- // If the values match, then ExpectedAttributeValue evaluates to true and
- // the conditional operation succeeds. Optionally, you can also set Exists
- // to false, indicating that you do not expect to find the attribute value
- // in the table. In this case, the conditional operation succeeds only if
- // the comparison evaluates to false.
- //
- // Value and Exists are incompatible with AttributeValueList and ComparisonOperator.
- // Note that if you use both sets of parameters at once, DynamoDB will return
- // a ValidationException exception.
- type ExpectedAttributeValue struct {
- _ struct{} `type:"structure"`
- // One or more values to evaluate against the supplied attribute. The number
- // of values in the list depends on the ComparisonOperator being used.
- //
- // For type Number, value comparisons are numeric.
- //
- // String value comparisons for greater than, equals, or less than are based
- // on ASCII character code values. For example, a is greater than A, and a is
- // greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters
- // (http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters).
- //
- // For Binary, DynamoDB treats each byte of the binary data as unsigned when
- // it compares binary values.
- //
- // For information on specifying data types in JSON, see JSON Data Format (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataFormat.html)
- // in the Amazon DynamoDB Developer Guide.
- AttributeValueList []*AttributeValue `type:"list"`
- // A comparator for evaluating attributes in the AttributeValueList. For example,
- // equals, greater than, less than, etc.
- //
- // The following comparison operators are available:
- //
- // EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS |
- // BEGINS_WITH | IN | BETWEEN
- //
- // The following are descriptions of each comparison operator.
- //
- // * EQ : Equal. EQ is supported for all data types, including lists and
- // maps.
- //
- // AttributeValueList can contain only one AttributeValue element of type String,
- // Number, Binary, String Set, Number Set, or Binary Set. If an item contains
- // an AttributeValue element of a different type than the one provided in
- // the request, the value does not match. For example, {"S":"6"} does not
- // equal {"N":"6"}. Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}.
- //
- // * NE : Not equal. NE is supported for all data types, including lists
- // and maps.
- //
- // * AttributeValueList can contain only one AttributeValue of type String,
- // Number, Binary, String Set, Number Set, or Binary Set. If an item contains
- // an AttributeValue of a different type than the one provided in the request,
- // the value does not match. For example, {"S":"6"} does not equal {"N":"6"}.
- // Also, {"N":"6"} does not equal {"NS":["6", "2", "1"]}.
- //
- // * LE : Less than or equal.
- //
- // AttributeValueList can contain only one AttributeValue element of type String,
- // Number, or Binary (not a set type). If an item contains an AttributeValue
- // element of a different type than the one provided in the request, the value
- // does not match. For example, {"S":"6"} does not equal {"N":"6"}. Also, {"N":"6"}
- // does not compare to {"NS":["6", "2", "1"]}.
- //
- // LT: Less than.
- //
- // AttributeValueListcan contain only one AttributeValueof type String, Number, or Binary (not a set type). If an item contains an
- // AttributeValueelement of a different type than the one provided in the request, the value
- // does not match. For example, {"S":"6"}does not equal {"N":"6"}. Also, {"N":"6"}does not compare to {"NS":["6", "2", "1"]}
- ComparisonOperator *string `type:"string" enum:"ComparisonOperator"`
- // Causes DynamoDB to evaluate the value before attempting a conditional operation:
- //
- // * If Exists is true, DynamoDB will check to see if that attribute value
- // already exists in the table. If it is found, then the operation succeeds.
- // If it is not found, the operation fails with a ConditionCheckFailedException.
- //
- // * If Exists is false, DynamoDB assumes that the attribute value does not
- // exist in the table. If in fact the value does not exist, then the assumption
- // is valid and the operation succeeds. If the value is found, despite the
- // assumption that it does not exist, the operation fails with a ConditionCheckFailedException.
- //
- // The default setting for Exists is true. If you supply a Value all by itself,
- // DynamoDB assumes the attribute exists: You don't have to set Exists to true,
- // because it is implied.
- //
- // DynamoDB returns a ValidationException if:
- //
- // * Exists is true but there is no Value to check. (You expect a value to
- // exist, but don't specify what that value is.)
- //
- // * Exists is false but you also provide a Value. (You cannot expect an
- // attribute to have a value, while also expecting it not to exist.)
- Exists *bool `type:"boolean"`
- // Represents the data for the expected attribute.
- //
- // Each attribute value is described as a name-value pair. The name is the data
- // type, and the value is the data itself.
- //
- // For more information, see Data Types (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes)
- // in the Amazon DynamoDB Developer Guide.
- Value *AttributeValue `type:"structure"`
- }
- // String returns the string representation
- func (s ExpectedAttributeValue) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ExpectedAttributeValue) GoString() string {
- return s.String()
- }
- // SetAttributeValueList sets the AttributeValueList field's value.
- func (s *ExpectedAttributeValue) SetAttributeValueList(v []*AttributeValue) *ExpectedAttributeValue {
- s.AttributeValueList = v
- return s
- }
- // SetComparisonOperator sets the ComparisonOperator field's value.
- func (s *ExpectedAttributeValue) SetComparisonOperator(v string) *ExpectedAttributeValue {
- s.ComparisonOperator = &v
- return s
- }
- // SetExists sets the Exists field's value.
- func (s *ExpectedAttributeValue) SetExists(v bool) *ExpectedAttributeValue {
- s.Exists = &v
- return s
- }
- // SetValue sets the Value field's value.
- func (s *ExpectedAttributeValue) SetValue(v *AttributeValue) *ExpectedAttributeValue {
- s.Value = v
- return s
- }
- // Specifies an item and related attribute values to retrieve in a TransactGetItem
- // object.
- type Get struct {
- _ struct{} `type:"structure"`
- // One or more substitution tokens for attribute names in the ProjectionExpression
- // parameter.
- ExpressionAttributeNames map[string]*string `type:"map"`
- // A map of attribute names to AttributeValue objects that specifies the primary
- // key of the item to retrieve.
- //
- // Key is a required field
- Key map[string]*AttributeValue `type:"map" required:"true"`
- // A string that identifies one or more attributes of the specified item to
- // retrieve from the table. The attributes in the expression must be separated
- // by commas. If no attribute names are specified, then all attributes of the
- // specified item are returned. If any of the requested attributes are not found,
- // they do not appear in the result.
- ProjectionExpression *string `type:"string"`
- // The name of the table from which to retrieve the specified item.
- //
- // TableName is a required field
- TableName *string `min:"3" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s Get) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Get) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Get) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Get"}
- if s.Key == nil {
- invalidParams.Add(request.NewErrParamRequired("Key"))
- }
- if s.TableName == nil {
- invalidParams.Add(request.NewErrParamRequired("TableName"))
- }
- if s.TableName != nil && len(*s.TableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetExpressionAttributeNames sets the ExpressionAttributeNames field's value.
- func (s *Get) SetExpressionAttributeNames(v map[string]*string) *Get {
- s.ExpressionAttributeNames = v
- return s
- }
- // SetKey sets the Key field's value.
- func (s *Get) SetKey(v map[string]*AttributeValue) *Get {
- s.Key = v
- return s
- }
- // SetProjectionExpression sets the ProjectionExpression field's value.
- func (s *Get) SetProjectionExpression(v string) *Get {
- s.ProjectionExpression = &v
- return s
- }
- // SetTableName sets the TableName field's value.
- func (s *Get) SetTableName(v string) *Get {
- s.TableName = &v
- return s
- }
- // Represents the input of a GetItem operation.
- type GetItemInput struct {
- _ struct{} `type:"structure"`
- // This is a legacy parameter. Use ProjectionExpression instead. For more information,
- // see AttributesToGet (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html)
- // in the Amazon DynamoDB Developer Guide.
- AttributesToGet []*string `min:"1" type:"list"`
- // Determines the read consistency model: If set to true, then the operation
- // uses strongly consistent reads; otherwise, the operation uses eventually
- // consistent reads.
- ConsistentRead *bool `type:"boolean"`
- // One or more substitution tokens for attribute names in an expression. The
- // following are some use cases for using ExpressionAttributeNames:
- //
- // * To access an attribute whose name conflicts with a DynamoDB reserved
- // word.
- //
- // * To create a placeholder for repeating occurrences of an attribute name
- // in an expression.
- //
- // * To prevent special characters in an attribute name from being misinterpreted
- // in an expression.
- //
- // Use the # character in an expression to dereference an attribute name. For
- // example, consider the following attribute name:
- //
- // * Percentile
- //
- // The name of this attribute conflicts with a reserved word, so it cannot be
- // used directly in an expression. (For the complete list of reserved words,
- // see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html)
- // in the Amazon DynamoDB Developer Guide). To work around this, you could specify
- // the following for ExpressionAttributeNames:
- //
- // * {"#P":"Percentile"}
- //
- // You could then use this substitution in an expression, as in this example:
- //
- // * #P = :val
- //
- // Tokens that begin with the : character are expression attribute values, which
- // are placeholders for the actual value at runtime.
- //
- // For more information on expression attribute names, see Accessing Item Attributes
- // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html)
- // in the Amazon DynamoDB Developer Guide.
- ExpressionAttributeNames map[string]*string `type:"map"`
- // A map of attribute names to AttributeValue objects, representing the primary
- // key of the item to retrieve.
- //
- // For the primary key, you must provide all of the attributes. For example,
- // with a simple primary key, you only need to provide a value for the partition
- // key. For a composite primary key, you must provide values for both the partition
- // key and the sort key.
- //
- // Key is a required field
- Key map[string]*AttributeValue `type:"map" required:"true"`
- // A string that identifies one or more attributes to retrieve from the table.
- // These attributes can include scalars, sets, or elements of a JSON document.
- // The attributes in the expression must be separated by commas.
- //
- // If no attribute names are specified, then all attributes will be returned.
- // If any of the requested attributes are not found, they will not appear in
- // the result.
- //
- // For more information, see Accessing Item Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html)
- // in the Amazon DynamoDB Developer Guide.
- ProjectionExpression *string `type:"string"`
- // Determines the level of detail about provisioned throughput consumption that
- // is returned in the response:
- //
- // * INDEXES - The response includes the aggregate ConsumedCapacity for the
- // operation, together with ConsumedCapacity for each table and secondary
- // index that was accessed.
- //
- // Note that some operations, such as GetItem and BatchGetItem, do not access
- // any indexes at all. In these cases, specifying INDEXES will only return
- // ConsumedCapacity information for table(s).
- //
- // * TOTAL - The response includes only the aggregate ConsumedCapacity for
- // the operation.
- //
- // * NONE - No ConsumedCapacity details are included in the response.
- ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"`
- // The name of the table containing the requested item.
- //
- // TableName is a required field
- TableName *string `min:"3" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s GetItemInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetItemInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *GetItemInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetItemInput"}
- if s.AttributesToGet != nil && len(s.AttributesToGet) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("AttributesToGet", 1))
- }
- if s.Key == nil {
- invalidParams.Add(request.NewErrParamRequired("Key"))
- }
- if s.TableName == nil {
- invalidParams.Add(request.NewErrParamRequired("TableName"))
- }
- if s.TableName != nil && len(*s.TableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAttributesToGet sets the AttributesToGet field's value.
- func (s *GetItemInput) SetAttributesToGet(v []*string) *GetItemInput {
- s.AttributesToGet = v
- return s
- }
- // SetConsistentRead sets the ConsistentRead field's value.
- func (s *GetItemInput) SetConsistentRead(v bool) *GetItemInput {
- s.ConsistentRead = &v
- return s
- }
- // SetExpressionAttributeNames sets the ExpressionAttributeNames field's value.
- func (s *GetItemInput) SetExpressionAttributeNames(v map[string]*string) *GetItemInput {
- s.ExpressionAttributeNames = v
- return s
- }
- // SetKey sets the Key field's value.
- func (s *GetItemInput) SetKey(v map[string]*AttributeValue) *GetItemInput {
- s.Key = v
- return s
- }
- // SetProjectionExpression sets the ProjectionExpression field's value.
- func (s *GetItemInput) SetProjectionExpression(v string) *GetItemInput {
- s.ProjectionExpression = &v
- return s
- }
- // SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value.
- func (s *GetItemInput) SetReturnConsumedCapacity(v string) *GetItemInput {
- s.ReturnConsumedCapacity = &v
- return s
- }
- // SetTableName sets the TableName field's value.
- func (s *GetItemInput) SetTableName(v string) *GetItemInput {
- s.TableName = &v
- return s
- }
- // Represents the output of a GetItem operation.
- type GetItemOutput struct {
- _ struct{} `type:"structure"`
- // The capacity units consumed by the GetItem operation. The data returned includes
- // the total provisioned throughput consumed, along with statistics for the
- // table and any indexes involved in the operation. ConsumedCapacity is only
- // returned if the ReturnConsumedCapacity parameter was specified. For more
- // information, see Provisioned Throughput (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html)
- // in the Amazon DynamoDB Developer Guide.
- ConsumedCapacity *ConsumedCapacity `type:"structure"`
- // A map of attribute names to AttributeValue objects, as specified by ProjectionExpression.
- Item map[string]*AttributeValue `type:"map"`
- }
- // String returns the string representation
- func (s GetItemOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetItemOutput) GoString() string {
- return s.String()
- }
- // SetConsumedCapacity sets the ConsumedCapacity field's value.
- func (s *GetItemOutput) SetConsumedCapacity(v *ConsumedCapacity) *GetItemOutput {
- s.ConsumedCapacity = v
- return s
- }
- // SetItem sets the Item field's value.
- func (s *GetItemOutput) SetItem(v map[string]*AttributeValue) *GetItemOutput {
- s.Item = v
- return s
- }
- // Represents the properties of a global secondary index.
- type GlobalSecondaryIndex struct {
- _ struct{} `type:"structure"`
- // The name of the global secondary index. The name must be unique among all
- // other indexes on this table.
- //
- // IndexName is a required field
- IndexName *string `min:"3" type:"string" required:"true"`
- // The complete key schema for a global secondary index, which consists of one
- // or more pairs of attribute names and key types:
- //
- // * HASH - partition key
- //
- // * RANGE - sort key
- //
- // The partition key of an item is also known as its hash attribute. The term
- // "hash attribute" derives from DynamoDB' usage of an internal hash function
- // to evenly distribute data items across partitions, based on their partition
- // key values.
- //
- // The sort key of an item is also known as its range attribute. The term "range
- // attribute" derives from the way DynamoDB stores items with the same partition
- // key physically close together, in sorted order by the sort key value.
- //
- // KeySchema is a required field
- KeySchema []*KeySchemaElement `min:"1" type:"list" required:"true"`
- // Represents attributes that are copied (projected) from the table into the
- // global secondary index. These are in addition to the primary key attributes
- // and index key attributes, which are automatically projected.
- //
- // Projection is a required field
- Projection *Projection `type:"structure" required:"true"`
- // Represents the provisioned throughput settings for the specified global secondary
- // index.
- //
- // For current minimum and maximum provisioned throughput values, see Limits
- // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html)
- // in the Amazon DynamoDB Developer Guide.
- ProvisionedThroughput *ProvisionedThroughput `type:"structure"`
- }
- // String returns the string representation
- func (s GlobalSecondaryIndex) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GlobalSecondaryIndex) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *GlobalSecondaryIndex) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GlobalSecondaryIndex"}
- if s.IndexName == nil {
- invalidParams.Add(request.NewErrParamRequired("IndexName"))
- }
- if s.IndexName != nil && len(*s.IndexName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("IndexName", 3))
- }
- if s.KeySchema == nil {
- invalidParams.Add(request.NewErrParamRequired("KeySchema"))
- }
- if s.KeySchema != nil && len(s.KeySchema) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("KeySchema", 1))
- }
- if s.Projection == nil {
- invalidParams.Add(request.NewErrParamRequired("Projection"))
- }
- if s.KeySchema != nil {
- for i, v := range s.KeySchema {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "KeySchema", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if s.Projection != nil {
- if err := s.Projection.Validate(); err != nil {
- invalidParams.AddNested("Projection", err.(request.ErrInvalidParams))
- }
- }
- if s.ProvisionedThroughput != nil {
- if err := s.ProvisionedThroughput.Validate(); err != nil {
- invalidParams.AddNested("ProvisionedThroughput", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetIndexName sets the IndexName field's value.
- func (s *GlobalSecondaryIndex) SetIndexName(v string) *GlobalSecondaryIndex {
- s.IndexName = &v
- return s
- }
- // SetKeySchema sets the KeySchema field's value.
- func (s *GlobalSecondaryIndex) SetKeySchema(v []*KeySchemaElement) *GlobalSecondaryIndex {
- s.KeySchema = v
- return s
- }
- // SetProjection sets the Projection field's value.
- func (s *GlobalSecondaryIndex) SetProjection(v *Projection) *GlobalSecondaryIndex {
- s.Projection = v
- return s
- }
- // SetProvisionedThroughput sets the ProvisionedThroughput field's value.
- func (s *GlobalSecondaryIndex) SetProvisionedThroughput(v *ProvisionedThroughput) *GlobalSecondaryIndex {
- s.ProvisionedThroughput = v
- return s
- }
- // Represents the properties of a global secondary index.
- type GlobalSecondaryIndexDescription struct {
- _ struct{} `type:"structure"`
- // Indicates whether the index is currently backfilling. Backfilling is the
- // process of reading items from the table and determining whether they can
- // be added to the index. (Not all items will qualify: For example, a partition
- // key cannot have any duplicate values.) If an item can be added to the index,
- // DynamoDB will do so. After all items have been processed, the backfilling
- // operation is complete and Backfilling is false.
- //
- // For indexes that were created during a CreateTable operation, the Backfilling
- // attribute does not appear in the DescribeTable output.
- Backfilling *bool `type:"boolean"`
- // The Amazon Resource Name (ARN) that uniquely identifies the index.
- IndexArn *string `type:"string"`
- // The name of the global secondary index.
- IndexName *string `min:"3" type:"string"`
- // The total size of the specified index, in bytes. DynamoDB updates this value
- // approximately every six hours. Recent changes might not be reflected in this
- // value.
- IndexSizeBytes *int64 `type:"long"`
- // The current state of the global secondary index:
- //
- // * CREATING - The index is being created.
- //
- // * UPDATING - The index is being updated.
- //
- // * DELETING - The index is being deleted.
- //
- // * ACTIVE - The index is ready for use.
- IndexStatus *string `type:"string" enum:"IndexStatus"`
- // The number of items in the specified index. DynamoDB updates this value approximately
- // every six hours. Recent changes might not be reflected in this value.
- ItemCount *int64 `type:"long"`
- // The complete key schema for a global secondary index, which consists of one
- // or more pairs of attribute names and key types:
- //
- // * HASH - partition key
- //
- // * RANGE - sort key
- //
- // The partition key of an item is also known as its hash attribute. The term
- // "hash attribute" derives from DynamoDB' usage of an internal hash function
- // to evenly distribute data items across partitions, based on their partition
- // key values.
- //
- // The sort key of an item is also known as its range attribute. The term "range
- // attribute" derives from the way DynamoDB stores items with the same partition
- // key physically close together, in sorted order by the sort key value.
- KeySchema []*KeySchemaElement `min:"1" type:"list"`
- // Represents attributes that are copied (projected) from the table into the
- // global secondary index. These are in addition to the primary key attributes
- // and index key attributes, which are automatically projected.
- Projection *Projection `type:"structure"`
- // Represents the provisioned throughput settings for the specified global secondary
- // index.
- //
- // For current minimum and maximum provisioned throughput values, see Limits
- // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html)
- // in the Amazon DynamoDB Developer Guide.
- ProvisionedThroughput *ProvisionedThroughputDescription `type:"structure"`
- }
- // String returns the string representation
- func (s GlobalSecondaryIndexDescription) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GlobalSecondaryIndexDescription) GoString() string {
- return s.String()
- }
- // SetBackfilling sets the Backfilling field's value.
- func (s *GlobalSecondaryIndexDescription) SetBackfilling(v bool) *GlobalSecondaryIndexDescription {
- s.Backfilling = &v
- return s
- }
- // SetIndexArn sets the IndexArn field's value.
- func (s *GlobalSecondaryIndexDescription) SetIndexArn(v string) *GlobalSecondaryIndexDescription {
- s.IndexArn = &v
- return s
- }
- // SetIndexName sets the IndexName field's value.
- func (s *GlobalSecondaryIndexDescription) SetIndexName(v string) *GlobalSecondaryIndexDescription {
- s.IndexName = &v
- return s
- }
- // SetIndexSizeBytes sets the IndexSizeBytes field's value.
- func (s *GlobalSecondaryIndexDescription) SetIndexSizeBytes(v int64) *GlobalSecondaryIndexDescription {
- s.IndexSizeBytes = &v
- return s
- }
- // SetIndexStatus sets the IndexStatus field's value.
- func (s *GlobalSecondaryIndexDescription) SetIndexStatus(v string) *GlobalSecondaryIndexDescription {
- s.IndexStatus = &v
- return s
- }
- // SetItemCount sets the ItemCount field's value.
- func (s *GlobalSecondaryIndexDescription) SetItemCount(v int64) *GlobalSecondaryIndexDescription {
- s.ItemCount = &v
- return s
- }
- // SetKeySchema sets the KeySchema field's value.
- func (s *GlobalSecondaryIndexDescription) SetKeySchema(v []*KeySchemaElement) *GlobalSecondaryIndexDescription {
- s.KeySchema = v
- return s
- }
- // SetProjection sets the Projection field's value.
- func (s *GlobalSecondaryIndexDescription) SetProjection(v *Projection) *GlobalSecondaryIndexDescription {
- s.Projection = v
- return s
- }
- // SetProvisionedThroughput sets the ProvisionedThroughput field's value.
- func (s *GlobalSecondaryIndexDescription) SetProvisionedThroughput(v *ProvisionedThroughputDescription) *GlobalSecondaryIndexDescription {
- s.ProvisionedThroughput = v
- return s
- }
- // Represents the properties of a global secondary index for the table when
- // the backup was created.
- type GlobalSecondaryIndexInfo struct {
- _ struct{} `type:"structure"`
- // The name of the global secondary index.
- IndexName *string `min:"3" type:"string"`
- // The complete key schema for a global secondary index, which consists of one
- // or more pairs of attribute names and key types:
- //
- // * HASH - partition key
- //
- // * RANGE - sort key
- //
- // The partition key of an item is also known as its hash attribute. The term
- // "hash attribute" derives from DynamoDB' usage of an internal hash function
- // to evenly distribute data items across partitions, based on their partition
- // key values.
- //
- // The sort key of an item is also known as its range attribute. The term "range
- // attribute" derives from the way DynamoDB stores items with the same partition
- // key physically close together, in sorted order by the sort key value.
- KeySchema []*KeySchemaElement `min:"1" type:"list"`
- // Represents attributes that are copied (projected) from the table into the
- // global secondary index. These are in addition to the primary key attributes
- // and index key attributes, which are automatically projected.
- Projection *Projection `type:"structure"`
- // Represents the provisioned throughput settings for the specified global secondary
- // index.
- ProvisionedThroughput *ProvisionedThroughput `type:"structure"`
- }
- // String returns the string representation
- func (s GlobalSecondaryIndexInfo) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GlobalSecondaryIndexInfo) GoString() string {
- return s.String()
- }
- // SetIndexName sets the IndexName field's value.
- func (s *GlobalSecondaryIndexInfo) SetIndexName(v string) *GlobalSecondaryIndexInfo {
- s.IndexName = &v
- return s
- }
- // SetKeySchema sets the KeySchema field's value.
- func (s *GlobalSecondaryIndexInfo) SetKeySchema(v []*KeySchemaElement) *GlobalSecondaryIndexInfo {
- s.KeySchema = v
- return s
- }
- // SetProjection sets the Projection field's value.
- func (s *GlobalSecondaryIndexInfo) SetProjection(v *Projection) *GlobalSecondaryIndexInfo {
- s.Projection = v
- return s
- }
- // SetProvisionedThroughput sets the ProvisionedThroughput field's value.
- func (s *GlobalSecondaryIndexInfo) SetProvisionedThroughput(v *ProvisionedThroughput) *GlobalSecondaryIndexInfo {
- s.ProvisionedThroughput = v
- return s
- }
- // Represents one of the following:
- //
- // * A new global secondary index to be added to an existing table.
- //
- // * New provisioned throughput parameters for an existing global secondary
- // index.
- //
- // * An existing global secondary index to be removed from an existing table.
- type GlobalSecondaryIndexUpdate struct {
- _ struct{} `type:"structure"`
- // The parameters required for creating a global secondary index on an existing
- // table:
- //
- // * IndexName
- //
- // * KeySchema
- //
- // * AttributeDefinitions
- //
- // * Projection
- //
- // * ProvisionedThroughput
- Create *CreateGlobalSecondaryIndexAction `type:"structure"`
- // The name of an existing global secondary index to be removed.
- Delete *DeleteGlobalSecondaryIndexAction `type:"structure"`
- // The name of an existing global secondary index, along with new provisioned
- // throughput settings to be applied to that index.
- Update *UpdateGlobalSecondaryIndexAction `type:"structure"`
- }
- // String returns the string representation
- func (s GlobalSecondaryIndexUpdate) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GlobalSecondaryIndexUpdate) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *GlobalSecondaryIndexUpdate) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GlobalSecondaryIndexUpdate"}
- if s.Create != nil {
- if err := s.Create.Validate(); err != nil {
- invalidParams.AddNested("Create", err.(request.ErrInvalidParams))
- }
- }
- if s.Delete != nil {
- if err := s.Delete.Validate(); err != nil {
- invalidParams.AddNested("Delete", err.(request.ErrInvalidParams))
- }
- }
- if s.Update != nil {
- if err := s.Update.Validate(); err != nil {
- invalidParams.AddNested("Update", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetCreate sets the Create field's value.
- func (s *GlobalSecondaryIndexUpdate) SetCreate(v *CreateGlobalSecondaryIndexAction) *GlobalSecondaryIndexUpdate {
- s.Create = v
- return s
- }
- // SetDelete sets the Delete field's value.
- func (s *GlobalSecondaryIndexUpdate) SetDelete(v *DeleteGlobalSecondaryIndexAction) *GlobalSecondaryIndexUpdate {
- s.Delete = v
- return s
- }
- // SetUpdate sets the Update field's value.
- func (s *GlobalSecondaryIndexUpdate) SetUpdate(v *UpdateGlobalSecondaryIndexAction) *GlobalSecondaryIndexUpdate {
- s.Update = v
- return s
- }
- // Represents the properties of a global table.
- type GlobalTable struct {
- _ struct{} `type:"structure"`
- // The global table name.
- GlobalTableName *string `min:"3" type:"string"`
- // The regions where the global table has replicas.
- ReplicationGroup []*Replica `type:"list"`
- }
- // String returns the string representation
- func (s GlobalTable) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GlobalTable) GoString() string {
- return s.String()
- }
- // SetGlobalTableName sets the GlobalTableName field's value.
- func (s *GlobalTable) SetGlobalTableName(v string) *GlobalTable {
- s.GlobalTableName = &v
- return s
- }
- // SetReplicationGroup sets the ReplicationGroup field's value.
- func (s *GlobalTable) SetReplicationGroup(v []*Replica) *GlobalTable {
- s.ReplicationGroup = v
- return s
- }
- // Contains details about the global table.
- type GlobalTableDescription struct {
- _ struct{} `type:"structure"`
- // The creation time of the global table.
- CreationDateTime *time.Time `type:"timestamp"`
- // The unique identifier of the global table.
- GlobalTableArn *string `type:"string"`
- // The global table name.
- GlobalTableName *string `min:"3" type:"string"`
- // The current state of the global table:
- //
- // * CREATING - The global table is being created.
- //
- // * UPDATING - The global table is being updated.
- //
- // * DELETING - The global table is being deleted.
- //
- // * ACTIVE - The global table is ready for use.
- GlobalTableStatus *string `type:"string" enum:"GlobalTableStatus"`
- // The regions where the global table has replicas.
- ReplicationGroup []*ReplicaDescription `type:"list"`
- }
- // String returns the string representation
- func (s GlobalTableDescription) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GlobalTableDescription) GoString() string {
- return s.String()
- }
- // SetCreationDateTime sets the CreationDateTime field's value.
- func (s *GlobalTableDescription) SetCreationDateTime(v time.Time) *GlobalTableDescription {
- s.CreationDateTime = &v
- return s
- }
- // SetGlobalTableArn sets the GlobalTableArn field's value.
- func (s *GlobalTableDescription) SetGlobalTableArn(v string) *GlobalTableDescription {
- s.GlobalTableArn = &v
- return s
- }
- // SetGlobalTableName sets the GlobalTableName field's value.
- func (s *GlobalTableDescription) SetGlobalTableName(v string) *GlobalTableDescription {
- s.GlobalTableName = &v
- return s
- }
- // SetGlobalTableStatus sets the GlobalTableStatus field's value.
- func (s *GlobalTableDescription) SetGlobalTableStatus(v string) *GlobalTableDescription {
- s.GlobalTableStatus = &v
- return s
- }
- // SetReplicationGroup sets the ReplicationGroup field's value.
- func (s *GlobalTableDescription) SetReplicationGroup(v []*ReplicaDescription) *GlobalTableDescription {
- s.ReplicationGroup = v
- return s
- }
- // Represents the settings of a global secondary index for a global table that
- // will be modified.
- type GlobalTableGlobalSecondaryIndexSettingsUpdate struct {
- _ struct{} `type:"structure"`
- // The name of the global secondary index. The name must be unique among all
- // other indexes on this table.
- //
- // IndexName is a required field
- IndexName *string `min:"3" type:"string" required:"true"`
- // AutoScaling settings for managing a global secondary index's write capacity
- // units.
- ProvisionedWriteCapacityAutoScalingSettingsUpdate *AutoScalingSettingsUpdate `type:"structure"`
- // The maximum number of writes consumed per second before DynamoDB returns
- // a ThrottlingException.
- ProvisionedWriteCapacityUnits *int64 `min:"1" type:"long"`
- }
- // String returns the string representation
- func (s GlobalTableGlobalSecondaryIndexSettingsUpdate) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GlobalTableGlobalSecondaryIndexSettingsUpdate) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *GlobalTableGlobalSecondaryIndexSettingsUpdate) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GlobalTableGlobalSecondaryIndexSettingsUpdate"}
- if s.IndexName == nil {
- invalidParams.Add(request.NewErrParamRequired("IndexName"))
- }
- if s.IndexName != nil && len(*s.IndexName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("IndexName", 3))
- }
- if s.ProvisionedWriteCapacityUnits != nil && *s.ProvisionedWriteCapacityUnits < 1 {
- invalidParams.Add(request.NewErrParamMinValue("ProvisionedWriteCapacityUnits", 1))
- }
- if s.ProvisionedWriteCapacityAutoScalingSettingsUpdate != nil {
- if err := s.ProvisionedWriteCapacityAutoScalingSettingsUpdate.Validate(); err != nil {
- invalidParams.AddNested("ProvisionedWriteCapacityAutoScalingSettingsUpdate", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetIndexName sets the IndexName field's value.
- func (s *GlobalTableGlobalSecondaryIndexSettingsUpdate) SetIndexName(v string) *GlobalTableGlobalSecondaryIndexSettingsUpdate {
- s.IndexName = &v
- return s
- }
- // SetProvisionedWriteCapacityAutoScalingSettingsUpdate sets the ProvisionedWriteCapacityAutoScalingSettingsUpdate field's value.
- func (s *GlobalTableGlobalSecondaryIndexSettingsUpdate) SetProvisionedWriteCapacityAutoScalingSettingsUpdate(v *AutoScalingSettingsUpdate) *GlobalTableGlobalSecondaryIndexSettingsUpdate {
- s.ProvisionedWriteCapacityAutoScalingSettingsUpdate = v
- return s
- }
- // SetProvisionedWriteCapacityUnits sets the ProvisionedWriteCapacityUnits field's value.
- func (s *GlobalTableGlobalSecondaryIndexSettingsUpdate) SetProvisionedWriteCapacityUnits(v int64) *GlobalTableGlobalSecondaryIndexSettingsUpdate {
- s.ProvisionedWriteCapacityUnits = &v
- return s
- }
- // Information about item collections, if any, that were affected by the operation.
- // ItemCollectionMetrics is only returned if the request asked for it. If the
- // table does not have any local secondary indexes, this information is not
- // returned in the response.
- type ItemCollectionMetrics struct {
- _ struct{} `type:"structure"`
- // The partition key value of the item collection. This value is the same as
- // the partition key value of the item.
- ItemCollectionKey map[string]*AttributeValue `type:"map"`
- // An estimate of item collection size, in gigabytes. This value is a two-element
- // array containing a lower bound and an upper bound for the estimate. The estimate
- // includes the size of all the items in the table, plus the size of all attributes
- // projected into all of the local secondary indexes on that table. Use this
- // estimate to measure whether a local secondary index is approaching its size
- // limit.
- //
- // The estimate is subject to change over time; therefore, do not rely on the
- // precision or accuracy of the estimate.
- SizeEstimateRangeGB []*float64 `type:"list"`
- }
- // String returns the string representation
- func (s ItemCollectionMetrics) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ItemCollectionMetrics) GoString() string {
- return s.String()
- }
- // SetItemCollectionKey sets the ItemCollectionKey field's value.
- func (s *ItemCollectionMetrics) SetItemCollectionKey(v map[string]*AttributeValue) *ItemCollectionMetrics {
- s.ItemCollectionKey = v
- return s
- }
- // SetSizeEstimateRangeGB sets the SizeEstimateRangeGB field's value.
- func (s *ItemCollectionMetrics) SetSizeEstimateRangeGB(v []*float64) *ItemCollectionMetrics {
- s.SizeEstimateRangeGB = v
- return s
- }
- // Details for the requested item.
- type ItemResponse struct {
- _ struct{} `type:"structure"`
- // Map of attribute data consisting of the data type and attribute value.
- Item map[string]*AttributeValue `type:"map"`
- }
- // String returns the string representation
- func (s ItemResponse) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ItemResponse) GoString() string {
- return s.String()
- }
- // SetItem sets the Item field's value.
- func (s *ItemResponse) SetItem(v map[string]*AttributeValue) *ItemResponse {
- s.Item = v
- return s
- }
- // Represents a single element of a key schema. A key schema specifies the attributes
- // that make up the primary key of a table, or the key attributes of an index.
- //
- // A KeySchemaElement represents exactly one attribute of the primary key. For
- // example, a simple primary key would be represented by one KeySchemaElement
- // (for the partition key). A composite primary key would require one KeySchemaElement
- // for the partition key, and another KeySchemaElement for the sort key.
- //
- // A KeySchemaElement must be a scalar, top-level attribute (not a nested attribute).
- // The data type must be one of String, Number, or Binary. The attribute cannot
- // be nested within a List or a Map.
- type KeySchemaElement struct {
- _ struct{} `type:"structure"`
- // The name of a key attribute.
- //
- // AttributeName is a required field
- AttributeName *string `min:"1" type:"string" required:"true"`
- // The role that this key attribute will assume:
- //
- // * HASH - partition key
- //
- // * RANGE - sort key
- //
- // The partition key of an item is also known as its hash attribute. The term
- // "hash attribute" derives from DynamoDB' usage of an internal hash function
- // to evenly distribute data items across partitions, based on their partition
- // key values.
- //
- // The sort key of an item is also known as its range attribute. The term "range
- // attribute" derives from the way DynamoDB stores items with the same partition
- // key physically close together, in sorted order by the sort key value.
- //
- // KeyType is a required field
- KeyType *string `type:"string" required:"true" enum:"KeyType"`
- }
- // String returns the string representation
- func (s KeySchemaElement) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s KeySchemaElement) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *KeySchemaElement) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "KeySchemaElement"}
- if s.AttributeName == nil {
- invalidParams.Add(request.NewErrParamRequired("AttributeName"))
- }
- if s.AttributeName != nil && len(*s.AttributeName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1))
- }
- if s.KeyType == nil {
- invalidParams.Add(request.NewErrParamRequired("KeyType"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAttributeName sets the AttributeName field's value.
- func (s *KeySchemaElement) SetAttributeName(v string) *KeySchemaElement {
- s.AttributeName = &v
- return s
- }
- // SetKeyType sets the KeyType field's value.
- func (s *KeySchemaElement) SetKeyType(v string) *KeySchemaElement {
- s.KeyType = &v
- return s
- }
- // Represents a set of primary keys and, for each key, the attributes to retrieve
- // from the table.
- //
- // For each primary key, you must provide all of the key attributes. For example,
- // with a simple primary key, you only need to provide the partition key. For
- // a composite primary key, you must provide both the partition key and the
- // sort key.
- type KeysAndAttributes struct {
- _ struct{} `type:"structure"`
- // This is a legacy parameter. Use ProjectionExpression instead. For more information,
- // see Legacy Conditional Parameters (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.html)
- // in the Amazon DynamoDB Developer Guide.
- AttributesToGet []*string `min:"1" type:"list"`
- // The consistency of a read operation. If set to true, then a strongly consistent
- // read is used; otherwise, an eventually consistent read is used.
- ConsistentRead *bool `type:"boolean"`
- // One or more substitution tokens for attribute names in an expression. The
- // following are some use cases for using ExpressionAttributeNames:
- //
- // * To access an attribute whose name conflicts with a DynamoDB reserved
- // word.
- //
- // * To create a placeholder for repeating occurrences of an attribute name
- // in an expression.
- //
- // * To prevent special characters in an attribute name from being misinterpreted
- // in an expression.
- //
- // Use the # character in an expression to dereference an attribute name. For
- // example, consider the following attribute name:
- //
- // * Percentile
- //
- // The name of this attribute conflicts with a reserved word, so it cannot be
- // used directly in an expression. (For the complete list of reserved words,
- // see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html)
- // in the Amazon DynamoDB Developer Guide). To work around this, you could specify
- // the following for ExpressionAttributeNames:
- //
- // * {"#P":"Percentile"}
- //
- // You could then use this substitution in an expression, as in this example:
- //
- // * #P = :val
- //
- // Tokens that begin with the : character are expression attribute values, which
- // are placeholders for the actual value at runtime.
- //
- // For more information on expression attribute names, see Accessing Item Attributes
- // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html)
- // in the Amazon DynamoDB Developer Guide.
- ExpressionAttributeNames map[string]*string `type:"map"`
- // The primary key attribute values that define the items and the attributes
- // associated with the items.
- //
- // Keys is a required field
- Keys []map[string]*AttributeValue `min:"1" type:"list" required:"true"`
- // A string that identifies one or more attributes to retrieve from the table.
- // These attributes can include scalars, sets, or elements of a JSON document.
- // The attributes in the ProjectionExpression must be separated by commas.
- //
- // If no attribute names are specified, then all attributes will be returned.
- // If any of the requested attributes are not found, they will not appear in
- // the result.
- //
- // For more information, see Accessing Item Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html)
- // in the Amazon DynamoDB Developer Guide.
- ProjectionExpression *string `type:"string"`
- }
- // String returns the string representation
- func (s KeysAndAttributes) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s KeysAndAttributes) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *KeysAndAttributes) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "KeysAndAttributes"}
- if s.AttributesToGet != nil && len(s.AttributesToGet) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("AttributesToGet", 1))
- }
- if s.Keys == nil {
- invalidParams.Add(request.NewErrParamRequired("Keys"))
- }
- if s.Keys != nil && len(s.Keys) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Keys", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAttributesToGet sets the AttributesToGet field's value.
- func (s *KeysAndAttributes) SetAttributesToGet(v []*string) *KeysAndAttributes {
- s.AttributesToGet = v
- return s
- }
- // SetConsistentRead sets the ConsistentRead field's value.
- func (s *KeysAndAttributes) SetConsistentRead(v bool) *KeysAndAttributes {
- s.ConsistentRead = &v
- return s
- }
- // SetExpressionAttributeNames sets the ExpressionAttributeNames field's value.
- func (s *KeysAndAttributes) SetExpressionAttributeNames(v map[string]*string) *KeysAndAttributes {
- s.ExpressionAttributeNames = v
- return s
- }
- // SetKeys sets the Keys field's value.
- func (s *KeysAndAttributes) SetKeys(v []map[string]*AttributeValue) *KeysAndAttributes {
- s.Keys = v
- return s
- }
- // SetProjectionExpression sets the ProjectionExpression field's value.
- func (s *KeysAndAttributes) SetProjectionExpression(v string) *KeysAndAttributes {
- s.ProjectionExpression = &v
- return s
- }
- type ListBackupsInput struct {
- _ struct{} `type:"structure"`
- // The backups from the table specified by BackupType are listed.
- //
- // Where BackupType can be:
- //
- // * USER - On-demand backup created by you.
- //
- // * SYSTEM - On-demand backup automatically created by DynamoDB.
- //
- // * ALL - All types of on-demand backups (USER and SYSTEM).
- BackupType *string `type:"string" enum:"BackupTypeFilter"`
- // LastEvaluatedBackupArn is the ARN of the backup last evaluated when the current
- // page of results was returned, inclusive of the current page of results. This
- // value may be specified as the ExclusiveStartBackupArn of a new ListBackups
- // operation in order to fetch the next page of results.
- ExclusiveStartBackupArn *string `min:"37" type:"string"`
- // Maximum number of backups to return at once.
- Limit *int64 `min:"1" type:"integer"`
- // The backups from the table specified by TableName are listed.
- TableName *string `min:"3" type:"string"`
- // Only backups created after this time are listed. TimeRangeLowerBound is inclusive.
- TimeRangeLowerBound *time.Time `type:"timestamp"`
- // Only backups created before this time are listed. TimeRangeUpperBound is
- // exclusive.
- TimeRangeUpperBound *time.Time `type:"timestamp"`
- }
- // String returns the string representation
- func (s ListBackupsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListBackupsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListBackupsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListBackupsInput"}
- if s.ExclusiveStartBackupArn != nil && len(*s.ExclusiveStartBackupArn) < 37 {
- invalidParams.Add(request.NewErrParamMinLen("ExclusiveStartBackupArn", 37))
- }
- if s.Limit != nil && *s.Limit < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
- }
- if s.TableName != nil && len(*s.TableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetBackupType sets the BackupType field's value.
- func (s *ListBackupsInput) SetBackupType(v string) *ListBackupsInput {
- s.BackupType = &v
- return s
- }
- // SetExclusiveStartBackupArn sets the ExclusiveStartBackupArn field's value.
- func (s *ListBackupsInput) SetExclusiveStartBackupArn(v string) *ListBackupsInput {
- s.ExclusiveStartBackupArn = &v
- return s
- }
- // SetLimit sets the Limit field's value.
- func (s *ListBackupsInput) SetLimit(v int64) *ListBackupsInput {
- s.Limit = &v
- return s
- }
- // SetTableName sets the TableName field's value.
- func (s *ListBackupsInput) SetTableName(v string) *ListBackupsInput {
- s.TableName = &v
- return s
- }
- // SetTimeRangeLowerBound sets the TimeRangeLowerBound field's value.
- func (s *ListBackupsInput) SetTimeRangeLowerBound(v time.Time) *ListBackupsInput {
- s.TimeRangeLowerBound = &v
- return s
- }
- // SetTimeRangeUpperBound sets the TimeRangeUpperBound field's value.
- func (s *ListBackupsInput) SetTimeRangeUpperBound(v time.Time) *ListBackupsInput {
- s.TimeRangeUpperBound = &v
- return s
- }
- type ListBackupsOutput struct {
- _ struct{} `type:"structure"`
- // List of BackupSummary objects.
- BackupSummaries []*BackupSummary `type:"list"`
- // The ARN of the backup last evaluated when the current page of results was
- // returned, inclusive of the current page of results. This value may be specified
- // as the ExclusiveStartBackupArn of a new ListBackups operation in order to
- // fetch the next page of results.
- //
- // If LastEvaluatedBackupArn is empty, then the last page of results has been
- // processed and there are no more results to be retrieved.
- //
- // If LastEvaluatedBackupArn is not empty, this may or may not indicate there
- // is more data to be returned. All results are guaranteed to have been returned
- // if and only if no value for LastEvaluatedBackupArn is returned.
- LastEvaluatedBackupArn *string `min:"37" type:"string"`
- }
- // String returns the string representation
- func (s ListBackupsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListBackupsOutput) GoString() string {
- return s.String()
- }
- // SetBackupSummaries sets the BackupSummaries field's value.
- func (s *ListBackupsOutput) SetBackupSummaries(v []*BackupSummary) *ListBackupsOutput {
- s.BackupSummaries = v
- return s
- }
- // SetLastEvaluatedBackupArn sets the LastEvaluatedBackupArn field's value.
- func (s *ListBackupsOutput) SetLastEvaluatedBackupArn(v string) *ListBackupsOutput {
- s.LastEvaluatedBackupArn = &v
- return s
- }
- type ListGlobalTablesInput struct {
- _ struct{} `type:"structure"`
- // The first global table name that this operation will evaluate.
- ExclusiveStartGlobalTableName *string `min:"3" type:"string"`
- // The maximum number of table names to return.
- Limit *int64 `min:"1" type:"integer"`
- // Lists the global tables in a specific region.
- RegionName *string `type:"string"`
- }
- // String returns the string representation
- func (s ListGlobalTablesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListGlobalTablesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListGlobalTablesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListGlobalTablesInput"}
- if s.ExclusiveStartGlobalTableName != nil && len(*s.ExclusiveStartGlobalTableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("ExclusiveStartGlobalTableName", 3))
- }
- if s.Limit != nil && *s.Limit < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetExclusiveStartGlobalTableName sets the ExclusiveStartGlobalTableName field's value.
- func (s *ListGlobalTablesInput) SetExclusiveStartGlobalTableName(v string) *ListGlobalTablesInput {
- s.ExclusiveStartGlobalTableName = &v
- return s
- }
- // SetLimit sets the Limit field's value.
- func (s *ListGlobalTablesInput) SetLimit(v int64) *ListGlobalTablesInput {
- s.Limit = &v
- return s
- }
- // SetRegionName sets the RegionName field's value.
- func (s *ListGlobalTablesInput) SetRegionName(v string) *ListGlobalTablesInput {
- s.RegionName = &v
- return s
- }
- type ListGlobalTablesOutput struct {
- _ struct{} `type:"structure"`
- // List of global table names.
- GlobalTables []*GlobalTable `type:"list"`
- // Last evaluated global table name.
- LastEvaluatedGlobalTableName *string `min:"3" type:"string"`
- }
- // String returns the string representation
- func (s ListGlobalTablesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListGlobalTablesOutput) GoString() string {
- return s.String()
- }
- // SetGlobalTables sets the GlobalTables field's value.
- func (s *ListGlobalTablesOutput) SetGlobalTables(v []*GlobalTable) *ListGlobalTablesOutput {
- s.GlobalTables = v
- return s
- }
- // SetLastEvaluatedGlobalTableName sets the LastEvaluatedGlobalTableName field's value.
- func (s *ListGlobalTablesOutput) SetLastEvaluatedGlobalTableName(v string) *ListGlobalTablesOutput {
- s.LastEvaluatedGlobalTableName = &v
- return s
- }
- // Represents the input of a ListTables operation.
- type ListTablesInput struct {
- _ struct{} `type:"structure"`
- // The first table name that this operation will evaluate. Use the value that
- // was returned for LastEvaluatedTableName in a previous operation, so that
- // you can obtain the next page of results.
- ExclusiveStartTableName *string `min:"3" type:"string"`
- // A maximum number of table names to return. If this parameter is not specified,
- // the limit is 100.
- Limit *int64 `min:"1" type:"integer"`
- }
- // String returns the string representation
- func (s ListTablesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListTablesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListTablesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListTablesInput"}
- if s.ExclusiveStartTableName != nil && len(*s.ExclusiveStartTableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("ExclusiveStartTableName", 3))
- }
- if s.Limit != nil && *s.Limit < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetExclusiveStartTableName sets the ExclusiveStartTableName field's value.
- func (s *ListTablesInput) SetExclusiveStartTableName(v string) *ListTablesInput {
- s.ExclusiveStartTableName = &v
- return s
- }
- // SetLimit sets the Limit field's value.
- func (s *ListTablesInput) SetLimit(v int64) *ListTablesInput {
- s.Limit = &v
- return s
- }
- // Represents the output of a ListTables operation.
- type ListTablesOutput struct {
- _ struct{} `type:"structure"`
- // The name of the last table in the current page of results. Use this value
- // as the ExclusiveStartTableName in a new request to obtain the next page of
- // results, until all the table names are returned.
- //
- // If you do not receive a LastEvaluatedTableName value in the response, this
- // means that there are no more table names to be retrieved.
- LastEvaluatedTableName *string `min:"3" type:"string"`
- // The names of the tables associated with the current account at the current
- // endpoint. The maximum size of this array is 100.
- //
- // If LastEvaluatedTableName also appears in the output, you can use this value
- // as the ExclusiveStartTableName parameter in a subsequent ListTables request
- // and obtain the next page of results.
- TableNames []*string `type:"list"`
- }
- // String returns the string representation
- func (s ListTablesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListTablesOutput) GoString() string {
- return s.String()
- }
- // SetLastEvaluatedTableName sets the LastEvaluatedTableName field's value.
- func (s *ListTablesOutput) SetLastEvaluatedTableName(v string) *ListTablesOutput {
- s.LastEvaluatedTableName = &v
- return s
- }
- // SetTableNames sets the TableNames field's value.
- func (s *ListTablesOutput) SetTableNames(v []*string) *ListTablesOutput {
- s.TableNames = v
- return s
- }
- type ListTagsOfResourceInput struct {
- _ struct{} `type:"structure"`
- // An optional string that, if supplied, must be copied from the output of a
- // previous call to ListTagOfResource. When provided in this manner, this API
- // fetches the next page of results.
- NextToken *string `type:"string"`
- // The Amazon DynamoDB resource with tags to be listed. This value is an Amazon
- // Resource Name (ARN).
- //
- // ResourceArn is a required field
- ResourceArn *string `min:"1" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s ListTagsOfResourceInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListTagsOfResourceInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListTagsOfResourceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListTagsOfResourceInput"}
- if s.ResourceArn == nil {
- invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
- }
- if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListTagsOfResourceInput) SetNextToken(v string) *ListTagsOfResourceInput {
- s.NextToken = &v
- return s
- }
- // SetResourceArn sets the ResourceArn field's value.
- func (s *ListTagsOfResourceInput) SetResourceArn(v string) *ListTagsOfResourceInput {
- s.ResourceArn = &v
- return s
- }
- type ListTagsOfResourceOutput struct {
- _ struct{} `type:"structure"`
- // If this value is returned, there are additional results to be displayed.
- // To retrieve them, call ListTagsOfResource again, with NextToken set to this
- // value.
- NextToken *string `type:"string"`
- // The tags currently associated with the Amazon DynamoDB resource.
- Tags []*Tag `type:"list"`
- }
- // String returns the string representation
- func (s ListTagsOfResourceOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListTagsOfResourceOutput) GoString() string {
- return s.String()
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListTagsOfResourceOutput) SetNextToken(v string) *ListTagsOfResourceOutput {
- s.NextToken = &v
- return s
- }
- // SetTags sets the Tags field's value.
- func (s *ListTagsOfResourceOutput) SetTags(v []*Tag) *ListTagsOfResourceOutput {
- s.Tags = v
- return s
- }
- // Represents the properties of a local secondary index.
- type LocalSecondaryIndex struct {
- _ struct{} `type:"structure"`
- // The name of the local secondary index. The name must be unique among all
- // other indexes on this table.
- //
- // IndexName is a required field
- IndexName *string `min:"3" type:"string" required:"true"`
- // The complete key schema for the local secondary index, consisting of one
- // or more pairs of attribute names and key types:
- //
- // * HASH - partition key
- //
- // * RANGE - sort key
- //
- // The partition key of an item is also known as its hash attribute. The term
- // "hash attribute" derives from DynamoDB' usage of an internal hash function
- // to evenly distribute data items across partitions, based on their partition
- // key values.
- //
- // The sort key of an item is also known as its range attribute. The term "range
- // attribute" derives from the way DynamoDB stores items with the same partition
- // key physically close together, in sorted order by the sort key value.
- //
- // KeySchema is a required field
- KeySchema []*KeySchemaElement `min:"1" type:"list" required:"true"`
- // Represents attributes that are copied (projected) from the table into the
- // local secondary index. These are in addition to the primary key attributes
- // and index key attributes, which are automatically projected.
- //
- // Projection is a required field
- Projection *Projection `type:"structure" required:"true"`
- }
- // String returns the string representation
- func (s LocalSecondaryIndex) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s LocalSecondaryIndex) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *LocalSecondaryIndex) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "LocalSecondaryIndex"}
- if s.IndexName == nil {
- invalidParams.Add(request.NewErrParamRequired("IndexName"))
- }
- if s.IndexName != nil && len(*s.IndexName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("IndexName", 3))
- }
- if s.KeySchema == nil {
- invalidParams.Add(request.NewErrParamRequired("KeySchema"))
- }
- if s.KeySchema != nil && len(s.KeySchema) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("KeySchema", 1))
- }
- if s.Projection == nil {
- invalidParams.Add(request.NewErrParamRequired("Projection"))
- }
- if s.KeySchema != nil {
- for i, v := range s.KeySchema {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "KeySchema", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if s.Projection != nil {
- if err := s.Projection.Validate(); err != nil {
- invalidParams.AddNested("Projection", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetIndexName sets the IndexName field's value.
- func (s *LocalSecondaryIndex) SetIndexName(v string) *LocalSecondaryIndex {
- s.IndexName = &v
- return s
- }
- // SetKeySchema sets the KeySchema field's value.
- func (s *LocalSecondaryIndex) SetKeySchema(v []*KeySchemaElement) *LocalSecondaryIndex {
- s.KeySchema = v
- return s
- }
- // SetProjection sets the Projection field's value.
- func (s *LocalSecondaryIndex) SetProjection(v *Projection) *LocalSecondaryIndex {
- s.Projection = v
- return s
- }
- // Represents the properties of a local secondary index.
- type LocalSecondaryIndexDescription struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) that uniquely identifies the index.
- IndexArn *string `type:"string"`
- // Represents the name of the local secondary index.
- IndexName *string `min:"3" type:"string"`
- // The total size of the specified index, in bytes. DynamoDB updates this value
- // approximately every six hours. Recent changes might not be reflected in this
- // value.
- IndexSizeBytes *int64 `type:"long"`
- // The number of items in the specified index. DynamoDB updates this value approximately
- // every six hours. Recent changes might not be reflected in this value.
- ItemCount *int64 `type:"long"`
- // The complete key schema for the local secondary index, consisting of one
- // or more pairs of attribute names and key types:
- //
- // * HASH - partition key
- //
- // * RANGE - sort key
- //
- // The partition key of an item is also known as its hash attribute. The term
- // "hash attribute" derives from DynamoDB' usage of an internal hash function
- // to evenly distribute data items across partitions, based on their partition
- // key values.
- //
- // The sort key of an item is also known as its range attribute. The term "range
- // attribute" derives from the way DynamoDB stores items with the same partition
- // key physically close together, in sorted order by the sort key value.
- KeySchema []*KeySchemaElement `min:"1" type:"list"`
- // Represents attributes that are copied (projected) from the table into the
- // global secondary index. These are in addition to the primary key attributes
- // and index key attributes, which are automatically projected.
- Projection *Projection `type:"structure"`
- }
- // String returns the string representation
- func (s LocalSecondaryIndexDescription) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s LocalSecondaryIndexDescription) GoString() string {
- return s.String()
- }
- // SetIndexArn sets the IndexArn field's value.
- func (s *LocalSecondaryIndexDescription) SetIndexArn(v string) *LocalSecondaryIndexDescription {
- s.IndexArn = &v
- return s
- }
- // SetIndexName sets the IndexName field's value.
- func (s *LocalSecondaryIndexDescription) SetIndexName(v string) *LocalSecondaryIndexDescription {
- s.IndexName = &v
- return s
- }
- // SetIndexSizeBytes sets the IndexSizeBytes field's value.
- func (s *LocalSecondaryIndexDescription) SetIndexSizeBytes(v int64) *LocalSecondaryIndexDescription {
- s.IndexSizeBytes = &v
- return s
- }
- // SetItemCount sets the ItemCount field's value.
- func (s *LocalSecondaryIndexDescription) SetItemCount(v int64) *LocalSecondaryIndexDescription {
- s.ItemCount = &v
- return s
- }
- // SetKeySchema sets the KeySchema field's value.
- func (s *LocalSecondaryIndexDescription) SetKeySchema(v []*KeySchemaElement) *LocalSecondaryIndexDescription {
- s.KeySchema = v
- return s
- }
- // SetProjection sets the Projection field's value.
- func (s *LocalSecondaryIndexDescription) SetProjection(v *Projection) *LocalSecondaryIndexDescription {
- s.Projection = v
- return s
- }
- // Represents the properties of a local secondary index for the table when the
- // backup was created.
- type LocalSecondaryIndexInfo struct {
- _ struct{} `type:"structure"`
- // Represents the name of the local secondary index.
- IndexName *string `min:"3" type:"string"`
- // The complete key schema for a local secondary index, which consists of one
- // or more pairs of attribute names and key types:
- //
- // * HASH - partition key
- //
- // * RANGE - sort key
- //
- // The partition key of an item is also known as its hash attribute. The term
- // "hash attribute" derives from DynamoDB' usage of an internal hash function
- // to evenly distribute data items across partitions, based on their partition
- // key values.
- //
- // The sort key of an item is also known as its range attribute. The term "range
- // attribute" derives from the way DynamoDB stores items with the same partition
- // key physically close together, in sorted order by the sort key value.
- KeySchema []*KeySchemaElement `min:"1" type:"list"`
- // Represents attributes that are copied (projected) from the table into the
- // global secondary index. These are in addition to the primary key attributes
- // and index key attributes, which are automatically projected.
- Projection *Projection `type:"structure"`
- }
- // String returns the string representation
- func (s LocalSecondaryIndexInfo) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s LocalSecondaryIndexInfo) GoString() string {
- return s.String()
- }
- // SetIndexName sets the IndexName field's value.
- func (s *LocalSecondaryIndexInfo) SetIndexName(v string) *LocalSecondaryIndexInfo {
- s.IndexName = &v
- return s
- }
- // SetKeySchema sets the KeySchema field's value.
- func (s *LocalSecondaryIndexInfo) SetKeySchema(v []*KeySchemaElement) *LocalSecondaryIndexInfo {
- s.KeySchema = v
- return s
- }
- // SetProjection sets the Projection field's value.
- func (s *LocalSecondaryIndexInfo) SetProjection(v *Projection) *LocalSecondaryIndexInfo {
- s.Projection = v
- return s
- }
- // The description of the point in time settings applied to the table.
- type PointInTimeRecoveryDescription struct {
- _ struct{} `type:"structure"`
- // Specifies the earliest point in time you can restore your table to. It You
- // can restore your table to any point in time during the last 35 days.
- EarliestRestorableDateTime *time.Time `type:"timestamp"`
- // LatestRestorableDateTime is typically 5 minutes before the current time.
- LatestRestorableDateTime *time.Time `type:"timestamp"`
- // The current state of point in time recovery:
- //
- // * ENABLING - Point in time recovery is being enabled.
- //
- // * ENABLED - Point in time recovery is enabled.
- //
- // * DISABLED - Point in time recovery is disabled.
- PointInTimeRecoveryStatus *string `type:"string" enum:"PointInTimeRecoveryStatus"`
- }
- // String returns the string representation
- func (s PointInTimeRecoveryDescription) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s PointInTimeRecoveryDescription) GoString() string {
- return s.String()
- }
- // SetEarliestRestorableDateTime sets the EarliestRestorableDateTime field's value.
- func (s *PointInTimeRecoveryDescription) SetEarliestRestorableDateTime(v time.Time) *PointInTimeRecoveryDescription {
- s.EarliestRestorableDateTime = &v
- return s
- }
- // SetLatestRestorableDateTime sets the LatestRestorableDateTime field's value.
- func (s *PointInTimeRecoveryDescription) SetLatestRestorableDateTime(v time.Time) *PointInTimeRecoveryDescription {
- s.LatestRestorableDateTime = &v
- return s
- }
- // SetPointInTimeRecoveryStatus sets the PointInTimeRecoveryStatus field's value.
- func (s *PointInTimeRecoveryDescription) SetPointInTimeRecoveryStatus(v string) *PointInTimeRecoveryDescription {
- s.PointInTimeRecoveryStatus = &v
- return s
- }
- // Represents the settings used to enable point in time recovery.
- type PointInTimeRecoverySpecification struct {
- _ struct{} `type:"structure"`
- // Indicates whether point in time recovery is enabled (true) or disabled (false)
- // on the table.
- //
- // PointInTimeRecoveryEnabled is a required field
- PointInTimeRecoveryEnabled *bool `type:"boolean" required:"true"`
- }
- // String returns the string representation
- func (s PointInTimeRecoverySpecification) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s PointInTimeRecoverySpecification) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *PointInTimeRecoverySpecification) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "PointInTimeRecoverySpecification"}
- if s.PointInTimeRecoveryEnabled == nil {
- invalidParams.Add(request.NewErrParamRequired("PointInTimeRecoveryEnabled"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetPointInTimeRecoveryEnabled sets the PointInTimeRecoveryEnabled field's value.
- func (s *PointInTimeRecoverySpecification) SetPointInTimeRecoveryEnabled(v bool) *PointInTimeRecoverySpecification {
- s.PointInTimeRecoveryEnabled = &v
- return s
- }
- // Represents attributes that are copied (projected) from the table into an
- // index. These are in addition to the primary key attributes and index key
- // attributes, which are automatically projected.
- type Projection struct {
- _ struct{} `type:"structure"`
- // Represents the non-key attribute names which will be projected into the index.
- //
- // For local secondary indexes, the total count of NonKeyAttributes summed across
- // all of the local secondary indexes, must not exceed 20. If you project the
- // same attribute into two different indexes, this counts as two distinct attributes
- // when determining the total.
- NonKeyAttributes []*string `min:"1" type:"list"`
- // The set of attributes that are projected into the index:
- //
- // * KEYS_ONLY - Only the index and primary keys are projected into the index.
- //
- // * INCLUDE - Only the specified table attributes are projected into the
- // index. The list of projected attributes are in NonKeyAttributes.
- //
- // * ALL - All of the table attributes are projected into the index.
- ProjectionType *string `type:"string" enum:"ProjectionType"`
- }
- // String returns the string representation
- func (s Projection) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Projection) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Projection) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Projection"}
- if s.NonKeyAttributes != nil && len(s.NonKeyAttributes) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("NonKeyAttributes", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetNonKeyAttributes sets the NonKeyAttributes field's value.
- func (s *Projection) SetNonKeyAttributes(v []*string) *Projection {
- s.NonKeyAttributes = v
- return s
- }
- // SetProjectionType sets the ProjectionType field's value.
- func (s *Projection) SetProjectionType(v string) *Projection {
- s.ProjectionType = &v
- return s
- }
- // Represents the provisioned throughput settings for a specified table or index.
- // The settings can be modified using the UpdateTable operation.
- //
- // For current minimum and maximum provisioned throughput values, see Limits
- // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html)
- // in the Amazon DynamoDB Developer Guide.
- type ProvisionedThroughput struct {
- _ struct{} `type:"structure"`
- // The maximum number of strongly consistent reads consumed per second before
- // DynamoDB returns a ThrottlingException. For more information, see Specifying
- // Read and Write Requirements (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput)
- // in the Amazon DynamoDB Developer Guide.
- //
- // If read/write capacity mode is PAY_PER_REQUEST the value is set to 0.
- //
- // ReadCapacityUnits is a required field
- ReadCapacityUnits *int64 `min:"1" type:"long" required:"true"`
- // The maximum number of writes consumed per second before DynamoDB returns
- // a ThrottlingException. For more information, see Specifying Read and Write
- // Requirements (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput)
- // in the Amazon DynamoDB Developer Guide.
- //
- // If read/write capacity mode is PAY_PER_REQUEST the value is set to 0.
- //
- // WriteCapacityUnits is a required field
- WriteCapacityUnits *int64 `min:"1" type:"long" required:"true"`
- }
- // String returns the string representation
- func (s ProvisionedThroughput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ProvisionedThroughput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ProvisionedThroughput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ProvisionedThroughput"}
- if s.ReadCapacityUnits == nil {
- invalidParams.Add(request.NewErrParamRequired("ReadCapacityUnits"))
- }
- if s.ReadCapacityUnits != nil && *s.ReadCapacityUnits < 1 {
- invalidParams.Add(request.NewErrParamMinValue("ReadCapacityUnits", 1))
- }
- if s.WriteCapacityUnits == nil {
- invalidParams.Add(request.NewErrParamRequired("WriteCapacityUnits"))
- }
- if s.WriteCapacityUnits != nil && *s.WriteCapacityUnits < 1 {
- invalidParams.Add(request.NewErrParamMinValue("WriteCapacityUnits", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetReadCapacityUnits sets the ReadCapacityUnits field's value.
- func (s *ProvisionedThroughput) SetReadCapacityUnits(v int64) *ProvisionedThroughput {
- s.ReadCapacityUnits = &v
- return s
- }
- // SetWriteCapacityUnits sets the WriteCapacityUnits field's value.
- func (s *ProvisionedThroughput) SetWriteCapacityUnits(v int64) *ProvisionedThroughput {
- s.WriteCapacityUnits = &v
- return s
- }
- // Represents the provisioned throughput settings for the table, consisting
- // of read and write capacity units, along with data about increases and decreases.
- type ProvisionedThroughputDescription struct {
- _ struct{} `type:"structure"`
- // The date and time of the last provisioned throughput decrease for this table.
- LastDecreaseDateTime *time.Time `type:"timestamp"`
- // The date and time of the last provisioned throughput increase for this table.
- LastIncreaseDateTime *time.Time `type:"timestamp"`
- // The number of provisioned throughput decreases for this table during this
- // UTC calendar day. For current maximums on provisioned throughput decreases,
- // see Limits (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html)
- // in the Amazon DynamoDB Developer Guide.
- NumberOfDecreasesToday *int64 `min:"1" type:"long"`
- // The maximum number of strongly consistent reads consumed per second before
- // DynamoDB returns a ThrottlingException. Eventually consistent reads require
- // less effort than strongly consistent reads, so a setting of 50 ReadCapacityUnits
- // per second provides 100 eventually consistent ReadCapacityUnits per second.
- ReadCapacityUnits *int64 `type:"long"`
- // The maximum number of writes consumed per second before DynamoDB returns
- // a ThrottlingException.
- WriteCapacityUnits *int64 `type:"long"`
- }
- // String returns the string representation
- func (s ProvisionedThroughputDescription) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ProvisionedThroughputDescription) GoString() string {
- return s.String()
- }
- // SetLastDecreaseDateTime sets the LastDecreaseDateTime field's value.
- func (s *ProvisionedThroughputDescription) SetLastDecreaseDateTime(v time.Time) *ProvisionedThroughputDescription {
- s.LastDecreaseDateTime = &v
- return s
- }
- // SetLastIncreaseDateTime sets the LastIncreaseDateTime field's value.
- func (s *ProvisionedThroughputDescription) SetLastIncreaseDateTime(v time.Time) *ProvisionedThroughputDescription {
- s.LastIncreaseDateTime = &v
- return s
- }
- // SetNumberOfDecreasesToday sets the NumberOfDecreasesToday field's value.
- func (s *ProvisionedThroughputDescription) SetNumberOfDecreasesToday(v int64) *ProvisionedThroughputDescription {
- s.NumberOfDecreasesToday = &v
- return s
- }
- // SetReadCapacityUnits sets the ReadCapacityUnits field's value.
- func (s *ProvisionedThroughputDescription) SetReadCapacityUnits(v int64) *ProvisionedThroughputDescription {
- s.ReadCapacityUnits = &v
- return s
- }
- // SetWriteCapacityUnits sets the WriteCapacityUnits field's value.
- func (s *ProvisionedThroughputDescription) SetWriteCapacityUnits(v int64) *ProvisionedThroughputDescription {
- s.WriteCapacityUnits = &v
- return s
- }
- // Represents a request to perform a PutItem operation.
- type Put struct {
- _ struct{} `type:"structure"`
- // A condition that must be satisfied in order for a conditional update to succeed.
- ConditionExpression *string `type:"string"`
- // One or more substitution tokens for attribute names in an expression.
- ExpressionAttributeNames map[string]*string `type:"map"`
- // One or more values that can be substituted in an expression.
- ExpressionAttributeValues map[string]*AttributeValue `type:"map"`
- // A map of attribute name to attribute values, representing the primary key
- // of the item to be written by PutItem. All of the table's primary key attributes
- // must be specified, and their data types must match those of the table's key
- // schema. If any attributes are present in the item that are part of an index
- // key schema for the table, their types must match the index key schema.
- //
- // Item is a required field
- Item map[string]*AttributeValue `type:"map" required:"true"`
- // Use ReturnValuesOnConditionCheckFailure to get the item attributes if the
- // Put condition fails. For ReturnValuesOnConditionCheckFailure, the valid values
- // are: NONE and ALL_OLD.
- ReturnValuesOnConditionCheckFailure *string `type:"string" enum:"ReturnValuesOnConditionCheckFailure"`
- // Name of the table in which to write the item.
- //
- // TableName is a required field
- TableName *string `min:"3" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s Put) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Put) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Put) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Put"}
- if s.Item == nil {
- invalidParams.Add(request.NewErrParamRequired("Item"))
- }
- if s.TableName == nil {
- invalidParams.Add(request.NewErrParamRequired("TableName"))
- }
- if s.TableName != nil && len(*s.TableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetConditionExpression sets the ConditionExpression field's value.
- func (s *Put) SetConditionExpression(v string) *Put {
- s.ConditionExpression = &v
- return s
- }
- // SetExpressionAttributeNames sets the ExpressionAttributeNames field's value.
- func (s *Put) SetExpressionAttributeNames(v map[string]*string) *Put {
- s.ExpressionAttributeNames = v
- return s
- }
- // SetExpressionAttributeValues sets the ExpressionAttributeValues field's value.
- func (s *Put) SetExpressionAttributeValues(v map[string]*AttributeValue) *Put {
- s.ExpressionAttributeValues = v
- return s
- }
- // SetItem sets the Item field's value.
- func (s *Put) SetItem(v map[string]*AttributeValue) *Put {
- s.Item = v
- return s
- }
- // SetReturnValuesOnConditionCheckFailure sets the ReturnValuesOnConditionCheckFailure field's value.
- func (s *Put) SetReturnValuesOnConditionCheckFailure(v string) *Put {
- s.ReturnValuesOnConditionCheckFailure = &v
- return s
- }
- // SetTableName sets the TableName field's value.
- func (s *Put) SetTableName(v string) *Put {
- s.TableName = &v
- return s
- }
- // Represents the input of a PutItem operation.
- type PutItemInput struct {
- _ struct{} `type:"structure"`
- // A condition that must be satisfied in order for a conditional PutItem operation
- // to succeed.
- //
- // An expression can contain any of the following:
- //
- // * Functions: attribute_exists | attribute_not_exists | attribute_type
- // | contains | begins_with | size
- //
- // These function names are case-sensitive.
- //
- // * Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN
- //
- // * Logical operators: AND | OR | NOT
- //
- // For more information on condition expressions, see Specifying Conditions
- // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html)
- // in the Amazon DynamoDB Developer Guide.
- ConditionExpression *string `type:"string"`
- // This is a legacy parameter. Use ConditionExpression instead. For more information,
- // see ConditionalOperator (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html)
- // in the Amazon DynamoDB Developer Guide.
- ConditionalOperator *string `type:"string" enum:"ConditionalOperator"`
- // This is a legacy parameter. Use ConditionExpression instead. For more information,
- // see Expected (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html)
- // in the Amazon DynamoDB Developer Guide.
- Expected map[string]*ExpectedAttributeValue `type:"map"`
- // One or more substitution tokens for attribute names in an expression. The
- // following are some use cases for using ExpressionAttributeNames:
- //
- // * To access an attribute whose name conflicts with a DynamoDB reserved
- // word.
- //
- // * To create a placeholder for repeating occurrences of an attribute name
- // in an expression.
- //
- // * To prevent special characters in an attribute name from being misinterpreted
- // in an expression.
- //
- // Use the # character in an expression to dereference an attribute name. For
- // example, consider the following attribute name:
- //
- // * Percentile
- //
- // The name of this attribute conflicts with a reserved word, so it cannot be
- // used directly in an expression. (For the complete list of reserved words,
- // see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html)
- // in the Amazon DynamoDB Developer Guide). To work around this, you could specify
- // the following for ExpressionAttributeNames:
- //
- // * {"#P":"Percentile"}
- //
- // You could then use this substitution in an expression, as in this example:
- //
- // * #P = :val
- //
- // Tokens that begin with the : character are expression attribute values, which
- // are placeholders for the actual value at runtime.
- //
- // For more information on expression attribute names, see Accessing Item Attributes
- // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html)
- // in the Amazon DynamoDB Developer Guide.
- ExpressionAttributeNames map[string]*string `type:"map"`
- // One or more values that can be substituted in an expression.
- //
- // Use the : (colon) character in an expression to dereference an attribute
- // value. For example, suppose that you wanted to check whether the value of
- // the ProductStatus attribute was one of the following:
- //
- // Available | Backordered | Discontinued
- //
- // You would first need to specify ExpressionAttributeValues as follows:
- //
- // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"}
- // }
- //
- // You could then use these values in an expression, such as this:
- //
- // ProductStatus IN (:avail, :back, :disc)
- //
- // For more information on expression attribute values, see Specifying Conditions
- // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html)
- // in the Amazon DynamoDB Developer Guide.
- ExpressionAttributeValues map[string]*AttributeValue `type:"map"`
- // A map of attribute name/value pairs, one for each attribute. Only the primary
- // key attributes are required; you can optionally provide other attribute name-value
- // pairs for the item.
- //
- // You must provide all of the attributes for the primary key. For example,
- // with a simple primary key, you only need to provide a value for the partition
- // key. For a composite primary key, you must provide both values for both the
- // partition key and the sort key.
- //
- // If you specify any attributes that are part of an index key, then the data
- // types for those attributes must match those of the schema in the table's
- // attribute definition.
- //
- // For more information about primary keys, see Primary Key (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html#DataModelPrimaryKey)
- // in the Amazon DynamoDB Developer Guide.
- //
- // Each element in the Item map is an AttributeValue object.
- //
- // Item is a required field
- Item map[string]*AttributeValue `type:"map" required:"true"`
- // Determines the level of detail about provisioned throughput consumption that
- // is returned in the response:
- //
- // * INDEXES - The response includes the aggregate ConsumedCapacity for the
- // operation, together with ConsumedCapacity for each table and secondary
- // index that was accessed.
- //
- // Note that some operations, such as GetItem and BatchGetItem, do not access
- // any indexes at all. In these cases, specifying INDEXES will only return
- // ConsumedCapacity information for table(s).
- //
- // * TOTAL - The response includes only the aggregate ConsumedCapacity for
- // the operation.
- //
- // * NONE - No ConsumedCapacity details are included in the response.
- ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"`
- // Determines whether item collection metrics are returned. If set to SIZE,
- // the response includes statistics about item collections, if any, that were
- // modified during the operation are returned in the response. If set to NONE
- // (the default), no statistics are returned.
- ReturnItemCollectionMetrics *string `type:"string" enum:"ReturnItemCollectionMetrics"`
- // Use ReturnValues if you want to get the item attributes as they appeared
- // before they were updated with the PutItem request. For PutItem, the valid
- // values are:
- //
- // * NONE - If ReturnValues is not specified, or if its value is NONE, then
- // nothing is returned. (This setting is the default for ReturnValues.)
- //
- // * ALL_OLD - If PutItem overwrote an attribute name-value pair, then the
- // content of the old item is returned.
- //
- // The ReturnValues parameter is used by several DynamoDB operations; however,
- // PutItem does not recognize any values other than NONE or ALL_OLD.
- ReturnValues *string `type:"string" enum:"ReturnValue"`
- // The name of the table to contain the item.
- //
- // TableName is a required field
- TableName *string `min:"3" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s PutItemInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s PutItemInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *PutItemInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "PutItemInput"}
- if s.Item == nil {
- invalidParams.Add(request.NewErrParamRequired("Item"))
- }
- if s.TableName == nil {
- invalidParams.Add(request.NewErrParamRequired("TableName"))
- }
- if s.TableName != nil && len(*s.TableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetConditionExpression sets the ConditionExpression field's value.
- func (s *PutItemInput) SetConditionExpression(v string) *PutItemInput {
- s.ConditionExpression = &v
- return s
- }
- // SetConditionalOperator sets the ConditionalOperator field's value.
- func (s *PutItemInput) SetConditionalOperator(v string) *PutItemInput {
- s.ConditionalOperator = &v
- return s
- }
- // SetExpected sets the Expected field's value.
- func (s *PutItemInput) SetExpected(v map[string]*ExpectedAttributeValue) *PutItemInput {
- s.Expected = v
- return s
- }
- // SetExpressionAttributeNames sets the ExpressionAttributeNames field's value.
- func (s *PutItemInput) SetExpressionAttributeNames(v map[string]*string) *PutItemInput {
- s.ExpressionAttributeNames = v
- return s
- }
- // SetExpressionAttributeValues sets the ExpressionAttributeValues field's value.
- func (s *PutItemInput) SetExpressionAttributeValues(v map[string]*AttributeValue) *PutItemInput {
- s.ExpressionAttributeValues = v
- return s
- }
- // SetItem sets the Item field's value.
- func (s *PutItemInput) SetItem(v map[string]*AttributeValue) *PutItemInput {
- s.Item = v
- return s
- }
- // SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value.
- func (s *PutItemInput) SetReturnConsumedCapacity(v string) *PutItemInput {
- s.ReturnConsumedCapacity = &v
- return s
- }
- // SetReturnItemCollectionMetrics sets the ReturnItemCollectionMetrics field's value.
- func (s *PutItemInput) SetReturnItemCollectionMetrics(v string) *PutItemInput {
- s.ReturnItemCollectionMetrics = &v
- return s
- }
- // SetReturnValues sets the ReturnValues field's value.
- func (s *PutItemInput) SetReturnValues(v string) *PutItemInput {
- s.ReturnValues = &v
- return s
- }
- // SetTableName sets the TableName field's value.
- func (s *PutItemInput) SetTableName(v string) *PutItemInput {
- s.TableName = &v
- return s
- }
- // Represents the output of a PutItem operation.
- type PutItemOutput struct {
- _ struct{} `type:"structure"`
- // The attribute values as they appeared before the PutItem operation, but only
- // if ReturnValues is specified as ALL_OLD in the request. Each element consists
- // of an attribute name and an attribute value.
- Attributes map[string]*AttributeValue `type:"map"`
- // The capacity units consumed by the PutItem operation. The data returned includes
- // the total provisioned throughput consumed, along with statistics for the
- // table and any indexes involved in the operation. ConsumedCapacity is only
- // returned if the ReturnConsumedCapacity parameter was specified. For more
- // information, see Provisioned Throughput (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html)
- // in the Amazon DynamoDB Developer Guide.
- ConsumedCapacity *ConsumedCapacity `type:"structure"`
- // Information about item collections, if any, that were affected by the PutItem
- // operation. ItemCollectionMetrics is only returned if the ReturnItemCollectionMetrics
- // parameter was specified. If the table does not have any local secondary indexes,
- // this information is not returned in the response.
- //
- // Each ItemCollectionMetrics element consists of:
- //
- // * ItemCollectionKey - The partition key value of the item collection.
- // This is the same as the partition key value of the item itself.
- //
- // * SizeEstimateRangeGB - An estimate of item collection size, in gigabytes.
- // This value is a two-element array containing a lower bound and an upper
- // bound for the estimate. The estimate includes the size of all the items
- // in the table, plus the size of all attributes projected into all of the
- // local secondary indexes on that table. Use this estimate to measure whether
- // a local secondary index is approaching its size limit.
- //
- // The estimate is subject to change over time; therefore, do not rely on the
- // precision or accuracy of the estimate.
- ItemCollectionMetrics *ItemCollectionMetrics `type:"structure"`
- }
- // String returns the string representation
- func (s PutItemOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s PutItemOutput) GoString() string {
- return s.String()
- }
- // SetAttributes sets the Attributes field's value.
- func (s *PutItemOutput) SetAttributes(v map[string]*AttributeValue) *PutItemOutput {
- s.Attributes = v
- return s
- }
- // SetConsumedCapacity sets the ConsumedCapacity field's value.
- func (s *PutItemOutput) SetConsumedCapacity(v *ConsumedCapacity) *PutItemOutput {
- s.ConsumedCapacity = v
- return s
- }
- // SetItemCollectionMetrics sets the ItemCollectionMetrics field's value.
- func (s *PutItemOutput) SetItemCollectionMetrics(v *ItemCollectionMetrics) *PutItemOutput {
- s.ItemCollectionMetrics = v
- return s
- }
- // Represents a request to perform a PutItem operation on an item.
- type PutRequest struct {
- _ struct{} `type:"structure"`
- // A map of attribute name to attribute values, representing the primary key
- // of an item to be processed by PutItem. All of the table's primary key attributes
- // must be specified, and their data types must match those of the table's key
- // schema. If any attributes are present in the item which are part of an index
- // key schema for the table, their types must match the index key schema.
- //
- // Item is a required field
- Item map[string]*AttributeValue `type:"map" required:"true"`
- }
- // String returns the string representation
- func (s PutRequest) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s PutRequest) GoString() string {
- return s.String()
- }
- // SetItem sets the Item field's value.
- func (s *PutRequest) SetItem(v map[string]*AttributeValue) *PutRequest {
- s.Item = v
- return s
- }
- // Represents the input of a Query operation.
- type QueryInput struct {
- _ struct{} `type:"structure"`
- // This is a legacy parameter. Use ProjectionExpression instead. For more information,
- // see AttributesToGet (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html)
- // in the Amazon DynamoDB Developer Guide.
- AttributesToGet []*string `min:"1" type:"list"`
- // This is a legacy parameter. Use FilterExpression instead. For more information,
- // see ConditionalOperator (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html)
- // in the Amazon DynamoDB Developer Guide.
- ConditionalOperator *string `type:"string" enum:"ConditionalOperator"`
- // Determines the read consistency model: If set to true, then the operation
- // uses strongly consistent reads; otherwise, the operation uses eventually
- // consistent reads.
- //
- // Strongly consistent reads are not supported on global secondary indexes.
- // If you query a global secondary index with ConsistentRead set to true, you
- // will receive a ValidationException.
- ConsistentRead *bool `type:"boolean"`
- // The primary key of the first item that this operation will evaluate. Use
- // the value that was returned for LastEvaluatedKey in the previous operation.
- //
- // The data type for ExclusiveStartKey must be String, Number or Binary. No
- // set data types are allowed.
- ExclusiveStartKey map[string]*AttributeValue `type:"map"`
- // One or more substitution tokens for attribute names in an expression. The
- // following are some use cases for using ExpressionAttributeNames:
- //
- // * To access an attribute whose name conflicts with a DynamoDB reserved
- // word.
- //
- // * To create a placeholder for repeating occurrences of an attribute name
- // in an expression.
- //
- // * To prevent special characters in an attribute name from being misinterpreted
- // in an expression.
- //
- // Use the # character in an expression to dereference an attribute name. For
- // example, consider the following attribute name:
- //
- // * Percentile
- //
- // The name of this attribute conflicts with a reserved word, so it cannot be
- // used directly in an expression. (For the complete list of reserved words,
- // see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html)
- // in the Amazon DynamoDB Developer Guide). To work around this, you could specify
- // the following for ExpressionAttributeNames:
- //
- // * {"#P":"Percentile"}
- //
- // You could then use this substitution in an expression, as in this example:
- //
- // * #P = :val
- //
- // Tokens that begin with the : character are expression attribute values, which
- // are placeholders for the actual value at runtime.
- //
- // For more information on expression attribute names, see Accessing Item Attributes
- // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html)
- // in the Amazon DynamoDB Developer Guide.
- ExpressionAttributeNames map[string]*string `type:"map"`
- // One or more values that can be substituted in an expression.
- //
- // Use the : (colon) character in an expression to dereference an attribute
- // value. For example, suppose that you wanted to check whether the value of
- // the ProductStatus attribute was one of the following:
- //
- // Available | Backordered | Discontinued
- //
- // You would first need to specify ExpressionAttributeValues as follows:
- //
- // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"}
- // }
- //
- // You could then use these values in an expression, such as this:
- //
- // ProductStatus IN (:avail, :back, :disc)
- //
- // For more information on expression attribute values, see Specifying Conditions
- // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html)
- // in the Amazon DynamoDB Developer Guide.
- ExpressionAttributeValues map[string]*AttributeValue `type:"map"`
- // A string that contains conditions that DynamoDB applies after the Query operation,
- // but before the data is returned to you. Items that do not satisfy the FilterExpression
- // criteria are not returned.
- //
- // A FilterExpression does not allow key attributes. You cannot define a filter
- // expression based on a partition key or a sort key.
- //
- // A FilterExpression is applied after the items have already been read; the
- // process of filtering does not consume any additional read capacity units.
- //
- // For more information, see Filter Expressions (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults)
- // in the Amazon DynamoDB Developer Guide.
- FilterExpression *string `type:"string"`
- // The name of an index to query. This index can be any local secondary index
- // or global secondary index on the table. Note that if you use the IndexName
- // parameter, you must also provide TableName.
- IndexName *string `min:"3" type:"string"`
- // The condition that specifies the key value(s) for items to be retrieved by
- // the Query action.
- //
- // The condition must perform an equality test on a single partition key value.
- //
- // The condition can optionally perform one of several comparison tests on a
- // single sort key value. This allows Query to retrieve one item with a given
- // partition key value and sort key value, or several items that have the same
- // partition key value but different sort key values.
- //
- // The partition key equality test is required, and must be specified in the
- // following format:
- //
- // partitionKeyName=:partitionkeyval
- //
- // If you also want to provide a condition for the sort key, it must be combined
- // using AND with the condition for the sort key. Following is an example, using
- // the = comparison operator for the sort key:
- //
- // partitionKeyName=:partitionkeyvalANDsortKeyName=:sortkeyval
- //
- // Valid comparisons for the sort key condition are as follows:
- //
- // * sortKeyName=:sortkeyval - true if the sort key value is equal to :sortkeyval.
- //
- // * sortKeyName<:sortkeyval - true if the sort key value is less than :sortkeyval.
- //
- // * sortKeyName<=:sortkeyval - true if the sort key value is less than or
- // equal to :sortkeyval.
- //
- // * sortKeyName>:sortkeyval - true if the sort key value is greater than
- // :sortkeyval.
- //
- // * sortKeyName>= :sortkeyval - true if the sort key value is greater than
- // or equal to :sortkeyval.
- //
- // * sortKeyNameBETWEEN:sortkeyval1AND:sortkeyval2 - true if the sort key
- // value is greater than or equal to :sortkeyval1, and less than or equal
- // to :sortkeyval2.
- //
- // * begins_with (sortKeyName, :sortkeyval) - true if the sort key value
- // begins with a particular operand. (You cannot use this function with a
- // sort key that is of type Number.) Note that the function name begins_with
- // is case-sensitive.
- //
- // Use the ExpressionAttributeValues parameter to replace tokens such as :partitionval
- // and :sortval with actual values at runtime.
- //
- // You can optionally use the ExpressionAttributeNames parameter to replace
- // the names of the partition key and sort key with placeholder tokens. This
- // option might be necessary if an attribute name conflicts with a DynamoDB
- // reserved word. For example, the following KeyConditionExpression parameter
- // causes an error because Size is a reserved word:
- //
- // * Size = :myval
- //
- // To work around this, define a placeholder (such a #S) to represent the attribute
- // name Size. KeyConditionExpression then is as follows:
- //
- // * #S = :myval
- //
- // For a list of reserved words, see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html)
- // in the Amazon DynamoDB Developer Guide.
- //
- // For more information on ExpressionAttributeNames and ExpressionAttributeValues,
- // see Using Placeholders for Attribute Names and Values (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ExpressionPlaceholders.html)
- // in the Amazon DynamoDB Developer Guide.
- KeyConditionExpression *string `type:"string"`
- // This is a legacy parameter. Use KeyConditionExpression instead. For more
- // information, see KeyConditions (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.KeyConditions.html)
- // in the Amazon DynamoDB Developer Guide.
- KeyConditions map[string]*Condition `type:"map"`
- // The maximum number of items to evaluate (not necessarily the number of matching
- // items). If DynamoDB processes the number of items up to the limit while processing
- // the results, it stops the operation and returns the matching values up to
- // that point, and a key in LastEvaluatedKey to apply in a subsequent operation,
- // so that you can pick up where you left off. Also, if the processed data set
- // size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation
- // and returns the matching values up to the limit, and a key in LastEvaluatedKey
- // to apply in a subsequent operation to continue the operation. For more information,
- // see Query and Scan (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html)
- // in the Amazon DynamoDB Developer Guide.
- Limit *int64 `min:"1" type:"integer"`
- // A string that identifies one or more attributes to retrieve from the table.
- // These attributes can include scalars, sets, or elements of a JSON document.
- // The attributes in the expression must be separated by commas.
- //
- // If no attribute names are specified, then all attributes will be returned.
- // If any of the requested attributes are not found, they will not appear in
- // the result.
- //
- // For more information, see Accessing Item Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html)
- // in the Amazon DynamoDB Developer Guide.
- ProjectionExpression *string `type:"string"`
- // This is a legacy parameter. Use FilterExpression instead. For more information,
- // see QueryFilter (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.QueryFilter.html)
- // in the Amazon DynamoDB Developer Guide.
- QueryFilter map[string]*Condition `type:"map"`
- // Determines the level of detail about provisioned throughput consumption that
- // is returned in the response:
- //
- // * INDEXES - The response includes the aggregate ConsumedCapacity for the
- // operation, together with ConsumedCapacity for each table and secondary
- // index that was accessed.
- //
- // Note that some operations, such as GetItem and BatchGetItem, do not access
- // any indexes at all. In these cases, specifying INDEXES will only return
- // ConsumedCapacity information for table(s).
- //
- // * TOTAL - The response includes only the aggregate ConsumedCapacity for
- // the operation.
- //
- // * NONE - No ConsumedCapacity details are included in the response.
- ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"`
- // Specifies the order for index traversal: If true (default), the traversal
- // is performed in ascending order; if false, the traversal is performed in
- // descending order.
- //
- // Items with the same partition key value are stored in sorted order by sort
- // key. If the sort key data type is Number, the results are stored in numeric
- // order. For type String, the results are stored in order of UTF-8 bytes. For
- // type Binary, DynamoDB treats each byte of the binary data as unsigned.
- //
- // If ScanIndexForward is true, DynamoDB returns the results in the order in
- // which they are stored (by sort key value). This is the default behavior.
- // If ScanIndexForward is false, DynamoDB reads the results in reverse order
- // by sort key value, and then returns the results to the client.
- ScanIndexForward *bool `type:"boolean"`
- // The attributes to be returned in the result. You can retrieve all item attributes,
- // specific item attributes, the count of matching items, or in the case of
- // an index, some or all of the attributes projected into the index.
- //
- // * ALL_ATTRIBUTES - Returns all of the item attributes from the specified
- // table or index. If you query a local secondary index, then for each matching
- // item in the index DynamoDB will fetch the entire item from the parent
- // table. If the index is configured to project all item attributes, then
- // all of the data can be obtained from the local secondary index, and no
- // fetching is required.
- //
- // * ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index. Retrieves
- // all attributes that have been projected into the index. If the index is
- // configured to project all attributes, this return value is equivalent
- // to specifying ALL_ATTRIBUTES.
- //
- // * COUNT - Returns the number of matching items, rather than the matching
- // items themselves.
- //
- // * SPECIFIC_ATTRIBUTES - Returns only the attributes listed in AttributesToGet.
- // This return value is equivalent to specifying AttributesToGet without
- // specifying any value for Select.
- //
- // If you query or scan a local secondary index and request only attributes
- // that are projected into that index, the operation will read only the index
- // and not the table. If any of the requested attributes are not projected
- // into the local secondary index, DynamoDB will fetch each of these attributes
- // from the parent table. This extra fetching incurs additional throughput
- // cost and latency.
- //
- // If you query or scan a global secondary index, you can only request attributes
- // that are projected into the index. Global secondary index queries cannot
- // fetch attributes from the parent table.
- //
- // If neither Select nor AttributesToGet are specified, DynamoDB defaults to
- // ALL_ATTRIBUTES when accessing a table, and ALL_PROJECTED_ATTRIBUTES when
- // accessing an index. You cannot use both Select and AttributesToGet together
- // in a single request, unless the value for Select is SPECIFIC_ATTRIBUTES.
- // (This usage is equivalent to specifying AttributesToGet without any value
- // for Select.)
- //
- // If you use the ProjectionExpression parameter, then the value for Select
- // can only be SPECIFIC_ATTRIBUTES. Any other value for Select will return an
- // error.
- Select *string `type:"string" enum:"Select"`
- // The name of the table containing the requested items.
- //
- // TableName is a required field
- TableName *string `min:"3" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s QueryInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s QueryInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *QueryInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "QueryInput"}
- if s.AttributesToGet != nil && len(s.AttributesToGet) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("AttributesToGet", 1))
- }
- if s.IndexName != nil && len(*s.IndexName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("IndexName", 3))
- }
- if s.Limit != nil && *s.Limit < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
- }
- if s.TableName == nil {
- invalidParams.Add(request.NewErrParamRequired("TableName"))
- }
- if s.TableName != nil && len(*s.TableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
- }
- if s.KeyConditions != nil {
- for i, v := range s.KeyConditions {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "KeyConditions", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if s.QueryFilter != nil {
- for i, v := range s.QueryFilter {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QueryFilter", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAttributesToGet sets the AttributesToGet field's value.
- func (s *QueryInput) SetAttributesToGet(v []*string) *QueryInput {
- s.AttributesToGet = v
- return s
- }
- // SetConditionalOperator sets the ConditionalOperator field's value.
- func (s *QueryInput) SetConditionalOperator(v string) *QueryInput {
- s.ConditionalOperator = &v
- return s
- }
- // SetConsistentRead sets the ConsistentRead field's value.
- func (s *QueryInput) SetConsistentRead(v bool) *QueryInput {
- s.ConsistentRead = &v
- return s
- }
- // SetExclusiveStartKey sets the ExclusiveStartKey field's value.
- func (s *QueryInput) SetExclusiveStartKey(v map[string]*AttributeValue) *QueryInput {
- s.ExclusiveStartKey = v
- return s
- }
- // SetExpressionAttributeNames sets the ExpressionAttributeNames field's value.
- func (s *QueryInput) SetExpressionAttributeNames(v map[string]*string) *QueryInput {
- s.ExpressionAttributeNames = v
- return s
- }
- // SetExpressionAttributeValues sets the ExpressionAttributeValues field's value.
- func (s *QueryInput) SetExpressionAttributeValues(v map[string]*AttributeValue) *QueryInput {
- s.ExpressionAttributeValues = v
- return s
- }
- // SetFilterExpression sets the FilterExpression field's value.
- func (s *QueryInput) SetFilterExpression(v string) *QueryInput {
- s.FilterExpression = &v
- return s
- }
- // SetIndexName sets the IndexName field's value.
- func (s *QueryInput) SetIndexName(v string) *QueryInput {
- s.IndexName = &v
- return s
- }
- // SetKeyConditionExpression sets the KeyConditionExpression field's value.
- func (s *QueryInput) SetKeyConditionExpression(v string) *QueryInput {
- s.KeyConditionExpression = &v
- return s
- }
- // SetKeyConditions sets the KeyConditions field's value.
- func (s *QueryInput) SetKeyConditions(v map[string]*Condition) *QueryInput {
- s.KeyConditions = v
- return s
- }
- // SetLimit sets the Limit field's value.
- func (s *QueryInput) SetLimit(v int64) *QueryInput {
- s.Limit = &v
- return s
- }
- // SetProjectionExpression sets the ProjectionExpression field's value.
- func (s *QueryInput) SetProjectionExpression(v string) *QueryInput {
- s.ProjectionExpression = &v
- return s
- }
- // SetQueryFilter sets the QueryFilter field's value.
- func (s *QueryInput) SetQueryFilter(v map[string]*Condition) *QueryInput {
- s.QueryFilter = v
- return s
- }
- // SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value.
- func (s *QueryInput) SetReturnConsumedCapacity(v string) *QueryInput {
- s.ReturnConsumedCapacity = &v
- return s
- }
- // SetScanIndexForward sets the ScanIndexForward field's value.
- func (s *QueryInput) SetScanIndexForward(v bool) *QueryInput {
- s.ScanIndexForward = &v
- return s
- }
- // SetSelect sets the Select field's value.
- func (s *QueryInput) SetSelect(v string) *QueryInput {
- s.Select = &v
- return s
- }
- // SetTableName sets the TableName field's value.
- func (s *QueryInput) SetTableName(v string) *QueryInput {
- s.TableName = &v
- return s
- }
- // Represents the output of a Query operation.
- type QueryOutput struct {
- _ struct{} `type:"structure"`
- // The capacity units consumed by the Query operation. The data returned includes
- // the total provisioned throughput consumed, along with statistics for the
- // table and any indexes involved in the operation. ConsumedCapacity is only
- // returned if the ReturnConsumedCapacity parameter was specified For more information,
- // see Provisioned Throughput (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html)
- // in the Amazon DynamoDB Developer Guide.
- ConsumedCapacity *ConsumedCapacity `type:"structure"`
- // The number of items in the response.
- //
- // If you used a QueryFilter in the request, then Count is the number of items
- // returned after the filter was applied, and ScannedCount is the number of
- // matching items before the filter was applied.
- //
- // If you did not use a filter in the request, then Count and ScannedCount are
- // the same.
- Count *int64 `type:"integer"`
- // An array of item attributes that match the query criteria. Each element in
- // this array consists of an attribute name and the value for that attribute.
- Items []map[string]*AttributeValue `type:"list"`
- // The primary key of the item where the operation stopped, inclusive of the
- // previous result set. Use this value to start a new operation, excluding this
- // value in the new request.
- //
- // If LastEvaluatedKey is empty, then the "last page" of results has been processed
- // and there is no more data to be retrieved.
- //
- // If LastEvaluatedKey is not empty, it does not necessarily mean that there
- // is more data in the result set. The only way to know when you have reached
- // the end of the result set is when LastEvaluatedKey is empty.
- LastEvaluatedKey map[string]*AttributeValue `type:"map"`
- // The number of items evaluated, before any QueryFilter is applied. A high
- // ScannedCount value with few, or no, Count results indicates an inefficient
- // Query operation. For more information, see Count and ScannedCount (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count)
- // in the Amazon DynamoDB Developer Guide.
- //
- // If you did not use a filter in the request, then ScannedCount is the same
- // as Count.
- ScannedCount *int64 `type:"integer"`
- }
- // String returns the string representation
- func (s QueryOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s QueryOutput) GoString() string {
- return s.String()
- }
- // SetConsumedCapacity sets the ConsumedCapacity field's value.
- func (s *QueryOutput) SetConsumedCapacity(v *ConsumedCapacity) *QueryOutput {
- s.ConsumedCapacity = v
- return s
- }
- // SetCount sets the Count field's value.
- func (s *QueryOutput) SetCount(v int64) *QueryOutput {
- s.Count = &v
- return s
- }
- // SetItems sets the Items field's value.
- func (s *QueryOutput) SetItems(v []map[string]*AttributeValue) *QueryOutput {
- s.Items = v
- return s
- }
- // SetLastEvaluatedKey sets the LastEvaluatedKey field's value.
- func (s *QueryOutput) SetLastEvaluatedKey(v map[string]*AttributeValue) *QueryOutput {
- s.LastEvaluatedKey = v
- return s
- }
- // SetScannedCount sets the ScannedCount field's value.
- func (s *QueryOutput) SetScannedCount(v int64) *QueryOutput {
- s.ScannedCount = &v
- return s
- }
- // Represents the properties of a replica.
- type Replica struct {
- _ struct{} `type:"structure"`
- // The region where the replica needs to be created.
- RegionName *string `type:"string"`
- }
- // String returns the string representation
- func (s Replica) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Replica) GoString() string {
- return s.String()
- }
- // SetRegionName sets the RegionName field's value.
- func (s *Replica) SetRegionName(v string) *Replica {
- s.RegionName = &v
- return s
- }
- // Contains the details of the replica.
- type ReplicaDescription struct {
- _ struct{} `type:"structure"`
- // The name of the region.
- RegionName *string `type:"string"`
- }
- // String returns the string representation
- func (s ReplicaDescription) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ReplicaDescription) GoString() string {
- return s.String()
- }
- // SetRegionName sets the RegionName field's value.
- func (s *ReplicaDescription) SetRegionName(v string) *ReplicaDescription {
- s.RegionName = &v
- return s
- }
- // Represents the properties of a global secondary index.
- type ReplicaGlobalSecondaryIndexSettingsDescription struct {
- _ struct{} `type:"structure"`
- // The name of the global secondary index. The name must be unique among all
- // other indexes on this table.
- //
- // IndexName is a required field
- IndexName *string `min:"3" type:"string" required:"true"`
- // The current status of the global secondary index:
- //
- // * CREATING - The global secondary index is being created.
- //
- // * UPDATING - The global secondary index is being updated.
- //
- // * DELETING - The global secondary index is being deleted.
- //
- // * ACTIVE - The global secondary index is ready for use.
- IndexStatus *string `type:"string" enum:"IndexStatus"`
- // Autoscaling settings for a global secondary index replica's read capacity
- // units.
- ProvisionedReadCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"`
- // The maximum number of strongly consistent reads consumed per second before
- // DynamoDB returns a ThrottlingException.
- ProvisionedReadCapacityUnits *int64 `min:"1" type:"long"`
- // AutoScaling settings for a global secondary index replica's write capacity
- // units.
- ProvisionedWriteCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"`
- // The maximum number of writes consumed per second before DynamoDB returns
- // a ThrottlingException.
- ProvisionedWriteCapacityUnits *int64 `min:"1" type:"long"`
- }
- // String returns the string representation
- func (s ReplicaGlobalSecondaryIndexSettingsDescription) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ReplicaGlobalSecondaryIndexSettingsDescription) GoString() string {
- return s.String()
- }
- // SetIndexName sets the IndexName field's value.
- func (s *ReplicaGlobalSecondaryIndexSettingsDescription) SetIndexName(v string) *ReplicaGlobalSecondaryIndexSettingsDescription {
- s.IndexName = &v
- return s
- }
- // SetIndexStatus sets the IndexStatus field's value.
- func (s *ReplicaGlobalSecondaryIndexSettingsDescription) SetIndexStatus(v string) *ReplicaGlobalSecondaryIndexSettingsDescription {
- s.IndexStatus = &v
- return s
- }
- // SetProvisionedReadCapacityAutoScalingSettings sets the ProvisionedReadCapacityAutoScalingSettings field's value.
- func (s *ReplicaGlobalSecondaryIndexSettingsDescription) SetProvisionedReadCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaGlobalSecondaryIndexSettingsDescription {
- s.ProvisionedReadCapacityAutoScalingSettings = v
- return s
- }
- // SetProvisionedReadCapacityUnits sets the ProvisionedReadCapacityUnits field's value.
- func (s *ReplicaGlobalSecondaryIndexSettingsDescription) SetProvisionedReadCapacityUnits(v int64) *ReplicaGlobalSecondaryIndexSettingsDescription {
- s.ProvisionedReadCapacityUnits = &v
- return s
- }
- // SetProvisionedWriteCapacityAutoScalingSettings sets the ProvisionedWriteCapacityAutoScalingSettings field's value.
- func (s *ReplicaGlobalSecondaryIndexSettingsDescription) SetProvisionedWriteCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaGlobalSecondaryIndexSettingsDescription {
- s.ProvisionedWriteCapacityAutoScalingSettings = v
- return s
- }
- // SetProvisionedWriteCapacityUnits sets the ProvisionedWriteCapacityUnits field's value.
- func (s *ReplicaGlobalSecondaryIndexSettingsDescription) SetProvisionedWriteCapacityUnits(v int64) *ReplicaGlobalSecondaryIndexSettingsDescription {
- s.ProvisionedWriteCapacityUnits = &v
- return s
- }
- // Represents the settings of a global secondary index for a global table that
- // will be modified.
- type ReplicaGlobalSecondaryIndexSettingsUpdate struct {
- _ struct{} `type:"structure"`
- // The name of the global secondary index. The name must be unique among all
- // other indexes on this table.
- //
- // IndexName is a required field
- IndexName *string `min:"3" type:"string" required:"true"`
- // Autoscaling settings for managing a global secondary index replica's read
- // capacity units.
- ProvisionedReadCapacityAutoScalingSettingsUpdate *AutoScalingSettingsUpdate `type:"structure"`
- // The maximum number of strongly consistent reads consumed per second before
- // DynamoDB returns a ThrottlingException.
- ProvisionedReadCapacityUnits *int64 `min:"1" type:"long"`
- }
- // String returns the string representation
- func (s ReplicaGlobalSecondaryIndexSettingsUpdate) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ReplicaGlobalSecondaryIndexSettingsUpdate) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ReplicaGlobalSecondaryIndexSettingsUpdate) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ReplicaGlobalSecondaryIndexSettingsUpdate"}
- if s.IndexName == nil {
- invalidParams.Add(request.NewErrParamRequired("IndexName"))
- }
- if s.IndexName != nil && len(*s.IndexName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("IndexName", 3))
- }
- if s.ProvisionedReadCapacityUnits != nil && *s.ProvisionedReadCapacityUnits < 1 {
- invalidParams.Add(request.NewErrParamMinValue("ProvisionedReadCapacityUnits", 1))
- }
- if s.ProvisionedReadCapacityAutoScalingSettingsUpdate != nil {
- if err := s.ProvisionedReadCapacityAutoScalingSettingsUpdate.Validate(); err != nil {
- invalidParams.AddNested("ProvisionedReadCapacityAutoScalingSettingsUpdate", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetIndexName sets the IndexName field's value.
- func (s *ReplicaGlobalSecondaryIndexSettingsUpdate) SetIndexName(v string) *ReplicaGlobalSecondaryIndexSettingsUpdate {
- s.IndexName = &v
- return s
- }
- // SetProvisionedReadCapacityAutoScalingSettingsUpdate sets the ProvisionedReadCapacityAutoScalingSettingsUpdate field's value.
- func (s *ReplicaGlobalSecondaryIndexSettingsUpdate) SetProvisionedReadCapacityAutoScalingSettingsUpdate(v *AutoScalingSettingsUpdate) *ReplicaGlobalSecondaryIndexSettingsUpdate {
- s.ProvisionedReadCapacityAutoScalingSettingsUpdate = v
- return s
- }
- // SetProvisionedReadCapacityUnits sets the ProvisionedReadCapacityUnits field's value.
- func (s *ReplicaGlobalSecondaryIndexSettingsUpdate) SetProvisionedReadCapacityUnits(v int64) *ReplicaGlobalSecondaryIndexSettingsUpdate {
- s.ProvisionedReadCapacityUnits = &v
- return s
- }
- // Represents the properties of a replica.
- type ReplicaSettingsDescription struct {
- _ struct{} `type:"structure"`
- // The region name of the replica.
- //
- // RegionName is a required field
- RegionName *string `type:"string" required:"true"`
- // The read/write capacity mode of the replica.
- ReplicaBillingModeSummary *BillingModeSummary `type:"structure"`
- // Replica global secondary index settings for the global table.
- ReplicaGlobalSecondaryIndexSettings []*ReplicaGlobalSecondaryIndexSettingsDescription `type:"list"`
- // Autoscaling settings for a global table replica's read capacity units.
- ReplicaProvisionedReadCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"`
- // The maximum number of strongly consistent reads consumed per second before
- // DynamoDB returns a ThrottlingException. For more information, see Specifying
- // Read and Write Requirements (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput)
- // in the Amazon DynamoDB Developer Guide.
- ReplicaProvisionedReadCapacityUnits *int64 `type:"long"`
- // AutoScaling settings for a global table replica's write capacity units.
- ReplicaProvisionedWriteCapacityAutoScalingSettings *AutoScalingSettingsDescription `type:"structure"`
- // The maximum number of writes consumed per second before DynamoDB returns
- // a ThrottlingException. For more information, see Specifying Read and Write
- // Requirements (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput)
- // in the Amazon DynamoDB Developer Guide.
- ReplicaProvisionedWriteCapacityUnits *int64 `type:"long"`
- // The current state of the region:
- //
- // * CREATING - The region is being created.
- //
- // * UPDATING - The region is being updated.
- //
- // * DELETING - The region is being deleted.
- //
- // * ACTIVE - The region is ready for use.
- ReplicaStatus *string `type:"string" enum:"ReplicaStatus"`
- }
- // String returns the string representation
- func (s ReplicaSettingsDescription) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ReplicaSettingsDescription) GoString() string {
- return s.String()
- }
- // SetRegionName sets the RegionName field's value.
- func (s *ReplicaSettingsDescription) SetRegionName(v string) *ReplicaSettingsDescription {
- s.RegionName = &v
- return s
- }
- // SetReplicaBillingModeSummary sets the ReplicaBillingModeSummary field's value.
- func (s *ReplicaSettingsDescription) SetReplicaBillingModeSummary(v *BillingModeSummary) *ReplicaSettingsDescription {
- s.ReplicaBillingModeSummary = v
- return s
- }
- // SetReplicaGlobalSecondaryIndexSettings sets the ReplicaGlobalSecondaryIndexSettings field's value.
- func (s *ReplicaSettingsDescription) SetReplicaGlobalSecondaryIndexSettings(v []*ReplicaGlobalSecondaryIndexSettingsDescription) *ReplicaSettingsDescription {
- s.ReplicaGlobalSecondaryIndexSettings = v
- return s
- }
- // SetReplicaProvisionedReadCapacityAutoScalingSettings sets the ReplicaProvisionedReadCapacityAutoScalingSettings field's value.
- func (s *ReplicaSettingsDescription) SetReplicaProvisionedReadCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaSettingsDescription {
- s.ReplicaProvisionedReadCapacityAutoScalingSettings = v
- return s
- }
- // SetReplicaProvisionedReadCapacityUnits sets the ReplicaProvisionedReadCapacityUnits field's value.
- func (s *ReplicaSettingsDescription) SetReplicaProvisionedReadCapacityUnits(v int64) *ReplicaSettingsDescription {
- s.ReplicaProvisionedReadCapacityUnits = &v
- return s
- }
- // SetReplicaProvisionedWriteCapacityAutoScalingSettings sets the ReplicaProvisionedWriteCapacityAutoScalingSettings field's value.
- func (s *ReplicaSettingsDescription) SetReplicaProvisionedWriteCapacityAutoScalingSettings(v *AutoScalingSettingsDescription) *ReplicaSettingsDescription {
- s.ReplicaProvisionedWriteCapacityAutoScalingSettings = v
- return s
- }
- // SetReplicaProvisionedWriteCapacityUnits sets the ReplicaProvisionedWriteCapacityUnits field's value.
- func (s *ReplicaSettingsDescription) SetReplicaProvisionedWriteCapacityUnits(v int64) *ReplicaSettingsDescription {
- s.ReplicaProvisionedWriteCapacityUnits = &v
- return s
- }
- // SetReplicaStatus sets the ReplicaStatus field's value.
- func (s *ReplicaSettingsDescription) SetReplicaStatus(v string) *ReplicaSettingsDescription {
- s.ReplicaStatus = &v
- return s
- }
- // Represents the settings for a global table in a region that will be modified.
- type ReplicaSettingsUpdate struct {
- _ struct{} `type:"structure"`
- // The region of the replica to be added.
- //
- // RegionName is a required field
- RegionName *string `type:"string" required:"true"`
- // Represents the settings of a global secondary index for a global table that
- // will be modified.
- ReplicaGlobalSecondaryIndexSettingsUpdate []*ReplicaGlobalSecondaryIndexSettingsUpdate `min:"1" type:"list"`
- // Autoscaling settings for managing a global table replica's read capacity
- // units.
- ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate *AutoScalingSettingsUpdate `type:"structure"`
- // The maximum number of strongly consistent reads consumed per second before
- // DynamoDB returns a ThrottlingException. For more information, see Specifying
- // Read and Write Requirements (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#ProvisionedThroughput)
- // in the Amazon DynamoDB Developer Guide.
- ReplicaProvisionedReadCapacityUnits *int64 `min:"1" type:"long"`
- }
- // String returns the string representation
- func (s ReplicaSettingsUpdate) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ReplicaSettingsUpdate) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ReplicaSettingsUpdate) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ReplicaSettingsUpdate"}
- if s.RegionName == nil {
- invalidParams.Add(request.NewErrParamRequired("RegionName"))
- }
- if s.ReplicaGlobalSecondaryIndexSettingsUpdate != nil && len(s.ReplicaGlobalSecondaryIndexSettingsUpdate) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ReplicaGlobalSecondaryIndexSettingsUpdate", 1))
- }
- if s.ReplicaProvisionedReadCapacityUnits != nil && *s.ReplicaProvisionedReadCapacityUnits < 1 {
- invalidParams.Add(request.NewErrParamMinValue("ReplicaProvisionedReadCapacityUnits", 1))
- }
- if s.ReplicaGlobalSecondaryIndexSettingsUpdate != nil {
- for i, v := range s.ReplicaGlobalSecondaryIndexSettingsUpdate {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaGlobalSecondaryIndexSettingsUpdate", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if s.ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate != nil {
- if err := s.ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate.Validate(); err != nil {
- invalidParams.AddNested("ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetRegionName sets the RegionName field's value.
- func (s *ReplicaSettingsUpdate) SetRegionName(v string) *ReplicaSettingsUpdate {
- s.RegionName = &v
- return s
- }
- // SetReplicaGlobalSecondaryIndexSettingsUpdate sets the ReplicaGlobalSecondaryIndexSettingsUpdate field's value.
- func (s *ReplicaSettingsUpdate) SetReplicaGlobalSecondaryIndexSettingsUpdate(v []*ReplicaGlobalSecondaryIndexSettingsUpdate) *ReplicaSettingsUpdate {
- s.ReplicaGlobalSecondaryIndexSettingsUpdate = v
- return s
- }
- // SetReplicaProvisionedReadCapacityAutoScalingSettingsUpdate sets the ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate field's value.
- func (s *ReplicaSettingsUpdate) SetReplicaProvisionedReadCapacityAutoScalingSettingsUpdate(v *AutoScalingSettingsUpdate) *ReplicaSettingsUpdate {
- s.ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate = v
- return s
- }
- // SetReplicaProvisionedReadCapacityUnits sets the ReplicaProvisionedReadCapacityUnits field's value.
- func (s *ReplicaSettingsUpdate) SetReplicaProvisionedReadCapacityUnits(v int64) *ReplicaSettingsUpdate {
- s.ReplicaProvisionedReadCapacityUnits = &v
- return s
- }
- // Represents one of the following:
- //
- // * A new replica to be added to an existing global table.
- //
- // * New parameters for an existing replica.
- //
- // * An existing replica to be removed from an existing global table.
- type ReplicaUpdate struct {
- _ struct{} `type:"structure"`
- // The parameters required for creating a replica on an existing global table.
- Create *CreateReplicaAction `type:"structure"`
- // The name of the existing replica to be removed.
- Delete *DeleteReplicaAction `type:"structure"`
- }
- // String returns the string representation
- func (s ReplicaUpdate) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ReplicaUpdate) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ReplicaUpdate) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ReplicaUpdate"}
- if s.Create != nil {
- if err := s.Create.Validate(); err != nil {
- invalidParams.AddNested("Create", err.(request.ErrInvalidParams))
- }
- }
- if s.Delete != nil {
- if err := s.Delete.Validate(); err != nil {
- invalidParams.AddNested("Delete", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetCreate sets the Create field's value.
- func (s *ReplicaUpdate) SetCreate(v *CreateReplicaAction) *ReplicaUpdate {
- s.Create = v
- return s
- }
- // SetDelete sets the Delete field's value.
- func (s *ReplicaUpdate) SetDelete(v *DeleteReplicaAction) *ReplicaUpdate {
- s.Delete = v
- return s
- }
- // Contains details for the restore.
- type RestoreSummary struct {
- _ struct{} `type:"structure"`
- // Point in time or source backup time.
- //
- // RestoreDateTime is a required field
- RestoreDateTime *time.Time `type:"timestamp" required:"true"`
- // Indicates if a restore is in progress or not.
- //
- // RestoreInProgress is a required field
- RestoreInProgress *bool `type:"boolean" required:"true"`
- // ARN of the backup from which the table was restored.
- SourceBackupArn *string `min:"37" type:"string"`
- // ARN of the source table of the backup that is being restored.
- SourceTableArn *string `type:"string"`
- }
- // String returns the string representation
- func (s RestoreSummary) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s RestoreSummary) GoString() string {
- return s.String()
- }
- // SetRestoreDateTime sets the RestoreDateTime field's value.
- func (s *RestoreSummary) SetRestoreDateTime(v time.Time) *RestoreSummary {
- s.RestoreDateTime = &v
- return s
- }
- // SetRestoreInProgress sets the RestoreInProgress field's value.
- func (s *RestoreSummary) SetRestoreInProgress(v bool) *RestoreSummary {
- s.RestoreInProgress = &v
- return s
- }
- // SetSourceBackupArn sets the SourceBackupArn field's value.
- func (s *RestoreSummary) SetSourceBackupArn(v string) *RestoreSummary {
- s.SourceBackupArn = &v
- return s
- }
- // SetSourceTableArn sets the SourceTableArn field's value.
- func (s *RestoreSummary) SetSourceTableArn(v string) *RestoreSummary {
- s.SourceTableArn = &v
- return s
- }
- type RestoreTableFromBackupInput struct {
- _ struct{} `type:"structure"`
- // The ARN associated with the backup.
- //
- // BackupArn is a required field
- BackupArn *string `min:"37" type:"string" required:"true"`
- // The name of the new table to which the backup must be restored.
- //
- // TargetTableName is a required field
- TargetTableName *string `min:"3" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s RestoreTableFromBackupInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s RestoreTableFromBackupInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *RestoreTableFromBackupInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "RestoreTableFromBackupInput"}
- if s.BackupArn == nil {
- invalidParams.Add(request.NewErrParamRequired("BackupArn"))
- }
- if s.BackupArn != nil && len(*s.BackupArn) < 37 {
- invalidParams.Add(request.NewErrParamMinLen("BackupArn", 37))
- }
- if s.TargetTableName == nil {
- invalidParams.Add(request.NewErrParamRequired("TargetTableName"))
- }
- if s.TargetTableName != nil && len(*s.TargetTableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("TargetTableName", 3))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetBackupArn sets the BackupArn field's value.
- func (s *RestoreTableFromBackupInput) SetBackupArn(v string) *RestoreTableFromBackupInput {
- s.BackupArn = &v
- return s
- }
- // SetTargetTableName sets the TargetTableName field's value.
- func (s *RestoreTableFromBackupInput) SetTargetTableName(v string) *RestoreTableFromBackupInput {
- s.TargetTableName = &v
- return s
- }
- type RestoreTableFromBackupOutput struct {
- _ struct{} `type:"structure"`
- // The description of the table created from an existing backup.
- TableDescription *TableDescription `type:"structure"`
- }
- // String returns the string representation
- func (s RestoreTableFromBackupOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s RestoreTableFromBackupOutput) GoString() string {
- return s.String()
- }
- // SetTableDescription sets the TableDescription field's value.
- func (s *RestoreTableFromBackupOutput) SetTableDescription(v *TableDescription) *RestoreTableFromBackupOutput {
- s.TableDescription = v
- return s
- }
- type RestoreTableToPointInTimeInput struct {
- _ struct{} `type:"structure"`
- // Time in the past to restore the table to.
- RestoreDateTime *time.Time `type:"timestamp"`
- // Name of the source table that is being restored.
- //
- // SourceTableName is a required field
- SourceTableName *string `min:"3" type:"string" required:"true"`
- // The name of the new table to which it must be restored to.
- //
- // TargetTableName is a required field
- TargetTableName *string `min:"3" type:"string" required:"true"`
- // Restore the table to the latest possible time. LatestRestorableDateTime is
- // typically 5 minutes before the current time.
- UseLatestRestorableTime *bool `type:"boolean"`
- }
- // String returns the string representation
- func (s RestoreTableToPointInTimeInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s RestoreTableToPointInTimeInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *RestoreTableToPointInTimeInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "RestoreTableToPointInTimeInput"}
- if s.SourceTableName == nil {
- invalidParams.Add(request.NewErrParamRequired("SourceTableName"))
- }
- if s.SourceTableName != nil && len(*s.SourceTableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("SourceTableName", 3))
- }
- if s.TargetTableName == nil {
- invalidParams.Add(request.NewErrParamRequired("TargetTableName"))
- }
- if s.TargetTableName != nil && len(*s.TargetTableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("TargetTableName", 3))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetRestoreDateTime sets the RestoreDateTime field's value.
- func (s *RestoreTableToPointInTimeInput) SetRestoreDateTime(v time.Time) *RestoreTableToPointInTimeInput {
- s.RestoreDateTime = &v
- return s
- }
- // SetSourceTableName sets the SourceTableName field's value.
- func (s *RestoreTableToPointInTimeInput) SetSourceTableName(v string) *RestoreTableToPointInTimeInput {
- s.SourceTableName = &v
- return s
- }
- // SetTargetTableName sets the TargetTableName field's value.
- func (s *RestoreTableToPointInTimeInput) SetTargetTableName(v string) *RestoreTableToPointInTimeInput {
- s.TargetTableName = &v
- return s
- }
- // SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
- func (s *RestoreTableToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreTableToPointInTimeInput {
- s.UseLatestRestorableTime = &v
- return s
- }
- type RestoreTableToPointInTimeOutput struct {
- _ struct{} `type:"structure"`
- // Represents the properties of a table.
- TableDescription *TableDescription `type:"structure"`
- }
- // String returns the string representation
- func (s RestoreTableToPointInTimeOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s RestoreTableToPointInTimeOutput) GoString() string {
- return s.String()
- }
- // SetTableDescription sets the TableDescription field's value.
- func (s *RestoreTableToPointInTimeOutput) SetTableDescription(v *TableDescription) *RestoreTableToPointInTimeOutput {
- s.TableDescription = v
- return s
- }
- // The description of the server-side encryption status on the specified table.
- type SSEDescription struct {
- _ struct{} `type:"structure"`
- // The KMS master key ARN used for the KMS encryption.
- KMSMasterKeyArn *string `type:"string"`
- // Server-side encryption type:
- //
- // * AES256 - Server-side encryption which uses the AES256 algorithm (not
- // applicable).
- //
- // * KMS - Server-side encryption which uses AWS Key Management Service.
- // Key is stored in your account and is managed by AWS KMS (KMS charges apply).
- SSEType *string `type:"string" enum:"SSEType"`
- // The current state of server-side encryption:
- //
- // * ENABLING - Server-side encryption is being enabled.
- //
- // * ENABLED - Server-side encryption is enabled.
- //
- // * DISABLING - Server-side encryption is being disabled.
- //
- // * DISABLED - Server-side encryption is disabled.
- //
- // * UPDATING - Server-side encryption is being updated.
- Status *string `type:"string" enum:"SSEStatus"`
- }
- // String returns the string representation
- func (s SSEDescription) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SSEDescription) GoString() string {
- return s.String()
- }
- // SetKMSMasterKeyArn sets the KMSMasterKeyArn field's value.
- func (s *SSEDescription) SetKMSMasterKeyArn(v string) *SSEDescription {
- s.KMSMasterKeyArn = &v
- return s
- }
- // SetSSEType sets the SSEType field's value.
- func (s *SSEDescription) SetSSEType(v string) *SSEDescription {
- s.SSEType = &v
- return s
- }
- // SetStatus sets the Status field's value.
- func (s *SSEDescription) SetStatus(v string) *SSEDescription {
- s.Status = &v
- return s
- }
- // Represents the settings used to enable server-side encryption.
- type SSESpecification struct {
- _ struct{} `type:"structure"`
- // Indicates whether server-side encryption is enabled (true) or disabled (false)
- // on the table. If enabled (true), server-side encryption type is set to KMS.
- // If disabled (false) or not specified, server-side encryption is set to AWS
- // owned CMK.
- Enabled *bool `type:"boolean"`
- // The KMS Master Key (CMK) which should be used for the KMS encryption. To
- // specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or
- // alias ARN. Note that you should only provide this parameter if the key is
- // different from the default DynamoDB KMS Master Key alias/aws/dynamodb.
- KMSMasterKeyId *string `type:"string"`
- // Server-side encryption type:
- //
- // * AES256 - Server-side encryption which uses the AES256 algorithm (not
- // applicable).
- //
- // * KMS - Server-side encryption which uses AWS Key Management Service.
- // Key is stored in your account and is managed by AWS KMS (KMS charges apply).
- SSEType *string `type:"string" enum:"SSEType"`
- }
- // String returns the string representation
- func (s SSESpecification) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SSESpecification) GoString() string {
- return s.String()
- }
- // SetEnabled sets the Enabled field's value.
- func (s *SSESpecification) SetEnabled(v bool) *SSESpecification {
- s.Enabled = &v
- return s
- }
- // SetKMSMasterKeyId sets the KMSMasterKeyId field's value.
- func (s *SSESpecification) SetKMSMasterKeyId(v string) *SSESpecification {
- s.KMSMasterKeyId = &v
- return s
- }
- // SetSSEType sets the SSEType field's value.
- func (s *SSESpecification) SetSSEType(v string) *SSESpecification {
- s.SSEType = &v
- return s
- }
- // Represents the input of a Scan operation.
- type ScanInput struct {
- _ struct{} `type:"structure"`
- // This is a legacy parameter. Use ProjectionExpression instead. For more information,
- // see AttributesToGet (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributesToGet.html)
- // in the Amazon DynamoDB Developer Guide.
- AttributesToGet []*string `min:"1" type:"list"`
- // This is a legacy parameter. Use FilterExpression instead. For more information,
- // see ConditionalOperator (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html)
- // in the Amazon DynamoDB Developer Guide.
- ConditionalOperator *string `type:"string" enum:"ConditionalOperator"`
- // A Boolean value that determines the read consistency model during the scan:
- //
- // * If ConsistentRead is false, then the data returned from Scan might not
- // contain the results from other recently completed write operations (PutItem,
- // UpdateItem or DeleteItem).
- //
- // * If ConsistentRead is true, then all of the write operations that completed
- // before the Scan began are guaranteed to be contained in the Scan response.
- //
- // The default setting for ConsistentRead is false.
- //
- // The ConsistentRead parameter is not supported on global secondary indexes.
- // If you scan a global secondary index with ConsistentRead set to true, you
- // will receive a ValidationException.
- ConsistentRead *bool `type:"boolean"`
- // The primary key of the first item that this operation will evaluate. Use
- // the value that was returned for LastEvaluatedKey in the previous operation.
- //
- // The data type for ExclusiveStartKey must be String, Number or Binary. No
- // set data types are allowed.
- //
- // In a parallel scan, a Scan request that includes ExclusiveStartKey must specify
- // the same segment whose previous Scan returned the corresponding value of
- // LastEvaluatedKey.
- ExclusiveStartKey map[string]*AttributeValue `type:"map"`
- // One or more substitution tokens for attribute names in an expression. The
- // following are some use cases for using ExpressionAttributeNames:
- //
- // * To access an attribute whose name conflicts with a DynamoDB reserved
- // word.
- //
- // * To create a placeholder for repeating occurrences of an attribute name
- // in an expression.
- //
- // * To prevent special characters in an attribute name from being misinterpreted
- // in an expression.
- //
- // Use the # character in an expression to dereference an attribute name. For
- // example, consider the following attribute name:
- //
- // * Percentile
- //
- // The name of this attribute conflicts with a reserved word, so it cannot be
- // used directly in an expression. (For the complete list of reserved words,
- // see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html)
- // in the Amazon DynamoDB Developer Guide). To work around this, you could specify
- // the following for ExpressionAttributeNames:
- //
- // * {"#P":"Percentile"}
- //
- // You could then use this substitution in an expression, as in this example:
- //
- // * #P = :val
- //
- // Tokens that begin with the : character are expression attribute values, which
- // are placeholders for the actual value at runtime.
- //
- // For more information on expression attribute names, see Accessing Item Attributes
- // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html)
- // in the Amazon DynamoDB Developer Guide.
- ExpressionAttributeNames map[string]*string `type:"map"`
- // One or more values that can be substituted in an expression.
- //
- // Use the : (colon) character in an expression to dereference an attribute
- // value. For example, suppose that you wanted to check whether the value of
- // the ProductStatus attribute was one of the following:
- //
- // Available | Backordered | Discontinued
- //
- // You would first need to specify ExpressionAttributeValues as follows:
- //
- // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"}
- // }
- //
- // You could then use these values in an expression, such as this:
- //
- // ProductStatus IN (:avail, :back, :disc)
- //
- // For more information on expression attribute values, see Specifying Conditions
- // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html)
- // in the Amazon DynamoDB Developer Guide.
- ExpressionAttributeValues map[string]*AttributeValue `type:"map"`
- // A string that contains conditions that DynamoDB applies after the Scan operation,
- // but before the data is returned to you. Items that do not satisfy the FilterExpression
- // criteria are not returned.
- //
- // A FilterExpression is applied after the items have already been read; the
- // process of filtering does not consume any additional read capacity units.
- //
- // For more information, see Filter Expressions (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#FilteringResults)
- // in the Amazon DynamoDB Developer Guide.
- FilterExpression *string `type:"string"`
- // The name of a secondary index to scan. This index can be any local secondary
- // index or global secondary index. Note that if you use the IndexName parameter,
- // you must also provide TableName.
- IndexName *string `min:"3" type:"string"`
- // The maximum number of items to evaluate (not necessarily the number of matching
- // items). If DynamoDB processes the number of items up to the limit while processing
- // the results, it stops the operation and returns the matching values up to
- // that point, and a key in LastEvaluatedKey to apply in a subsequent operation,
- // so that you can pick up where you left off. Also, if the processed data set
- // size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation
- // and returns the matching values up to the limit, and a key in LastEvaluatedKey
- // to apply in a subsequent operation to continue the operation. For more information,
- // see Query and Scan (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html)
- // in the Amazon DynamoDB Developer Guide.
- Limit *int64 `min:"1" type:"integer"`
- // A string that identifies one or more attributes to retrieve from the specified
- // table or index. These attributes can include scalars, sets, or elements of
- // a JSON document. The attributes in the expression must be separated by commas.
- //
- // If no attribute names are specified, then all attributes will be returned.
- // If any of the requested attributes are not found, they will not appear in
- // the result.
- //
- // For more information, see Accessing Item Attributes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html)
- // in the Amazon DynamoDB Developer Guide.
- ProjectionExpression *string `type:"string"`
- // Determines the level of detail about provisioned throughput consumption that
- // is returned in the response:
- //
- // * INDEXES - The response includes the aggregate ConsumedCapacity for the
- // operation, together with ConsumedCapacity for each table and secondary
- // index that was accessed.
- //
- // Note that some operations, such as GetItem and BatchGetItem, do not access
- // any indexes at all. In these cases, specifying INDEXES will only return
- // ConsumedCapacity information for table(s).
- //
- // * TOTAL - The response includes only the aggregate ConsumedCapacity for
- // the operation.
- //
- // * NONE - No ConsumedCapacity details are included in the response.
- ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"`
- // This is a legacy parameter. Use FilterExpression instead. For more information,
- // see ScanFilter (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ScanFilter.html)
- // in the Amazon DynamoDB Developer Guide.
- ScanFilter map[string]*Condition `type:"map"`
- // For a parallel Scan request, Segment identifies an individual segment to
- // be scanned by an application worker.
- //
- // Segment IDs are zero-based, so the first segment is always 0. For example,
- // if you want to use four application threads to scan a table or an index,
- // then the first thread specifies a Segment value of 0, the second thread specifies
- // 1, and so on.
- //
- // The value of LastEvaluatedKey returned from a parallel Scan request must
- // be used as ExclusiveStartKey with the same segment ID in a subsequent Scan
- // operation.
- //
- // The value for Segment must be greater than or equal to 0, and less than the
- // value provided for TotalSegments.
- //
- // If you provide Segment, you must also provide TotalSegments.
- Segment *int64 `type:"integer"`
- // The attributes to be returned in the result. You can retrieve all item attributes,
- // specific item attributes, the count of matching items, or in the case of
- // an index, some or all of the attributes projected into the index.
- //
- // * ALL_ATTRIBUTES - Returns all of the item attributes from the specified
- // table or index. If you query a local secondary index, then for each matching
- // item in the index DynamoDB will fetch the entire item from the parent
- // table. If the index is configured to project all item attributes, then
- // all of the data can be obtained from the local secondary index, and no
- // fetching is required.
- //
- // * ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index. Retrieves
- // all attributes that have been projected into the index. If the index is
- // configured to project all attributes, this return value is equivalent
- // to specifying ALL_ATTRIBUTES.
- //
- // * COUNT - Returns the number of matching items, rather than the matching
- // items themselves.
- //
- // * SPECIFIC_ATTRIBUTES - Returns only the attributes listed in AttributesToGet.
- // This return value is equivalent to specifying AttributesToGet without
- // specifying any value for Select.
- //
- // If you query or scan a local secondary index and request only attributes
- // that are projected into that index, the operation will read only the index
- // and not the table. If any of the requested attributes are not projected
- // into the local secondary index, DynamoDB will fetch each of these attributes
- // from the parent table. This extra fetching incurs additional throughput
- // cost and latency.
- //
- // If you query or scan a global secondary index, you can only request attributes
- // that are projected into the index. Global secondary index queries cannot
- // fetch attributes from the parent table.
- //
- // If neither Select nor AttributesToGet are specified, DynamoDB defaults to
- // ALL_ATTRIBUTES when accessing a table, and ALL_PROJECTED_ATTRIBUTES when
- // accessing an index. You cannot use both Select and AttributesToGet together
- // in a single request, unless the value for Select is SPECIFIC_ATTRIBUTES.
- // (This usage is equivalent to specifying AttributesToGet without any value
- // for Select.)
- //
- // If you use the ProjectionExpression parameter, then the value for Select
- // can only be SPECIFIC_ATTRIBUTES. Any other value for Select will return an
- // error.
- Select *string `type:"string" enum:"Select"`
- // The name of the table containing the requested items; or, if you provide
- // IndexName, the name of the table to which that index belongs.
- //
- // TableName is a required field
- TableName *string `min:"3" type:"string" required:"true"`
- // For a parallel Scan request, TotalSegments represents the total number of
- // segments into which the Scan operation will be divided. The value of TotalSegments
- // corresponds to the number of application workers that will perform the parallel
- // scan. For example, if you want to use four application threads to scan a
- // table or an index, specify a TotalSegments value of 4.
- //
- // The value for TotalSegments must be greater than or equal to 1, and less
- // than or equal to 1000000. If you specify a TotalSegments value of 1, the
- // Scan operation will be sequential rather than parallel.
- //
- // If you specify TotalSegments, you must also specify Segment.
- TotalSegments *int64 `min:"1" type:"integer"`
- }
- // String returns the string representation
- func (s ScanInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ScanInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ScanInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ScanInput"}
- if s.AttributesToGet != nil && len(s.AttributesToGet) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("AttributesToGet", 1))
- }
- if s.IndexName != nil && len(*s.IndexName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("IndexName", 3))
- }
- if s.Limit != nil && *s.Limit < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
- }
- if s.TableName == nil {
- invalidParams.Add(request.NewErrParamRequired("TableName"))
- }
- if s.TableName != nil && len(*s.TableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
- }
- if s.TotalSegments != nil && *s.TotalSegments < 1 {
- invalidParams.Add(request.NewErrParamMinValue("TotalSegments", 1))
- }
- if s.ScanFilter != nil {
- for i, v := range s.ScanFilter {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScanFilter", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAttributesToGet sets the AttributesToGet field's value.
- func (s *ScanInput) SetAttributesToGet(v []*string) *ScanInput {
- s.AttributesToGet = v
- return s
- }
- // SetConditionalOperator sets the ConditionalOperator field's value.
- func (s *ScanInput) SetConditionalOperator(v string) *ScanInput {
- s.ConditionalOperator = &v
- return s
- }
- // SetConsistentRead sets the ConsistentRead field's value.
- func (s *ScanInput) SetConsistentRead(v bool) *ScanInput {
- s.ConsistentRead = &v
- return s
- }
- // SetExclusiveStartKey sets the ExclusiveStartKey field's value.
- func (s *ScanInput) SetExclusiveStartKey(v map[string]*AttributeValue) *ScanInput {
- s.ExclusiveStartKey = v
- return s
- }
- // SetExpressionAttributeNames sets the ExpressionAttributeNames field's value.
- func (s *ScanInput) SetExpressionAttributeNames(v map[string]*string) *ScanInput {
- s.ExpressionAttributeNames = v
- return s
- }
- // SetExpressionAttributeValues sets the ExpressionAttributeValues field's value.
- func (s *ScanInput) SetExpressionAttributeValues(v map[string]*AttributeValue) *ScanInput {
- s.ExpressionAttributeValues = v
- return s
- }
- // SetFilterExpression sets the FilterExpression field's value.
- func (s *ScanInput) SetFilterExpression(v string) *ScanInput {
- s.FilterExpression = &v
- return s
- }
- // SetIndexName sets the IndexName field's value.
- func (s *ScanInput) SetIndexName(v string) *ScanInput {
- s.IndexName = &v
- return s
- }
- // SetLimit sets the Limit field's value.
- func (s *ScanInput) SetLimit(v int64) *ScanInput {
- s.Limit = &v
- return s
- }
- // SetProjectionExpression sets the ProjectionExpression field's value.
- func (s *ScanInput) SetProjectionExpression(v string) *ScanInput {
- s.ProjectionExpression = &v
- return s
- }
- // SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value.
- func (s *ScanInput) SetReturnConsumedCapacity(v string) *ScanInput {
- s.ReturnConsumedCapacity = &v
- return s
- }
- // SetScanFilter sets the ScanFilter field's value.
- func (s *ScanInput) SetScanFilter(v map[string]*Condition) *ScanInput {
- s.ScanFilter = v
- return s
- }
- // SetSegment sets the Segment field's value.
- func (s *ScanInput) SetSegment(v int64) *ScanInput {
- s.Segment = &v
- return s
- }
- // SetSelect sets the Select field's value.
- func (s *ScanInput) SetSelect(v string) *ScanInput {
- s.Select = &v
- return s
- }
- // SetTableName sets the TableName field's value.
- func (s *ScanInput) SetTableName(v string) *ScanInput {
- s.TableName = &v
- return s
- }
- // SetTotalSegments sets the TotalSegments field's value.
- func (s *ScanInput) SetTotalSegments(v int64) *ScanInput {
- s.TotalSegments = &v
- return s
- }
- // Represents the output of a Scan operation.
- type ScanOutput struct {
- _ struct{} `type:"structure"`
- // The capacity units consumed by the Scan operation. The data returned includes
- // the total provisioned throughput consumed, along with statistics for the
- // table and any indexes involved in the operation. ConsumedCapacity is only
- // returned if the ReturnConsumedCapacity parameter was specified. For more
- // information, see Provisioned Throughput (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html)
- // in the Amazon DynamoDB Developer Guide.
- ConsumedCapacity *ConsumedCapacity `type:"structure"`
- // The number of items in the response.
- //
- // If you set ScanFilter in the request, then Count is the number of items returned
- // after the filter was applied, and ScannedCount is the number of matching
- // items before the filter was applied.
- //
- // If you did not use a filter in the request, then Count is the same as ScannedCount.
- Count *int64 `type:"integer"`
- // An array of item attributes that match the scan criteria. Each element in
- // this array consists of an attribute name and the value for that attribute.
- Items []map[string]*AttributeValue `type:"list"`
- // The primary key of the item where the operation stopped, inclusive of the
- // previous result set. Use this value to start a new operation, excluding this
- // value in the new request.
- //
- // If LastEvaluatedKey is empty, then the "last page" of results has been processed
- // and there is no more data to be retrieved.
- //
- // If LastEvaluatedKey is not empty, it does not necessarily mean that there
- // is more data in the result set. The only way to know when you have reached
- // the end of the result set is when LastEvaluatedKey is empty.
- LastEvaluatedKey map[string]*AttributeValue `type:"map"`
- // The number of items evaluated, before any ScanFilter is applied. A high ScannedCount
- // value with few, or no, Count results indicates an inefficient Scan operation.
- // For more information, see Count and ScannedCount (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count)
- // in the Amazon DynamoDB Developer Guide.
- //
- // If you did not use a filter in the request, then ScannedCount is the same
- // as Count.
- ScannedCount *int64 `type:"integer"`
- }
- // String returns the string representation
- func (s ScanOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ScanOutput) GoString() string {
- return s.String()
- }
- // SetConsumedCapacity sets the ConsumedCapacity field's value.
- func (s *ScanOutput) SetConsumedCapacity(v *ConsumedCapacity) *ScanOutput {
- s.ConsumedCapacity = v
- return s
- }
- // SetCount sets the Count field's value.
- func (s *ScanOutput) SetCount(v int64) *ScanOutput {
- s.Count = &v
- return s
- }
- // SetItems sets the Items field's value.
- func (s *ScanOutput) SetItems(v []map[string]*AttributeValue) *ScanOutput {
- s.Items = v
- return s
- }
- // SetLastEvaluatedKey sets the LastEvaluatedKey field's value.
- func (s *ScanOutput) SetLastEvaluatedKey(v map[string]*AttributeValue) *ScanOutput {
- s.LastEvaluatedKey = v
- return s
- }
- // SetScannedCount sets the ScannedCount field's value.
- func (s *ScanOutput) SetScannedCount(v int64) *ScanOutput {
- s.ScannedCount = &v
- return s
- }
- // Contains the details of the table when the backup was created.
- type SourceTableDetails struct {
- _ struct{} `type:"structure"`
- // Controls how you are charged for read and write throughput and how you manage
- // capacity. This setting can be changed later.
- //
- // * PROVISIONED - Sets the read/write capacity mode to PROVISIONED. We recommend
- // using PROVISIONED for predictable workloads.
- //
- // * PAY_PER_REQUEST - Sets the read/write capacity mode to PAY_PER_REQUEST.
- // We recommend using PAY_PER_REQUEST for unpredictable workloads.
- BillingMode *string `type:"string" enum:"BillingMode"`
- // Number of items in the table. Please note this is an approximate value.
- ItemCount *int64 `type:"long"`
- // Schema of the table.
- //
- // KeySchema is a required field
- KeySchema []*KeySchemaElement `min:"1" type:"list" required:"true"`
- // Read IOPs and Write IOPS on the table when the backup was created.
- //
- // ProvisionedThroughput is a required field
- ProvisionedThroughput *ProvisionedThroughput `type:"structure" required:"true"`
- // ARN of the table for which backup was created.
- TableArn *string `type:"string"`
- // Time when the source table was created.
- //
- // TableCreationDateTime is a required field
- TableCreationDateTime *time.Time `type:"timestamp" required:"true"`
- // Unique identifier for the table for which the backup was created.
- //
- // TableId is a required field
- TableId *string `type:"string" required:"true"`
- // The name of the table for which the backup was created.
- //
- // TableName is a required field
- TableName *string `min:"3" type:"string" required:"true"`
- // Size of the table in bytes. Please note this is an approximate value.
- TableSizeBytes *int64 `type:"long"`
- }
- // String returns the string representation
- func (s SourceTableDetails) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SourceTableDetails) GoString() string {
- return s.String()
- }
- // SetBillingMode sets the BillingMode field's value.
- func (s *SourceTableDetails) SetBillingMode(v string) *SourceTableDetails {
- s.BillingMode = &v
- return s
- }
- // SetItemCount sets the ItemCount field's value.
- func (s *SourceTableDetails) SetItemCount(v int64) *SourceTableDetails {
- s.ItemCount = &v
- return s
- }
- // SetKeySchema sets the KeySchema field's value.
- func (s *SourceTableDetails) SetKeySchema(v []*KeySchemaElement) *SourceTableDetails {
- s.KeySchema = v
- return s
- }
- // SetProvisionedThroughput sets the ProvisionedThroughput field's value.
- func (s *SourceTableDetails) SetProvisionedThroughput(v *ProvisionedThroughput) *SourceTableDetails {
- s.ProvisionedThroughput = v
- return s
- }
- // SetTableArn sets the TableArn field's value.
- func (s *SourceTableDetails) SetTableArn(v string) *SourceTableDetails {
- s.TableArn = &v
- return s
- }
- // SetTableCreationDateTime sets the TableCreationDateTime field's value.
- func (s *SourceTableDetails) SetTableCreationDateTime(v time.Time) *SourceTableDetails {
- s.TableCreationDateTime = &v
- return s
- }
- // SetTableId sets the TableId field's value.
- func (s *SourceTableDetails) SetTableId(v string) *SourceTableDetails {
- s.TableId = &v
- return s
- }
- // SetTableName sets the TableName field's value.
- func (s *SourceTableDetails) SetTableName(v string) *SourceTableDetails {
- s.TableName = &v
- return s
- }
- // SetTableSizeBytes sets the TableSizeBytes field's value.
- func (s *SourceTableDetails) SetTableSizeBytes(v int64) *SourceTableDetails {
- s.TableSizeBytes = &v
- return s
- }
- // Contains the details of the features enabled on the table when the backup
- // was created. For example, LSIs, GSIs, streams, TTL.
- type SourceTableFeatureDetails struct {
- _ struct{} `type:"structure"`
- // Represents the GSI properties for the table when the backup was created.
- // It includes the IndexName, KeySchema, Projection and ProvisionedThroughput
- // for the GSIs on the table at the time of backup.
- GlobalSecondaryIndexes []*GlobalSecondaryIndexInfo `type:"list"`
- // Represents the LSI properties for the table when the backup was created.
- // It includes the IndexName, KeySchema and Projection for the LSIs on the table
- // at the time of backup.
- LocalSecondaryIndexes []*LocalSecondaryIndexInfo `type:"list"`
- // The description of the server-side encryption status on the table when the
- // backup was created.
- SSEDescription *SSEDescription `type:"structure"`
- // Stream settings on the table when the backup was created.
- StreamDescription *StreamSpecification `type:"structure"`
- // Time to Live settings on the table when the backup was created.
- TimeToLiveDescription *TimeToLiveDescription `type:"structure"`
- }
- // String returns the string representation
- func (s SourceTableFeatureDetails) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SourceTableFeatureDetails) GoString() string {
- return s.String()
- }
- // SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value.
- func (s *SourceTableFeatureDetails) SetGlobalSecondaryIndexes(v []*GlobalSecondaryIndexInfo) *SourceTableFeatureDetails {
- s.GlobalSecondaryIndexes = v
- return s
- }
- // SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value.
- func (s *SourceTableFeatureDetails) SetLocalSecondaryIndexes(v []*LocalSecondaryIndexInfo) *SourceTableFeatureDetails {
- s.LocalSecondaryIndexes = v
- return s
- }
- // SetSSEDescription sets the SSEDescription field's value.
- func (s *SourceTableFeatureDetails) SetSSEDescription(v *SSEDescription) *SourceTableFeatureDetails {
- s.SSEDescription = v
- return s
- }
- // SetStreamDescription sets the StreamDescription field's value.
- func (s *SourceTableFeatureDetails) SetStreamDescription(v *StreamSpecification) *SourceTableFeatureDetails {
- s.StreamDescription = v
- return s
- }
- // SetTimeToLiveDescription sets the TimeToLiveDescription field's value.
- func (s *SourceTableFeatureDetails) SetTimeToLiveDescription(v *TimeToLiveDescription) *SourceTableFeatureDetails {
- s.TimeToLiveDescription = v
- return s
- }
- // Represents the DynamoDB Streams configuration for a table in DynamoDB.
- type StreamSpecification struct {
- _ struct{} `type:"structure"`
- // Indicates whether DynamoDB Streams is enabled (true) or disabled (false)
- // on the table.
- StreamEnabled *bool `type:"boolean"`
- // When an item in the table is modified, StreamViewType determines what information
- // is written to the stream for this table. Valid values for StreamViewType
- // are:
- //
- // * KEYS_ONLY - Only the key attributes of the modified item are written
- // to the stream.
- //
- // * NEW_IMAGE - The entire item, as it appears after it was modified, is
- // written to the stream.
- //
- // * OLD_IMAGE - The entire item, as it appeared before it was modified,
- // is written to the stream.
- //
- // * NEW_AND_OLD_IMAGES - Both the new and the old item images of the item
- // are written to the stream.
- StreamViewType *string `type:"string" enum:"StreamViewType"`
- }
- // String returns the string representation
- func (s StreamSpecification) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s StreamSpecification) GoString() string {
- return s.String()
- }
- // SetStreamEnabled sets the StreamEnabled field's value.
- func (s *StreamSpecification) SetStreamEnabled(v bool) *StreamSpecification {
- s.StreamEnabled = &v
- return s
- }
- // SetStreamViewType sets the StreamViewType field's value.
- func (s *StreamSpecification) SetStreamViewType(v string) *StreamSpecification {
- s.StreamViewType = &v
- return s
- }
- // Represents the properties of a table.
- type TableDescription struct {
- _ struct{} `type:"structure"`
- // An array of AttributeDefinition objects. Each of these objects describes
- // one attribute in the table and index key schema.
- //
- // Each AttributeDefinition object in this array is composed of:
- //
- // * AttributeName - The name of the attribute.
- //
- // * AttributeType - The data type for the attribute.
- AttributeDefinitions []*AttributeDefinition `type:"list"`
- // Contains the details for the read/write capacity mode.
- BillingModeSummary *BillingModeSummary `type:"structure"`
- // The date and time when the table was created, in UNIX epoch time (http://www.epochconverter.com/)
- // format.
- CreationDateTime *time.Time `type:"timestamp"`
- // The global secondary indexes, if any, on the table. Each index is scoped
- // to a given partition key value. Each element is composed of:
- //
- // * Backfilling - If true, then the index is currently in the backfilling
- // phase. Backfilling occurs only when a new global secondary index is added
- // to the table; it is the process by which DynamoDB populates the new index
- // with data from the table. (This attribute does not appear for indexes
- // that were created during a CreateTable operation.)
- //
- // * IndexName - The name of the global secondary index.
- //
- // * IndexSizeBytes - The total size of the global secondary index, in bytes.
- // DynamoDB updates this value approximately every six hours. Recent changes
- // might not be reflected in this value.
- //
- // * IndexStatus - The current status of the global secondary index:
- //
- // CREATING - The index is being created.
- //
- // UPDATING - The index is being updated.
- //
- // DELETING - The index is being deleted.
- //
- // ACTIVE - The index is ready for use.
- //
- // * ItemCount - The number of items in the global secondary index. DynamoDB
- // updates this value approximately every six hours. Recent changes might
- // not be reflected in this value.
- //
- // * KeySchema - Specifies the complete index key schema. The attribute names
- // in the key schema must be between 1 and 255 characters (inclusive). The
- // key schema must begin with the same partition key as the table.
- //
- // * Projection - Specifies attributes that are copied (projected) from the
- // table into the index. These are in addition to the primary key attributes
- // and index key attributes, which are automatically projected. Each attribute
- // specification is composed of:
- //
- // ProjectionType - One of the following:
- //
- // KEYS_ONLY - Only the index and primary keys are projected into the index.
- //
- // INCLUDE - Only the specified table attributes are projected into the index.
- // The list of projected attributes are in NonKeyAttributes.
- //
- // ALL - All of the table attributes are projected into the index.
- //
- // NonKeyAttributes - A list of one or more non-key attribute names that are
- // projected into the secondary index. The total count of attributes provided
- // in NonKeyAttributes, summed across all of the secondary indexes, must
- // not exceed 20. If you project the same attribute into two different indexes,
- // this counts as two distinct attributes when determining the total.
- //
- // * ProvisionedThroughput - The provisioned throughput settings for the
- // global secondary index, consisting of read and write capacity units, along
- // with data about increases and decreases.
- //
- // If the table is in the DELETING state, no information about indexes will
- // be returned.
- GlobalSecondaryIndexes []*GlobalSecondaryIndexDescription `type:"list"`
- // The number of items in the specified table. DynamoDB updates this value approximately
- // every six hours. Recent changes might not be reflected in this value.
- ItemCount *int64 `type:"long"`
- // The primary key structure for the table. Each KeySchemaElement consists of:
- //
- // * AttributeName - The name of the attribute.
- //
- // * KeyType - The role of the attribute:
- //
- // HASH - partition key
- //
- // RANGE - sort key
- //
- // The partition key of an item is also known as its hash attribute. The term
- // "hash attribute" derives from DynamoDB' usage of an internal hash function
- // to evenly distribute data items across partitions, based on their partition
- // key values.
- //
- // The sort key of an item is also known as its range attribute. The term "range
- // attribute" derives from the way DynamoDB stores items with the same partition
- // key physically close together, in sorted order by the sort key value.
- //
- // For more information about primary keys, see Primary Key (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html#DataModelPrimaryKey)
- // in the Amazon DynamoDB Developer Guide.
- KeySchema []*KeySchemaElement `min:"1" type:"list"`
- // The Amazon Resource Name (ARN) that uniquely identifies the latest stream
- // for this table.
- LatestStreamArn *string `min:"37" type:"string"`
- // A timestamp, in ISO 8601 format, for this stream.
- //
- // Note that LatestStreamLabel is not a unique identifier for the stream, because
- // it is possible that a stream from another table might have the same timestamp.
- // However, the combination of the following three elements is guaranteed to
- // be unique:
- //
- // * the AWS customer ID.
- //
- // * the table name.
- //
- // * the StreamLabel.
- LatestStreamLabel *string `type:"string"`
- // Represents one or more local secondary indexes on the table. Each index is
- // scoped to a given partition key value. Tables with one or more local secondary
- // indexes are subject to an item collection size limit, where the amount of
- // data within a given item collection cannot exceed 10 GB. Each element is
- // composed of:
- //
- // * IndexName - The name of the local secondary index.
- //
- // * KeySchema - Specifies the complete index key schema. The attribute names
- // in the key schema must be between 1 and 255 characters (inclusive). The
- // key schema must begin with the same partition key as the table.
- //
- // * Projection - Specifies attributes that are copied (projected) from the
- // table into the index. These are in addition to the primary key attributes
- // and index key attributes, which are automatically projected. Each attribute
- // specification is composed of:
- //
- // ProjectionType - One of the following:
- //
- // KEYS_ONLY - Only the index and primary keys are projected into the index.
- //
- // INCLUDE - Only the specified table attributes are projected into the index.
- // The list of projected attributes are in NonKeyAttributes.
- //
- // ALL - All of the table attributes are projected into the index.
- //
- // NonKeyAttributes - A list of one or more non-key attribute names that are
- // projected into the secondary index. The total count of attributes provided
- // in NonKeyAttributes, summed across all of the secondary indexes, must
- // not exceed 20. If you project the same attribute into two different indexes,
- // this counts as two distinct attributes when determining the total.
- //
- // * IndexSizeBytes - Represents the total size of the index, in bytes. DynamoDB
- // updates this value approximately every six hours. Recent changes might
- // not be reflected in this value.
- //
- // * ItemCount - Represents the number of items in the index. DynamoDB updates
- // this value approximately every six hours. Recent changes might not be
- // reflected in this value.
- //
- // If the table is in the DELETING state, no information about indexes will
- // be returned.
- LocalSecondaryIndexes []*LocalSecondaryIndexDescription `type:"list"`
- // The provisioned throughput settings for the table, consisting of read and
- // write capacity units, along with data about increases and decreases.
- ProvisionedThroughput *ProvisionedThroughputDescription `type:"structure"`
- // Contains details for the restore.
- RestoreSummary *RestoreSummary `type:"structure"`
- // The description of the server-side encryption status on the specified table.
- SSEDescription *SSEDescription `type:"structure"`
- // The current DynamoDB Streams configuration for the table.
- StreamSpecification *StreamSpecification `type:"structure"`
- // The Amazon Resource Name (ARN) that uniquely identifies the table.
- TableArn *string `type:"string"`
- // Unique identifier for the table for which the backup was created.
- TableId *string `type:"string"`
- // The name of the table.
- TableName *string `min:"3" type:"string"`
- // The total size of the specified table, in bytes. DynamoDB updates this value
- // approximately every six hours. Recent changes might not be reflected in this
- // value.
- TableSizeBytes *int64 `type:"long"`
- // The current state of the table:
- //
- // * CREATING - The table is being created.
- //
- // * UPDATING - The table is being updated.
- //
- // * DELETING - The table is being deleted.
- //
- // * ACTIVE - The table is ready for use.
- TableStatus *string `type:"string" enum:"TableStatus"`
- }
- // String returns the string representation
- func (s TableDescription) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TableDescription) GoString() string {
- return s.String()
- }
- // SetAttributeDefinitions sets the AttributeDefinitions field's value.
- func (s *TableDescription) SetAttributeDefinitions(v []*AttributeDefinition) *TableDescription {
- s.AttributeDefinitions = v
- return s
- }
- // SetBillingModeSummary sets the BillingModeSummary field's value.
- func (s *TableDescription) SetBillingModeSummary(v *BillingModeSummary) *TableDescription {
- s.BillingModeSummary = v
- return s
- }
- // SetCreationDateTime sets the CreationDateTime field's value.
- func (s *TableDescription) SetCreationDateTime(v time.Time) *TableDescription {
- s.CreationDateTime = &v
- return s
- }
- // SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value.
- func (s *TableDescription) SetGlobalSecondaryIndexes(v []*GlobalSecondaryIndexDescription) *TableDescription {
- s.GlobalSecondaryIndexes = v
- return s
- }
- // SetItemCount sets the ItemCount field's value.
- func (s *TableDescription) SetItemCount(v int64) *TableDescription {
- s.ItemCount = &v
- return s
- }
- // SetKeySchema sets the KeySchema field's value.
- func (s *TableDescription) SetKeySchema(v []*KeySchemaElement) *TableDescription {
- s.KeySchema = v
- return s
- }
- // SetLatestStreamArn sets the LatestStreamArn field's value.
- func (s *TableDescription) SetLatestStreamArn(v string) *TableDescription {
- s.LatestStreamArn = &v
- return s
- }
- // SetLatestStreamLabel sets the LatestStreamLabel field's value.
- func (s *TableDescription) SetLatestStreamLabel(v string) *TableDescription {
- s.LatestStreamLabel = &v
- return s
- }
- // SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value.
- func (s *TableDescription) SetLocalSecondaryIndexes(v []*LocalSecondaryIndexDescription) *TableDescription {
- s.LocalSecondaryIndexes = v
- return s
- }
- // SetProvisionedThroughput sets the ProvisionedThroughput field's value.
- func (s *TableDescription) SetProvisionedThroughput(v *ProvisionedThroughputDescription) *TableDescription {
- s.ProvisionedThroughput = v
- return s
- }
- // SetRestoreSummary sets the RestoreSummary field's value.
- func (s *TableDescription) SetRestoreSummary(v *RestoreSummary) *TableDescription {
- s.RestoreSummary = v
- return s
- }
- // SetSSEDescription sets the SSEDescription field's value.
- func (s *TableDescription) SetSSEDescription(v *SSEDescription) *TableDescription {
- s.SSEDescription = v
- return s
- }
- // SetStreamSpecification sets the StreamSpecification field's value.
- func (s *TableDescription) SetStreamSpecification(v *StreamSpecification) *TableDescription {
- s.StreamSpecification = v
- return s
- }
- // SetTableArn sets the TableArn field's value.
- func (s *TableDescription) SetTableArn(v string) *TableDescription {
- s.TableArn = &v
- return s
- }
- // SetTableId sets the TableId field's value.
- func (s *TableDescription) SetTableId(v string) *TableDescription {
- s.TableId = &v
- return s
- }
- // SetTableName sets the TableName field's value.
- func (s *TableDescription) SetTableName(v string) *TableDescription {
- s.TableName = &v
- return s
- }
- // SetTableSizeBytes sets the TableSizeBytes field's value.
- func (s *TableDescription) SetTableSizeBytes(v int64) *TableDescription {
- s.TableSizeBytes = &v
- return s
- }
- // SetTableStatus sets the TableStatus field's value.
- func (s *TableDescription) SetTableStatus(v string) *TableDescription {
- s.TableStatus = &v
- return s
- }
- // Describes a tag. A tag is a key-value pair. You can add up to 50 tags to
- // a single DynamoDB table.
- //
- // AWS-assigned tag names and values are automatically assigned the aws: prefix,
- // which the user cannot assign. AWS-assigned tag names do not count towards
- // the tag limit of 50. User-assigned tag names have the prefix user: in the
- // Cost Allocation Report. You cannot backdate the application of a tag.
- //
- // For an overview on tagging DynamoDB resources, see Tagging for DynamoDB (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html)
- // in the Amazon DynamoDB Developer Guide.
- type Tag struct {
- _ struct{} `type:"structure"`
- // The key of the tag.Tag keys are case sensitive. Each DynamoDB table can only
- // have up to one tag with the same key. If you try to add an existing tag (same
- // key), the existing tag value will be updated to the new value.
- //
- // Key is a required field
- Key *string `min:"1" type:"string" required:"true"`
- // The value of the tag. Tag values are case-sensitive and can be null.
- //
- // Value is a required field
- Value *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s Tag) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Tag) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Tag) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Tag"}
- if s.Key == nil {
- invalidParams.Add(request.NewErrParamRequired("Key"))
- }
- if s.Key != nil && len(*s.Key) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Key", 1))
- }
- if s.Value == nil {
- invalidParams.Add(request.NewErrParamRequired("Value"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetKey sets the Key field's value.
- func (s *Tag) SetKey(v string) *Tag {
- s.Key = &v
- return s
- }
- // SetValue sets the Value field's value.
- func (s *Tag) SetValue(v string) *Tag {
- s.Value = &v
- return s
- }
- type TagResourceInput struct {
- _ struct{} `type:"structure"`
- // Identifies the Amazon DynamoDB resource to which tags should be added. This
- // value is an Amazon Resource Name (ARN).
- //
- // ResourceArn is a required field
- ResourceArn *string `min:"1" type:"string" required:"true"`
- // The tags to be assigned to the Amazon DynamoDB resource.
- //
- // Tags is a required field
- Tags []*Tag `type:"list" required:"true"`
- }
- // String returns the string representation
- func (s TagResourceInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TagResourceInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *TagResourceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
- if s.ResourceArn == nil {
- invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
- }
- if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
- }
- if s.Tags == nil {
- invalidParams.Add(request.NewErrParamRequired("Tags"))
- }
- if s.Tags != nil {
- for i, v := range s.Tags {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetResourceArn sets the ResourceArn field's value.
- func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
- s.ResourceArn = &v
- return s
- }
- // SetTags sets the Tags field's value.
- func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
- s.Tags = v
- return s
- }
- type TagResourceOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s TagResourceOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TagResourceOutput) GoString() string {
- return s.String()
- }
- // The description of the Time to Live (TTL) status on the specified table.
- type TimeToLiveDescription struct {
- _ struct{} `type:"structure"`
- // The name of the Time to Live attribute for items in the table.
- AttributeName *string `min:"1" type:"string"`
- // The Time to Live status for the table.
- TimeToLiveStatus *string `type:"string" enum:"TimeToLiveStatus"`
- }
- // String returns the string representation
- func (s TimeToLiveDescription) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TimeToLiveDescription) GoString() string {
- return s.String()
- }
- // SetAttributeName sets the AttributeName field's value.
- func (s *TimeToLiveDescription) SetAttributeName(v string) *TimeToLiveDescription {
- s.AttributeName = &v
- return s
- }
- // SetTimeToLiveStatus sets the TimeToLiveStatus field's value.
- func (s *TimeToLiveDescription) SetTimeToLiveStatus(v string) *TimeToLiveDescription {
- s.TimeToLiveStatus = &v
- return s
- }
- // Represents the settings used to enable or disable Time to Live for the specified
- // table.
- type TimeToLiveSpecification struct {
- _ struct{} `type:"structure"`
- // The name of the Time to Live attribute used to store the expiration time
- // for items in the table.
- //
- // AttributeName is a required field
- AttributeName *string `min:"1" type:"string" required:"true"`
- // Indicates whether Time To Live is to be enabled (true) or disabled (false)
- // on the table.
- //
- // Enabled is a required field
- Enabled *bool `type:"boolean" required:"true"`
- }
- // String returns the string representation
- func (s TimeToLiveSpecification) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TimeToLiveSpecification) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *TimeToLiveSpecification) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "TimeToLiveSpecification"}
- if s.AttributeName == nil {
- invalidParams.Add(request.NewErrParamRequired("AttributeName"))
- }
- if s.AttributeName != nil && len(*s.AttributeName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1))
- }
- if s.Enabled == nil {
- invalidParams.Add(request.NewErrParamRequired("Enabled"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAttributeName sets the AttributeName field's value.
- func (s *TimeToLiveSpecification) SetAttributeName(v string) *TimeToLiveSpecification {
- s.AttributeName = &v
- return s
- }
- // SetEnabled sets the Enabled field's value.
- func (s *TimeToLiveSpecification) SetEnabled(v bool) *TimeToLiveSpecification {
- s.Enabled = &v
- return s
- }
- // Specifies an item to be retrieved as part of the transaction.
- type TransactGetItem struct {
- _ struct{} `type:"structure"`
- // Contains the primary key that identifies the item to get, together with the
- // name of the table that contains the item, and optionally the specific attributes
- // of the item to retrieve.
- //
- // Get is a required field
- Get *Get `type:"structure" required:"true"`
- }
- // String returns the string representation
- func (s TransactGetItem) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TransactGetItem) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *TransactGetItem) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "TransactGetItem"}
- if s.Get == nil {
- invalidParams.Add(request.NewErrParamRequired("Get"))
- }
- if s.Get != nil {
- if err := s.Get.Validate(); err != nil {
- invalidParams.AddNested("Get", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetGet sets the Get field's value.
- func (s *TransactGetItem) SetGet(v *Get) *TransactGetItem {
- s.Get = v
- return s
- }
- type TransactGetItemsInput struct {
- _ struct{} `type:"structure"`
- // A value of TOTAL causes consumed capacity information to be returned, and
- // a value of NONE prevents that information from being returned. No other value
- // is valid.
- ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"`
- // An ordered array of up to 10 TransactGetItem objects, each of which contains
- // a Get structure.
- //
- // TransactItems is a required field
- TransactItems []*TransactGetItem `min:"1" type:"list" required:"true"`
- }
- // String returns the string representation
- func (s TransactGetItemsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TransactGetItemsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *TransactGetItemsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "TransactGetItemsInput"}
- if s.TransactItems == nil {
- invalidParams.Add(request.NewErrParamRequired("TransactItems"))
- }
- if s.TransactItems != nil && len(s.TransactItems) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("TransactItems", 1))
- }
- if s.TransactItems != nil {
- for i, v := range s.TransactItems {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TransactItems", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value.
- func (s *TransactGetItemsInput) SetReturnConsumedCapacity(v string) *TransactGetItemsInput {
- s.ReturnConsumedCapacity = &v
- return s
- }
- // SetTransactItems sets the TransactItems field's value.
- func (s *TransactGetItemsInput) SetTransactItems(v []*TransactGetItem) *TransactGetItemsInput {
- s.TransactItems = v
- return s
- }
- type TransactGetItemsOutput struct {
- _ struct{} `type:"structure"`
- // If the ReturnConsumedCapacity value was TOTAL, this is an array of ConsumedCapacity
- // objects, one for each table addressed by TransactGetItem objects in the TransactItems
- // parameter. These ConsumedCapacity objects report the read-capacity units
- // consumed by the TransactGetItems call in that table.
- ConsumedCapacity []*ConsumedCapacity `type:"list"`
- // An ordered array of up to 10 ItemResponse objects, each of which corresponds
- // to the TransactGetItem object in the same position in the TransactItems array.
- // Each ItemResponse object contains a Map of the name-value pairs that are
- // the projected attributes of the requested item.
- //
- // If a requested item could not be retrieved, the corresponding ItemResponse
- // object is Null, or if the requested item has no projected attributes, the
- // corresponding ItemResponse object is an empty Map.
- Responses []*ItemResponse `min:"1" type:"list"`
- }
- // String returns the string representation
- func (s TransactGetItemsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TransactGetItemsOutput) GoString() string {
- return s.String()
- }
- // SetConsumedCapacity sets the ConsumedCapacity field's value.
- func (s *TransactGetItemsOutput) SetConsumedCapacity(v []*ConsumedCapacity) *TransactGetItemsOutput {
- s.ConsumedCapacity = v
- return s
- }
- // SetResponses sets the Responses field's value.
- func (s *TransactGetItemsOutput) SetResponses(v []*ItemResponse) *TransactGetItemsOutput {
- s.Responses = v
- return s
- }
- // A list of requests that can perform update, put, delete, or check operations
- // on multiple items in one or more tables atomically.
- type TransactWriteItem struct {
- _ struct{} `type:"structure"`
- // A request to perform a check item operation.
- ConditionCheck *ConditionCheck `type:"structure"`
- // A request to perform a DeleteItem operation.
- Delete *Delete `type:"structure"`
- // A request to perform a PutItem operation.
- Put *Put `type:"structure"`
- // A request to perform an UpdateItem operation.
- Update *Update `type:"structure"`
- }
- // String returns the string representation
- func (s TransactWriteItem) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TransactWriteItem) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *TransactWriteItem) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "TransactWriteItem"}
- if s.ConditionCheck != nil {
- if err := s.ConditionCheck.Validate(); err != nil {
- invalidParams.AddNested("ConditionCheck", err.(request.ErrInvalidParams))
- }
- }
- if s.Delete != nil {
- if err := s.Delete.Validate(); err != nil {
- invalidParams.AddNested("Delete", err.(request.ErrInvalidParams))
- }
- }
- if s.Put != nil {
- if err := s.Put.Validate(); err != nil {
- invalidParams.AddNested("Put", err.(request.ErrInvalidParams))
- }
- }
- if s.Update != nil {
- if err := s.Update.Validate(); err != nil {
- invalidParams.AddNested("Update", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetConditionCheck sets the ConditionCheck field's value.
- func (s *TransactWriteItem) SetConditionCheck(v *ConditionCheck) *TransactWriteItem {
- s.ConditionCheck = v
- return s
- }
- // SetDelete sets the Delete field's value.
- func (s *TransactWriteItem) SetDelete(v *Delete) *TransactWriteItem {
- s.Delete = v
- return s
- }
- // SetPut sets the Put field's value.
- func (s *TransactWriteItem) SetPut(v *Put) *TransactWriteItem {
- s.Put = v
- return s
- }
- // SetUpdate sets the Update field's value.
- func (s *TransactWriteItem) SetUpdate(v *Update) *TransactWriteItem {
- s.Update = v
- return s
- }
- type TransactWriteItemsInput struct {
- _ struct{} `type:"structure"`
- // Providing a ClientRequestToken makes the call to TransactWriteItems idempotent,
- // meaning that multiple identical calls have the same effect as one single
- // call.
- //
- // Although multiple identical calls using the same client request token produce
- // the same result on the server (no side effects), the responses to the calls
- // may not be the same. If the ReturnConsumedCapacity> parameter is set, then
- // the initial TransactWriteItems call returns the amount of write capacity
- // units consumed in making the changes, and subsequent TransactWriteItems calls
- // with the same client token return the amount of read capacity units consumed
- // in reading the item.
- //
- // A client request token is valid for 10 minutes after the first request that
- // uses it completes. After 10 minutes, any request with the same client token
- // is treated as a new request. Do not resubmit the same request with the same
- // client token for more than 10 minutes or the result may not be idempotent.
- //
- // If you submit a request with the same client token but a change in other
- // parameters within the 10 minute idempotency window, DynamoDB returns an IdempotentParameterMismatch
- // exception.
- ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"`
- // Determines the level of detail about provisioned throughput consumption that
- // is returned in the response:
- //
- // * INDEXES - The response includes the aggregate ConsumedCapacity for the
- // operation, together with ConsumedCapacity for each table and secondary
- // index that was accessed.
- //
- // Note that some operations, such as GetItem and BatchGetItem, do not access
- // any indexes at all. In these cases, specifying INDEXES will only return
- // ConsumedCapacity information for table(s).
- //
- // * TOTAL - The response includes only the aggregate ConsumedCapacity for
- // the operation.
- //
- // * NONE - No ConsumedCapacity details are included in the response.
- ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"`
- // Determines whether item collection metrics are returned. If set to SIZE,
- // the response includes statistics about item collections (if any), that were
- // modified during the operation and are returned in the response. If set to
- // NONE (the default), no statistics are returned.
- ReturnItemCollectionMetrics *string `type:"string" enum:"ReturnItemCollectionMetrics"`
- // An ordered array of up to 10 TransactWriteItem objects, each of which contains
- // a ConditionCheck, Put, Update, or Delete object. These can operate on items
- // in different tables, but the tables must reside in the same AWS account and
- // region, and no two of them can operate on the same item.
- //
- // TransactItems is a required field
- TransactItems []*TransactWriteItem `min:"1" type:"list" required:"true"`
- }
- // String returns the string representation
- func (s TransactWriteItemsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TransactWriteItemsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *TransactWriteItemsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "TransactWriteItemsInput"}
- if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
- }
- if s.TransactItems == nil {
- invalidParams.Add(request.NewErrParamRequired("TransactItems"))
- }
- if s.TransactItems != nil && len(s.TransactItems) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("TransactItems", 1))
- }
- if s.TransactItems != nil {
- for i, v := range s.TransactItems {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TransactItems", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetClientRequestToken sets the ClientRequestToken field's value.
- func (s *TransactWriteItemsInput) SetClientRequestToken(v string) *TransactWriteItemsInput {
- s.ClientRequestToken = &v
- return s
- }
- // SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value.
- func (s *TransactWriteItemsInput) SetReturnConsumedCapacity(v string) *TransactWriteItemsInput {
- s.ReturnConsumedCapacity = &v
- return s
- }
- // SetReturnItemCollectionMetrics sets the ReturnItemCollectionMetrics field's value.
- func (s *TransactWriteItemsInput) SetReturnItemCollectionMetrics(v string) *TransactWriteItemsInput {
- s.ReturnItemCollectionMetrics = &v
- return s
- }
- // SetTransactItems sets the TransactItems field's value.
- func (s *TransactWriteItemsInput) SetTransactItems(v []*TransactWriteItem) *TransactWriteItemsInput {
- s.TransactItems = v
- return s
- }
- type TransactWriteItemsOutput struct {
- _ struct{} `type:"structure"`
- // The capacity units consumed by the entire TransactWriteItems operation. The
- // values of the list are ordered according to the ordering of the TransactItems
- // request parameter.
- ConsumedCapacity []*ConsumedCapacity `type:"list"`
- // A list of tables that were processed by TransactWriteItems and, for each
- // table, information about any item collections that were affected by individual
- // UpdateItem, PutItem or DeleteItem operations.
- ItemCollectionMetrics map[string][]*ItemCollectionMetrics `type:"map"`
- }
- // String returns the string representation
- func (s TransactWriteItemsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s TransactWriteItemsOutput) GoString() string {
- return s.String()
- }
- // SetConsumedCapacity sets the ConsumedCapacity field's value.
- func (s *TransactWriteItemsOutput) SetConsumedCapacity(v []*ConsumedCapacity) *TransactWriteItemsOutput {
- s.ConsumedCapacity = v
- return s
- }
- // SetItemCollectionMetrics sets the ItemCollectionMetrics field's value.
- func (s *TransactWriteItemsOutput) SetItemCollectionMetrics(v map[string][]*ItemCollectionMetrics) *TransactWriteItemsOutput {
- s.ItemCollectionMetrics = v
- return s
- }
- type UntagResourceInput struct {
- _ struct{} `type:"structure"`
- // The Amazon DyanamoDB resource the tags will be removed from. This value is
- // an Amazon Resource Name (ARN).
- //
- // ResourceArn is a required field
- ResourceArn *string `min:"1" type:"string" required:"true"`
- // A list of tag keys. Existing tags of the resource whose keys are members
- // of this list will be removed from the Amazon DynamoDB resource.
- //
- // TagKeys is a required field
- TagKeys []*string `type:"list" required:"true"`
- }
- // String returns the string representation
- func (s UntagResourceInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UntagResourceInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *UntagResourceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
- if s.ResourceArn == nil {
- invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
- }
- if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
- }
- if s.TagKeys == nil {
- invalidParams.Add(request.NewErrParamRequired("TagKeys"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetResourceArn sets the ResourceArn field's value.
- func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
- s.ResourceArn = &v
- return s
- }
- // SetTagKeys sets the TagKeys field's value.
- func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
- s.TagKeys = v
- return s
- }
- type UntagResourceOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s UntagResourceOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UntagResourceOutput) GoString() string {
- return s.String()
- }
- // Represents a request to perform an UpdateItem operation.
- type Update struct {
- _ struct{} `type:"structure"`
- // A condition that must be satisfied in order for a conditional update to succeed.
- ConditionExpression *string `type:"string"`
- // One or more substitution tokens for attribute names in an expression.
- ExpressionAttributeNames map[string]*string `type:"map"`
- // One or more values that can be substituted in an expression.
- ExpressionAttributeValues map[string]*AttributeValue `type:"map"`
- // The primary key of the item to be updated. Each element consists of an attribute
- // name and a value for that attribute.
- //
- // Key is a required field
- Key map[string]*AttributeValue `type:"map" required:"true"`
- // Use ReturnValuesOnConditionCheckFailure to get the item attributes if the
- // Update condition fails. For ReturnValuesOnConditionCheckFailure, the valid
- // values are: NONE, ALL_OLD, UPDATED_OLD, ALL_NEW, UPDATED_NEW.
- ReturnValuesOnConditionCheckFailure *string `type:"string" enum:"ReturnValuesOnConditionCheckFailure"`
- // Name of the table for the UpdateItem request.
- //
- // TableName is a required field
- TableName *string `min:"3" type:"string" required:"true"`
- // An expression that defines one or more attributes to be updated, the action
- // to be performed on them, and new value(s) for them.
- //
- // UpdateExpression is a required field
- UpdateExpression *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s Update) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Update) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Update) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Update"}
- if s.Key == nil {
- invalidParams.Add(request.NewErrParamRequired("Key"))
- }
- if s.TableName == nil {
- invalidParams.Add(request.NewErrParamRequired("TableName"))
- }
- if s.TableName != nil && len(*s.TableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
- }
- if s.UpdateExpression == nil {
- invalidParams.Add(request.NewErrParamRequired("UpdateExpression"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetConditionExpression sets the ConditionExpression field's value.
- func (s *Update) SetConditionExpression(v string) *Update {
- s.ConditionExpression = &v
- return s
- }
- // SetExpressionAttributeNames sets the ExpressionAttributeNames field's value.
- func (s *Update) SetExpressionAttributeNames(v map[string]*string) *Update {
- s.ExpressionAttributeNames = v
- return s
- }
- // SetExpressionAttributeValues sets the ExpressionAttributeValues field's value.
- func (s *Update) SetExpressionAttributeValues(v map[string]*AttributeValue) *Update {
- s.ExpressionAttributeValues = v
- return s
- }
- // SetKey sets the Key field's value.
- func (s *Update) SetKey(v map[string]*AttributeValue) *Update {
- s.Key = v
- return s
- }
- // SetReturnValuesOnConditionCheckFailure sets the ReturnValuesOnConditionCheckFailure field's value.
- func (s *Update) SetReturnValuesOnConditionCheckFailure(v string) *Update {
- s.ReturnValuesOnConditionCheckFailure = &v
- return s
- }
- // SetTableName sets the TableName field's value.
- func (s *Update) SetTableName(v string) *Update {
- s.TableName = &v
- return s
- }
- // SetUpdateExpression sets the UpdateExpression field's value.
- func (s *Update) SetUpdateExpression(v string) *Update {
- s.UpdateExpression = &v
- return s
- }
- type UpdateContinuousBackupsInput struct {
- _ struct{} `type:"structure"`
- // Represents the settings used to enable point in time recovery.
- //
- // PointInTimeRecoverySpecification is a required field
- PointInTimeRecoverySpecification *PointInTimeRecoverySpecification `type:"structure" required:"true"`
- // The name of the table.
- //
- // TableName is a required field
- TableName *string `min:"3" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s UpdateContinuousBackupsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UpdateContinuousBackupsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *UpdateContinuousBackupsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateContinuousBackupsInput"}
- if s.PointInTimeRecoverySpecification == nil {
- invalidParams.Add(request.NewErrParamRequired("PointInTimeRecoverySpecification"))
- }
- if s.TableName == nil {
- invalidParams.Add(request.NewErrParamRequired("TableName"))
- }
- if s.TableName != nil && len(*s.TableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
- }
- if s.PointInTimeRecoverySpecification != nil {
- if err := s.PointInTimeRecoverySpecification.Validate(); err != nil {
- invalidParams.AddNested("PointInTimeRecoverySpecification", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetPointInTimeRecoverySpecification sets the PointInTimeRecoverySpecification field's value.
- func (s *UpdateContinuousBackupsInput) SetPointInTimeRecoverySpecification(v *PointInTimeRecoverySpecification) *UpdateContinuousBackupsInput {
- s.PointInTimeRecoverySpecification = v
- return s
- }
- // SetTableName sets the TableName field's value.
- func (s *UpdateContinuousBackupsInput) SetTableName(v string) *UpdateContinuousBackupsInput {
- s.TableName = &v
- return s
- }
- type UpdateContinuousBackupsOutput struct {
- _ struct{} `type:"structure"`
- // Represents the continuous backups and point in time recovery settings on
- // the table.
- ContinuousBackupsDescription *ContinuousBackupsDescription `type:"structure"`
- }
- // String returns the string representation
- func (s UpdateContinuousBackupsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UpdateContinuousBackupsOutput) GoString() string {
- return s.String()
- }
- // SetContinuousBackupsDescription sets the ContinuousBackupsDescription field's value.
- func (s *UpdateContinuousBackupsOutput) SetContinuousBackupsDescription(v *ContinuousBackupsDescription) *UpdateContinuousBackupsOutput {
- s.ContinuousBackupsDescription = v
- return s
- }
- // Represents the new provisioned throughput settings to be applied to a global
- // secondary index.
- type UpdateGlobalSecondaryIndexAction struct {
- _ struct{} `type:"structure"`
- // The name of the global secondary index to be updated.
- //
- // IndexName is a required field
- IndexName *string `min:"3" type:"string" required:"true"`
- // Represents the provisioned throughput settings for the specified global secondary
- // index.
- //
- // For current minimum and maximum provisioned throughput values, see Limits
- // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html)
- // in the Amazon DynamoDB Developer Guide.
- //
- // ProvisionedThroughput is a required field
- ProvisionedThroughput *ProvisionedThroughput `type:"structure" required:"true"`
- }
- // String returns the string representation
- func (s UpdateGlobalSecondaryIndexAction) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UpdateGlobalSecondaryIndexAction) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *UpdateGlobalSecondaryIndexAction) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateGlobalSecondaryIndexAction"}
- if s.IndexName == nil {
- invalidParams.Add(request.NewErrParamRequired("IndexName"))
- }
- if s.IndexName != nil && len(*s.IndexName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("IndexName", 3))
- }
- if s.ProvisionedThroughput == nil {
- invalidParams.Add(request.NewErrParamRequired("ProvisionedThroughput"))
- }
- if s.ProvisionedThroughput != nil {
- if err := s.ProvisionedThroughput.Validate(); err != nil {
- invalidParams.AddNested("ProvisionedThroughput", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetIndexName sets the IndexName field's value.
- func (s *UpdateGlobalSecondaryIndexAction) SetIndexName(v string) *UpdateGlobalSecondaryIndexAction {
- s.IndexName = &v
- return s
- }
- // SetProvisionedThroughput sets the ProvisionedThroughput field's value.
- func (s *UpdateGlobalSecondaryIndexAction) SetProvisionedThroughput(v *ProvisionedThroughput) *UpdateGlobalSecondaryIndexAction {
- s.ProvisionedThroughput = v
- return s
- }
- type UpdateGlobalTableInput struct {
- _ struct{} `type:"structure"`
- // The global table name.
- //
- // GlobalTableName is a required field
- GlobalTableName *string `min:"3" type:"string" required:"true"`
- // A list of regions that should be added or removed from the global table.
- //
- // ReplicaUpdates is a required field
- ReplicaUpdates []*ReplicaUpdate `type:"list" required:"true"`
- }
- // String returns the string representation
- func (s UpdateGlobalTableInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UpdateGlobalTableInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *UpdateGlobalTableInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateGlobalTableInput"}
- if s.GlobalTableName == nil {
- invalidParams.Add(request.NewErrParamRequired("GlobalTableName"))
- }
- if s.GlobalTableName != nil && len(*s.GlobalTableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("GlobalTableName", 3))
- }
- if s.ReplicaUpdates == nil {
- invalidParams.Add(request.NewErrParamRequired("ReplicaUpdates"))
- }
- if s.ReplicaUpdates != nil {
- for i, v := range s.ReplicaUpdates {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaUpdates", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetGlobalTableName sets the GlobalTableName field's value.
- func (s *UpdateGlobalTableInput) SetGlobalTableName(v string) *UpdateGlobalTableInput {
- s.GlobalTableName = &v
- return s
- }
- // SetReplicaUpdates sets the ReplicaUpdates field's value.
- func (s *UpdateGlobalTableInput) SetReplicaUpdates(v []*ReplicaUpdate) *UpdateGlobalTableInput {
- s.ReplicaUpdates = v
- return s
- }
- type UpdateGlobalTableOutput struct {
- _ struct{} `type:"structure"`
- // Contains the details of the global table.
- GlobalTableDescription *GlobalTableDescription `type:"structure"`
- }
- // String returns the string representation
- func (s UpdateGlobalTableOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UpdateGlobalTableOutput) GoString() string {
- return s.String()
- }
- // SetGlobalTableDescription sets the GlobalTableDescription field's value.
- func (s *UpdateGlobalTableOutput) SetGlobalTableDescription(v *GlobalTableDescription) *UpdateGlobalTableOutput {
- s.GlobalTableDescription = v
- return s
- }
- type UpdateGlobalTableSettingsInput struct {
- _ struct{} `type:"structure"`
- // The billing mode of the global table. If GlobalTableBillingMode is not specified,
- // the global table defaults to PROVISIONED capacity billing mode.
- GlobalTableBillingMode *string `type:"string" enum:"BillingMode"`
- // Represents the settings of a global secondary index for a global table that
- // will be modified.
- GlobalTableGlobalSecondaryIndexSettingsUpdate []*GlobalTableGlobalSecondaryIndexSettingsUpdate `min:"1" type:"list"`
- // The name of the global table
- //
- // GlobalTableName is a required field
- GlobalTableName *string `min:"3" type:"string" required:"true"`
- // AutoScaling settings for managing provisioned write capacity for the global
- // table.
- GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate *AutoScalingSettingsUpdate `type:"structure"`
- // The maximum number of writes consumed per second before DynamoDB returns
- // a ThrottlingException.
- GlobalTableProvisionedWriteCapacityUnits *int64 `min:"1" type:"long"`
- // Represents the settings for a global table in a region that will be modified.
- ReplicaSettingsUpdate []*ReplicaSettingsUpdate `min:"1" type:"list"`
- }
- // String returns the string representation
- func (s UpdateGlobalTableSettingsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UpdateGlobalTableSettingsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *UpdateGlobalTableSettingsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateGlobalTableSettingsInput"}
- if s.GlobalTableGlobalSecondaryIndexSettingsUpdate != nil && len(s.GlobalTableGlobalSecondaryIndexSettingsUpdate) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("GlobalTableGlobalSecondaryIndexSettingsUpdate", 1))
- }
- if s.GlobalTableName == nil {
- invalidParams.Add(request.NewErrParamRequired("GlobalTableName"))
- }
- if s.GlobalTableName != nil && len(*s.GlobalTableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("GlobalTableName", 3))
- }
- if s.GlobalTableProvisionedWriteCapacityUnits != nil && *s.GlobalTableProvisionedWriteCapacityUnits < 1 {
- invalidParams.Add(request.NewErrParamMinValue("GlobalTableProvisionedWriteCapacityUnits", 1))
- }
- if s.ReplicaSettingsUpdate != nil && len(s.ReplicaSettingsUpdate) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ReplicaSettingsUpdate", 1))
- }
- if s.GlobalTableGlobalSecondaryIndexSettingsUpdate != nil {
- for i, v := range s.GlobalTableGlobalSecondaryIndexSettingsUpdate {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GlobalTableGlobalSecondaryIndexSettingsUpdate", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if s.GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate != nil {
- if err := s.GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate.Validate(); err != nil {
- invalidParams.AddNested("GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate", err.(request.ErrInvalidParams))
- }
- }
- if s.ReplicaSettingsUpdate != nil {
- for i, v := range s.ReplicaSettingsUpdate {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaSettingsUpdate", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetGlobalTableBillingMode sets the GlobalTableBillingMode field's value.
- func (s *UpdateGlobalTableSettingsInput) SetGlobalTableBillingMode(v string) *UpdateGlobalTableSettingsInput {
- s.GlobalTableBillingMode = &v
- return s
- }
- // SetGlobalTableGlobalSecondaryIndexSettingsUpdate sets the GlobalTableGlobalSecondaryIndexSettingsUpdate field's value.
- func (s *UpdateGlobalTableSettingsInput) SetGlobalTableGlobalSecondaryIndexSettingsUpdate(v []*GlobalTableGlobalSecondaryIndexSettingsUpdate) *UpdateGlobalTableSettingsInput {
- s.GlobalTableGlobalSecondaryIndexSettingsUpdate = v
- return s
- }
- // SetGlobalTableName sets the GlobalTableName field's value.
- func (s *UpdateGlobalTableSettingsInput) SetGlobalTableName(v string) *UpdateGlobalTableSettingsInput {
- s.GlobalTableName = &v
- return s
- }
- // SetGlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate sets the GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate field's value.
- func (s *UpdateGlobalTableSettingsInput) SetGlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate(v *AutoScalingSettingsUpdate) *UpdateGlobalTableSettingsInput {
- s.GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate = v
- return s
- }
- // SetGlobalTableProvisionedWriteCapacityUnits sets the GlobalTableProvisionedWriteCapacityUnits field's value.
- func (s *UpdateGlobalTableSettingsInput) SetGlobalTableProvisionedWriteCapacityUnits(v int64) *UpdateGlobalTableSettingsInput {
- s.GlobalTableProvisionedWriteCapacityUnits = &v
- return s
- }
- // SetReplicaSettingsUpdate sets the ReplicaSettingsUpdate field's value.
- func (s *UpdateGlobalTableSettingsInput) SetReplicaSettingsUpdate(v []*ReplicaSettingsUpdate) *UpdateGlobalTableSettingsInput {
- s.ReplicaSettingsUpdate = v
- return s
- }
- type UpdateGlobalTableSettingsOutput struct {
- _ struct{} `type:"structure"`
- // The name of the global table.
- GlobalTableName *string `min:"3" type:"string"`
- // The region specific settings for the global table.
- ReplicaSettings []*ReplicaSettingsDescription `type:"list"`
- }
- // String returns the string representation
- func (s UpdateGlobalTableSettingsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UpdateGlobalTableSettingsOutput) GoString() string {
- return s.String()
- }
- // SetGlobalTableName sets the GlobalTableName field's value.
- func (s *UpdateGlobalTableSettingsOutput) SetGlobalTableName(v string) *UpdateGlobalTableSettingsOutput {
- s.GlobalTableName = &v
- return s
- }
- // SetReplicaSettings sets the ReplicaSettings field's value.
- func (s *UpdateGlobalTableSettingsOutput) SetReplicaSettings(v []*ReplicaSettingsDescription) *UpdateGlobalTableSettingsOutput {
- s.ReplicaSettings = v
- return s
- }
- // Represents the input of an UpdateItem operation.
- type UpdateItemInput struct {
- _ struct{} `type:"structure"`
- // This is a legacy parameter. Use UpdateExpression instead. For more information,
- // see AttributeUpdates (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributeUpdates.html)
- // in the Amazon DynamoDB Developer Guide.
- AttributeUpdates map[string]*AttributeValueUpdate `type:"map"`
- // A condition that must be satisfied in order for a conditional update to succeed.
- //
- // An expression can contain any of the following:
- //
- // * Functions: attribute_exists | attribute_not_exists | attribute_type
- // | contains | begins_with | size
- //
- // These function names are case-sensitive.
- //
- // * Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN
- //
- // * Logical operators: AND | OR | NOT
- //
- // For more information on condition expressions, see Specifying Conditions
- // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html)
- // in the Amazon DynamoDB Developer Guide.
- ConditionExpression *string `type:"string"`
- // This is a legacy parameter. Use ConditionExpression instead. For more information,
- // see ConditionalOperator (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html)
- // in the Amazon DynamoDB Developer Guide.
- ConditionalOperator *string `type:"string" enum:"ConditionalOperator"`
- // This is a legacy parameter. Use ConditionExpression instead. For more information,
- // see Expected (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html)
- // in the Amazon DynamoDB Developer Guide.
- Expected map[string]*ExpectedAttributeValue `type:"map"`
- // One or more substitution tokens for attribute names in an expression. The
- // following are some use cases for using ExpressionAttributeNames:
- //
- // * To access an attribute whose name conflicts with a DynamoDB reserved
- // word.
- //
- // * To create a placeholder for repeating occurrences of an attribute name
- // in an expression.
- //
- // * To prevent special characters in an attribute name from being misinterpreted
- // in an expression.
- //
- // Use the # character in an expression to dereference an attribute name. For
- // example, consider the following attribute name:
- //
- // * Percentile
- //
- // The name of this attribute conflicts with a reserved word, so it cannot be
- // used directly in an expression. (For the complete list of reserved words,
- // see Reserved Words (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html)
- // in the Amazon DynamoDB Developer Guide). To work around this, you could specify
- // the following for ExpressionAttributeNames:
- //
- // * {"#P":"Percentile"}
- //
- // You could then use this substitution in an expression, as in this example:
- //
- // * #P = :val
- //
- // Tokens that begin with the : character are expression attribute values, which
- // are placeholders for the actual value at runtime.
- //
- // For more information on expression attribute names, see Accessing Item Attributes
- // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html)
- // in the Amazon DynamoDB Developer Guide.
- ExpressionAttributeNames map[string]*string `type:"map"`
- // One or more values that can be substituted in an expression.
- //
- // Use the : (colon) character in an expression to dereference an attribute
- // value. For example, suppose that you wanted to check whether the value of
- // the ProductStatus attribute was one of the following:
- //
- // Available | Backordered | Discontinued
- //
- // You would first need to specify ExpressionAttributeValues as follows:
- //
- // { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"}
- // }
- //
- // You could then use these values in an expression, such as this:
- //
- // ProductStatus IN (:avail, :back, :disc)
- //
- // For more information on expression attribute values, see Specifying Conditions
- // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html)
- // in the Amazon DynamoDB Developer Guide.
- ExpressionAttributeValues map[string]*AttributeValue `type:"map"`
- // The primary key of the item to be updated. Each element consists of an attribute
- // name and a value for that attribute.
- //
- // For the primary key, you must provide all of the attributes. For example,
- // with a simple primary key, you only need to provide a value for the partition
- // key. For a composite primary key, you must provide values for both the partition
- // key and the sort key.
- //
- // Key is a required field
- Key map[string]*AttributeValue `type:"map" required:"true"`
- // Determines the level of detail about provisioned throughput consumption that
- // is returned in the response:
- //
- // * INDEXES - The response includes the aggregate ConsumedCapacity for the
- // operation, together with ConsumedCapacity for each table and secondary
- // index that was accessed.
- //
- // Note that some operations, such as GetItem and BatchGetItem, do not access
- // any indexes at all. In these cases, specifying INDEXES will only return
- // ConsumedCapacity information for table(s).
- //
- // * TOTAL - The response includes only the aggregate ConsumedCapacity for
- // the operation.
- //
- // * NONE - No ConsumedCapacity details are included in the response.
- ReturnConsumedCapacity *string `type:"string" enum:"ReturnConsumedCapacity"`
- // Determines whether item collection metrics are returned. If set to SIZE,
- // the response includes statistics about item collections, if any, that were
- // modified during the operation are returned in the response. If set to NONE
- // (the default), no statistics are returned.
- ReturnItemCollectionMetrics *string `type:"string" enum:"ReturnItemCollectionMetrics"`
- // Use ReturnValues if you want to get the item attributes as they appear before
- // or after they are updated. For UpdateItem, the valid values are:
- //
- // * NONE - If ReturnValues is not specified, or if its value is NONE, then
- // nothing is returned. (This setting is the default for ReturnValues.)
- //
- // * ALL_OLD - Returns all of the attributes of the item, as they appeared
- // before the UpdateItem operation.
- //
- // * UPDATED_OLD - Returns only the updated attributes, as they appeared
- // before the UpdateItem operation.
- //
- // * ALL_NEW - Returns all of the attributes of the item, as they appear
- // after the UpdateItem operation.
- //
- // * UPDATED_NEW - Returns only the updated attributes, as they appear after
- // the UpdateItem operation.
- //
- // There is no additional cost associated with requesting a return value aside
- // from the small network and processing overhead of receiving a larger response.
- // No read capacity units are consumed.
- //
- // The values returned are strongly consistent.
- ReturnValues *string `type:"string" enum:"ReturnValue"`
- // The name of the table containing the item to update.
- //
- // TableName is a required field
- TableName *string `min:"3" type:"string" required:"true"`
- // An expression that defines one or more attributes to be updated, the action
- // to be performed on them, and new value(s) for them.
- //
- // The following action values are available for UpdateExpression.
- //
- // * SET - Adds one or more attributes and values to an item. If any of these
- // attribute already exist, they are replaced by the new values. You can
- // also use SET to add or subtract from an attribute that is of type Number.
- // For example: SET myNum = myNum + :val
- //
- // SET supports the following functions:
- //
- // if_not_exists (path, operand) - if the item does not contain an attribute
- // at the specified path, then if_not_exists evaluates to operand; otherwise,
- // it evaluates to path. You can use this function to avoid overwriting an
- // attribute that may already be present in the item.
- //
- // list_append (operand, operand) - evaluates to a list with a new element added
- // to it. You can append the new element to the start or the end of the list
- // by reversing the order of the operands.
- //
- // These function names are case-sensitive.
- //
- // * REMOVE - Removes one or more attributes from an item.
- //
- // * ADD - Adds the specified value to the item, if the attribute does not
- // already exist. If the attribute does exist, then the behavior of ADD depends
- // on the data type of the attribute:
- //
- // If the existing attribute is a number, and if Value is also a number, then
- // Value is mathematically added to the existing attribute. If Value is a
- // negative number, then it is subtracted from the existing attribute.
- //
- // If you use ADD to increment or decrement a number value for an item that
- // doesn't exist before the update, DynamoDB uses 0 as the initial value.
- //
- // Similarly, if you use ADD for an existing item to increment or decrement
- // an attribute value that doesn't exist before the update, DynamoDB uses
- // 0 as the initial value. For example, suppose that the item you want to
- // update doesn't have an attribute named itemcount, but you decide to ADD
- // the number 3 to this attribute anyway. DynamoDB will create the itemcount
- // attribute, set its initial value to 0, and finally add 3 to it. The result
- // will be a new itemcount attribute in the item, with a value of 3.
- //
- // If the existing data type is a set and if Value is also a set, then Value
- // is added to the existing set. For example, if the attribute value is the
- // set [1,2], and the ADD action specified [3], then the final attribute
- // value is [1,2,3]. An error occurs if an ADD action is specified for a
- // set attribute and the attribute type specified does not match the existing
- // set type.
- //
- // Both sets must have the same primitive data type. For example, if the existing
- // data type is a set of strings, the Value must also be a set of strings.
- //
- // The ADD action only supports Number and set data types. In addition, ADD
- // can only be used on top-level attributes, not nested attributes.
- //
- // * DELETE - Deletes an element from a set.
- //
- // If a set of values is specified, then those values are subtracted from the
- // old set. For example, if the attribute value was the set [a,b,c] and the
- // DELETE action specifies [a,c], then the final attribute value is [b].
- // Specifying an empty set is an error.
- //
- // The DELETE action only supports set data types. In addition, DELETE can only
- // be used on top-level attributes, not nested attributes.
- //
- // You can have many actions in a single expression, such as the following:
- // SET a=:value1, b=:value2 DELETE :value3, :value4, :value5
- //
- // For more information on update expressions, see Modifying Items and Attributes
- // (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.Modifying.html)
- // in the Amazon DynamoDB Developer Guide.
- UpdateExpression *string `type:"string"`
- }
- // String returns the string representation
- func (s UpdateItemInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UpdateItemInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *UpdateItemInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateItemInput"}
- if s.Key == nil {
- invalidParams.Add(request.NewErrParamRequired("Key"))
- }
- if s.TableName == nil {
- invalidParams.Add(request.NewErrParamRequired("TableName"))
- }
- if s.TableName != nil && len(*s.TableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAttributeUpdates sets the AttributeUpdates field's value.
- func (s *UpdateItemInput) SetAttributeUpdates(v map[string]*AttributeValueUpdate) *UpdateItemInput {
- s.AttributeUpdates = v
- return s
- }
- // SetConditionExpression sets the ConditionExpression field's value.
- func (s *UpdateItemInput) SetConditionExpression(v string) *UpdateItemInput {
- s.ConditionExpression = &v
- return s
- }
- // SetConditionalOperator sets the ConditionalOperator field's value.
- func (s *UpdateItemInput) SetConditionalOperator(v string) *UpdateItemInput {
- s.ConditionalOperator = &v
- return s
- }
- // SetExpected sets the Expected field's value.
- func (s *UpdateItemInput) SetExpected(v map[string]*ExpectedAttributeValue) *UpdateItemInput {
- s.Expected = v
- return s
- }
- // SetExpressionAttributeNames sets the ExpressionAttributeNames field's value.
- func (s *UpdateItemInput) SetExpressionAttributeNames(v map[string]*string) *UpdateItemInput {
- s.ExpressionAttributeNames = v
- return s
- }
- // SetExpressionAttributeValues sets the ExpressionAttributeValues field's value.
- func (s *UpdateItemInput) SetExpressionAttributeValues(v map[string]*AttributeValue) *UpdateItemInput {
- s.ExpressionAttributeValues = v
- return s
- }
- // SetKey sets the Key field's value.
- func (s *UpdateItemInput) SetKey(v map[string]*AttributeValue) *UpdateItemInput {
- s.Key = v
- return s
- }
- // SetReturnConsumedCapacity sets the ReturnConsumedCapacity field's value.
- func (s *UpdateItemInput) SetReturnConsumedCapacity(v string) *UpdateItemInput {
- s.ReturnConsumedCapacity = &v
- return s
- }
- // SetReturnItemCollectionMetrics sets the ReturnItemCollectionMetrics field's value.
- func (s *UpdateItemInput) SetReturnItemCollectionMetrics(v string) *UpdateItemInput {
- s.ReturnItemCollectionMetrics = &v
- return s
- }
- // SetReturnValues sets the ReturnValues field's value.
- func (s *UpdateItemInput) SetReturnValues(v string) *UpdateItemInput {
- s.ReturnValues = &v
- return s
- }
- // SetTableName sets the TableName field's value.
- func (s *UpdateItemInput) SetTableName(v string) *UpdateItemInput {
- s.TableName = &v
- return s
- }
- // SetUpdateExpression sets the UpdateExpression field's value.
- func (s *UpdateItemInput) SetUpdateExpression(v string) *UpdateItemInput {
- s.UpdateExpression = &v
- return s
- }
- // Represents the output of an UpdateItem operation.
- type UpdateItemOutput struct {
- _ struct{} `type:"structure"`
- // A map of attribute values as they appear before or after the UpdateItem operation,
- // as determined by the ReturnValues parameter.
- //
- // The Attributes map is only present if ReturnValues was specified as something
- // other than NONE in the request. Each element represents one attribute.
- Attributes map[string]*AttributeValue `type:"map"`
- // The capacity units consumed by the UpdateItem operation. The data returned
- // includes the total provisioned throughput consumed, along with statistics
- // for the table and any indexes involved in the operation. ConsumedCapacity
- // is only returned if the ReturnConsumedCapacity parameter was specified. For
- // more information, see Provisioned Throughput (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html)
- // in the Amazon DynamoDB Developer Guide.
- ConsumedCapacity *ConsumedCapacity `type:"structure"`
- // Information about item collections, if any, that were affected by the UpdateItem
- // operation. ItemCollectionMetrics is only returned if the ReturnItemCollectionMetrics
- // parameter was specified. If the table does not have any local secondary indexes,
- // this information is not returned in the response.
- //
- // Each ItemCollectionMetrics element consists of:
- //
- // * ItemCollectionKey - The partition key value of the item collection.
- // This is the same as the partition key value of the item itself.
- //
- // * SizeEstimateRangeGB - An estimate of item collection size, in gigabytes.
- // This value is a two-element array containing a lower bound and an upper
- // bound for the estimate. The estimate includes the size of all the items
- // in the table, plus the size of all attributes projected into all of the
- // local secondary indexes on that table. Use this estimate to measure whether
- // a local secondary index is approaching its size limit.
- //
- // The estimate is subject to change over time; therefore, do not rely on the
- // precision or accuracy of the estimate.
- ItemCollectionMetrics *ItemCollectionMetrics `type:"structure"`
- }
- // String returns the string representation
- func (s UpdateItemOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UpdateItemOutput) GoString() string {
- return s.String()
- }
- // SetAttributes sets the Attributes field's value.
- func (s *UpdateItemOutput) SetAttributes(v map[string]*AttributeValue) *UpdateItemOutput {
- s.Attributes = v
- return s
- }
- // SetConsumedCapacity sets the ConsumedCapacity field's value.
- func (s *UpdateItemOutput) SetConsumedCapacity(v *ConsumedCapacity) *UpdateItemOutput {
- s.ConsumedCapacity = v
- return s
- }
- // SetItemCollectionMetrics sets the ItemCollectionMetrics field's value.
- func (s *UpdateItemOutput) SetItemCollectionMetrics(v *ItemCollectionMetrics) *UpdateItemOutput {
- s.ItemCollectionMetrics = v
- return s
- }
- // Represents the input of an UpdateTable operation.
- type UpdateTableInput struct {
- _ struct{} `type:"structure"`
- // An array of attributes that describe the key schema for the table and indexes.
- // If you are adding a new global secondary index to the table, AttributeDefinitions
- // must include the key element(s) of the new index.
- AttributeDefinitions []*AttributeDefinition `type:"list"`
- // Controls how you are charged for read and write throughput and how you manage
- // capacity. When switching from pay-per-request to provisioned capacity, initial
- // provisioned capacity values must be set. The initial provisioned capacity
- // values are estimated based on the consumed read and write capacity of your
- // table and global secondary indexes over the past 30 minutes.
- //
- // * PROVISIONED - Sets the billing mode to PROVISIONED. We recommend using
- // PROVISIONED for predictable workloads.
- //
- // * PAY_PER_REQUEST - Sets the billing mode to PAY_PER_REQUEST. We recommend
- // using PAY_PER_REQUEST for unpredictable workloads.
- BillingMode *string `type:"string" enum:"BillingMode"`
- // An array of one or more global secondary indexes for the table. For each
- // index in the array, you can request one action:
- //
- // * Create - add a new global secondary index to the table.
- //
- // * Update - modify the provisioned throughput settings of an existing global
- // secondary index.
- //
- // * Delete - remove a global secondary index from the table.
- //
- // For more information, see Managing Global Secondary Indexes (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.OnlineOps.html)
- // in the Amazon DynamoDB Developer Guide.
- GlobalSecondaryIndexUpdates []*GlobalSecondaryIndexUpdate `type:"list"`
- // The new provisioned throughput settings for the specified table or index.
- ProvisionedThroughput *ProvisionedThroughput `type:"structure"`
- // The new server-side encryption settings for the specified table.
- SSESpecification *SSESpecification `type:"structure"`
- // Represents the DynamoDB Streams configuration for the table.
- //
- // You will receive a ResourceInUseException if you attempt to enable a stream
- // on a table that already has a stream, or if you attempt to disable a stream
- // on a table which does not have a stream.
- StreamSpecification *StreamSpecification `type:"structure"`
- // The name of the table to be updated.
- //
- // TableName is a required field
- TableName *string `min:"3" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s UpdateTableInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UpdateTableInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *UpdateTableInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateTableInput"}
- if s.TableName == nil {
- invalidParams.Add(request.NewErrParamRequired("TableName"))
- }
- if s.TableName != nil && len(*s.TableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
- }
- if s.AttributeDefinitions != nil {
- for i, v := range s.AttributeDefinitions {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AttributeDefinitions", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if s.GlobalSecondaryIndexUpdates != nil {
- for i, v := range s.GlobalSecondaryIndexUpdates {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GlobalSecondaryIndexUpdates", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if s.ProvisionedThroughput != nil {
- if err := s.ProvisionedThroughput.Validate(); err != nil {
- invalidParams.AddNested("ProvisionedThroughput", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAttributeDefinitions sets the AttributeDefinitions field's value.
- func (s *UpdateTableInput) SetAttributeDefinitions(v []*AttributeDefinition) *UpdateTableInput {
- s.AttributeDefinitions = v
- return s
- }
- // SetBillingMode sets the BillingMode field's value.
- func (s *UpdateTableInput) SetBillingMode(v string) *UpdateTableInput {
- s.BillingMode = &v
- return s
- }
- // SetGlobalSecondaryIndexUpdates sets the GlobalSecondaryIndexUpdates field's value.
- func (s *UpdateTableInput) SetGlobalSecondaryIndexUpdates(v []*GlobalSecondaryIndexUpdate) *UpdateTableInput {
- s.GlobalSecondaryIndexUpdates = v
- return s
- }
- // SetProvisionedThroughput sets the ProvisionedThroughput field's value.
- func (s *UpdateTableInput) SetProvisionedThroughput(v *ProvisionedThroughput) *UpdateTableInput {
- s.ProvisionedThroughput = v
- return s
- }
- // SetSSESpecification sets the SSESpecification field's value.
- func (s *UpdateTableInput) SetSSESpecification(v *SSESpecification) *UpdateTableInput {
- s.SSESpecification = v
- return s
- }
- // SetStreamSpecification sets the StreamSpecification field's value.
- func (s *UpdateTableInput) SetStreamSpecification(v *StreamSpecification) *UpdateTableInput {
- s.StreamSpecification = v
- return s
- }
- // SetTableName sets the TableName field's value.
- func (s *UpdateTableInput) SetTableName(v string) *UpdateTableInput {
- s.TableName = &v
- return s
- }
- // Represents the output of an UpdateTable operation.
- type UpdateTableOutput struct {
- _ struct{} `type:"structure"`
- // Represents the properties of the table.
- TableDescription *TableDescription `type:"structure"`
- }
- // String returns the string representation
- func (s UpdateTableOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UpdateTableOutput) GoString() string {
- return s.String()
- }
- // SetTableDescription sets the TableDescription field's value.
- func (s *UpdateTableOutput) SetTableDescription(v *TableDescription) *UpdateTableOutput {
- s.TableDescription = v
- return s
- }
- // Represents the input of an UpdateTimeToLive operation.
- type UpdateTimeToLiveInput struct {
- _ struct{} `type:"structure"`
- // The name of the table to be configured.
- //
- // TableName is a required field
- TableName *string `min:"3" type:"string" required:"true"`
- // Represents the settings used to enable or disable Time to Live for the specified
- // table.
- //
- // TimeToLiveSpecification is a required field
- TimeToLiveSpecification *TimeToLiveSpecification `type:"structure" required:"true"`
- }
- // String returns the string representation
- func (s UpdateTimeToLiveInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UpdateTimeToLiveInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *UpdateTimeToLiveInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateTimeToLiveInput"}
- if s.TableName == nil {
- invalidParams.Add(request.NewErrParamRequired("TableName"))
- }
- if s.TableName != nil && len(*s.TableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
- }
- if s.TimeToLiveSpecification == nil {
- invalidParams.Add(request.NewErrParamRequired("TimeToLiveSpecification"))
- }
- if s.TimeToLiveSpecification != nil {
- if err := s.TimeToLiveSpecification.Validate(); err != nil {
- invalidParams.AddNested("TimeToLiveSpecification", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetTableName sets the TableName field's value.
- func (s *UpdateTimeToLiveInput) SetTableName(v string) *UpdateTimeToLiveInput {
- s.TableName = &v
- return s
- }
- // SetTimeToLiveSpecification sets the TimeToLiveSpecification field's value.
- func (s *UpdateTimeToLiveInput) SetTimeToLiveSpecification(v *TimeToLiveSpecification) *UpdateTimeToLiveInput {
- s.TimeToLiveSpecification = v
- return s
- }
- type UpdateTimeToLiveOutput struct {
- _ struct{} `type:"structure"`
- // Represents the output of an UpdateTimeToLive operation.
- TimeToLiveSpecification *TimeToLiveSpecification `type:"structure"`
- }
- // String returns the string representation
- func (s UpdateTimeToLiveOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UpdateTimeToLiveOutput) GoString() string {
- return s.String()
- }
- // SetTimeToLiveSpecification sets the TimeToLiveSpecification field's value.
- func (s *UpdateTimeToLiveOutput) SetTimeToLiveSpecification(v *TimeToLiveSpecification) *UpdateTimeToLiveOutput {
- s.TimeToLiveSpecification = v
- return s
- }
- // Represents an operation to perform - either DeleteItem or PutItem. You can
- // only request one of these operations, not both, in a single WriteRequest.
- // If you do need to perform both of these operations, you will need to provide
- // two separate WriteRequest objects.
- type WriteRequest struct {
- _ struct{} `type:"structure"`
- // A request to perform a DeleteItem operation.
- DeleteRequest *DeleteRequest `type:"structure"`
- // A request to perform a PutItem operation.
- PutRequest *PutRequest `type:"structure"`
- }
- // String returns the string representation
- func (s WriteRequest) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s WriteRequest) GoString() string {
- return s.String()
- }
- // SetDeleteRequest sets the DeleteRequest field's value.
- func (s *WriteRequest) SetDeleteRequest(v *DeleteRequest) *WriteRequest {
- s.DeleteRequest = v
- return s
- }
- // SetPutRequest sets the PutRequest field's value.
- func (s *WriteRequest) SetPutRequest(v *PutRequest) *WriteRequest {
- s.PutRequest = v
- return s
- }
- const (
- // AttributeActionAdd is a AttributeAction enum value
- AttributeActionAdd = "ADD"
- // AttributeActionPut is a AttributeAction enum value
- AttributeActionPut = "PUT"
- // AttributeActionDelete is a AttributeAction enum value
- AttributeActionDelete = "DELETE"
- )
- const (
- // BackupStatusCreating is a BackupStatus enum value
- BackupStatusCreating = "CREATING"
- // BackupStatusDeleted is a BackupStatus enum value
- BackupStatusDeleted = "DELETED"
- // BackupStatusAvailable is a BackupStatus enum value
- BackupStatusAvailable = "AVAILABLE"
- )
- const (
- // BackupTypeUser is a BackupType enum value
- BackupTypeUser = "USER"
- // BackupTypeSystem is a BackupType enum value
- BackupTypeSystem = "SYSTEM"
- // BackupTypeAwsBackup is a BackupType enum value
- BackupTypeAwsBackup = "AWS_BACKUP"
- )
- const (
- // BackupTypeFilterUser is a BackupTypeFilter enum value
- BackupTypeFilterUser = "USER"
- // BackupTypeFilterSystem is a BackupTypeFilter enum value
- BackupTypeFilterSystem = "SYSTEM"
- // BackupTypeFilterAwsBackup is a BackupTypeFilter enum value
- BackupTypeFilterAwsBackup = "AWS_BACKUP"
- // BackupTypeFilterAll is a BackupTypeFilter enum value
- BackupTypeFilterAll = "ALL"
- )
- const (
- // BillingModeProvisioned is a BillingMode enum value
- BillingModeProvisioned = "PROVISIONED"
- // BillingModePayPerRequest is a BillingMode enum value
- BillingModePayPerRequest = "PAY_PER_REQUEST"
- )
- const (
- // ComparisonOperatorEq is a ComparisonOperator enum value
- ComparisonOperatorEq = "EQ"
- // ComparisonOperatorNe is a ComparisonOperator enum value
- ComparisonOperatorNe = "NE"
- // ComparisonOperatorIn is a ComparisonOperator enum value
- ComparisonOperatorIn = "IN"
- // ComparisonOperatorLe is a ComparisonOperator enum value
- ComparisonOperatorLe = "LE"
- // ComparisonOperatorLt is a ComparisonOperator enum value
- ComparisonOperatorLt = "LT"
- // ComparisonOperatorGe is a ComparisonOperator enum value
- ComparisonOperatorGe = "GE"
- // ComparisonOperatorGt is a ComparisonOperator enum value
- ComparisonOperatorGt = "GT"
- // ComparisonOperatorBetween is a ComparisonOperator enum value
- ComparisonOperatorBetween = "BETWEEN"
- // ComparisonOperatorNotNull is a ComparisonOperator enum value
- ComparisonOperatorNotNull = "NOT_NULL"
- // ComparisonOperatorNull is a ComparisonOperator enum value
- ComparisonOperatorNull = "NULL"
- // ComparisonOperatorContains is a ComparisonOperator enum value
- ComparisonOperatorContains = "CONTAINS"
- // ComparisonOperatorNotContains is a ComparisonOperator enum value
- ComparisonOperatorNotContains = "NOT_CONTAINS"
- // ComparisonOperatorBeginsWith is a ComparisonOperator enum value
- ComparisonOperatorBeginsWith = "BEGINS_WITH"
- )
- const (
- // ConditionalOperatorAnd is a ConditionalOperator enum value
- ConditionalOperatorAnd = "AND"
- // ConditionalOperatorOr is a ConditionalOperator enum value
- ConditionalOperatorOr = "OR"
- )
- const (
- // ContinuousBackupsStatusEnabled is a ContinuousBackupsStatus enum value
- ContinuousBackupsStatusEnabled = "ENABLED"
- // ContinuousBackupsStatusDisabled is a ContinuousBackupsStatus enum value
- ContinuousBackupsStatusDisabled = "DISABLED"
- )
- const (
- // GlobalTableStatusCreating is a GlobalTableStatus enum value
- GlobalTableStatusCreating = "CREATING"
- // GlobalTableStatusActive is a GlobalTableStatus enum value
- GlobalTableStatusActive = "ACTIVE"
- // GlobalTableStatusDeleting is a GlobalTableStatus enum value
- GlobalTableStatusDeleting = "DELETING"
- // GlobalTableStatusUpdating is a GlobalTableStatus enum value
- GlobalTableStatusUpdating = "UPDATING"
- )
- const (
- // IndexStatusCreating is a IndexStatus enum value
- IndexStatusCreating = "CREATING"
- // IndexStatusUpdating is a IndexStatus enum value
- IndexStatusUpdating = "UPDATING"
- // IndexStatusDeleting is a IndexStatus enum value
- IndexStatusDeleting = "DELETING"
- // IndexStatusActive is a IndexStatus enum value
- IndexStatusActive = "ACTIVE"
- )
- const (
- // KeyTypeHash is a KeyType enum value
- KeyTypeHash = "HASH"
- // KeyTypeRange is a KeyType enum value
- KeyTypeRange = "RANGE"
- )
- const (
- // PointInTimeRecoveryStatusEnabled is a PointInTimeRecoveryStatus enum value
- PointInTimeRecoveryStatusEnabled = "ENABLED"
- // PointInTimeRecoveryStatusDisabled is a PointInTimeRecoveryStatus enum value
- PointInTimeRecoveryStatusDisabled = "DISABLED"
- )
- const (
- // ProjectionTypeAll is a ProjectionType enum value
- ProjectionTypeAll = "ALL"
- // ProjectionTypeKeysOnly is a ProjectionType enum value
- ProjectionTypeKeysOnly = "KEYS_ONLY"
- // ProjectionTypeInclude is a ProjectionType enum value
- ProjectionTypeInclude = "INCLUDE"
- )
- const (
- // ReplicaStatusCreating is a ReplicaStatus enum value
- ReplicaStatusCreating = "CREATING"
- // ReplicaStatusUpdating is a ReplicaStatus enum value
- ReplicaStatusUpdating = "UPDATING"
- // ReplicaStatusDeleting is a ReplicaStatus enum value
- ReplicaStatusDeleting = "DELETING"
- // ReplicaStatusActive is a ReplicaStatus enum value
- ReplicaStatusActive = "ACTIVE"
- )
- // Determines the level of detail about provisioned throughput consumption that
- // is returned in the response:
- //
- // * INDEXES - The response includes the aggregate ConsumedCapacity for the
- // operation, together with ConsumedCapacity for each table and secondary
- // index that was accessed.
- //
- // Note that some operations, such as GetItem and BatchGetItem, do not access
- // any indexes at all. In these cases, specifying INDEXES will only return
- // ConsumedCapacity information for table(s).
- //
- // * TOTAL - The response includes only the aggregate ConsumedCapacity for
- // the operation.
- //
- // * NONE - No ConsumedCapacity details are included in the response.
- const (
- // ReturnConsumedCapacityIndexes is a ReturnConsumedCapacity enum value
- ReturnConsumedCapacityIndexes = "INDEXES"
- // ReturnConsumedCapacityTotal is a ReturnConsumedCapacity enum value
- ReturnConsumedCapacityTotal = "TOTAL"
- // ReturnConsumedCapacityNone is a ReturnConsumedCapacity enum value
- ReturnConsumedCapacityNone = "NONE"
- )
- const (
- // ReturnItemCollectionMetricsSize is a ReturnItemCollectionMetrics enum value
- ReturnItemCollectionMetricsSize = "SIZE"
- // ReturnItemCollectionMetricsNone is a ReturnItemCollectionMetrics enum value
- ReturnItemCollectionMetricsNone = "NONE"
- )
- const (
- // ReturnValueNone is a ReturnValue enum value
- ReturnValueNone = "NONE"
- // ReturnValueAllOld is a ReturnValue enum value
- ReturnValueAllOld = "ALL_OLD"
- // ReturnValueUpdatedOld is a ReturnValue enum value
- ReturnValueUpdatedOld = "UPDATED_OLD"
- // ReturnValueAllNew is a ReturnValue enum value
- ReturnValueAllNew = "ALL_NEW"
- // ReturnValueUpdatedNew is a ReturnValue enum value
- ReturnValueUpdatedNew = "UPDATED_NEW"
- )
- const (
- // ReturnValuesOnConditionCheckFailureAllOld is a ReturnValuesOnConditionCheckFailure enum value
- ReturnValuesOnConditionCheckFailureAllOld = "ALL_OLD"
- // ReturnValuesOnConditionCheckFailureNone is a ReturnValuesOnConditionCheckFailure enum value
- ReturnValuesOnConditionCheckFailureNone = "NONE"
- )
- const (
- // SSEStatusEnabling is a SSEStatus enum value
- SSEStatusEnabling = "ENABLING"
- // SSEStatusEnabled is a SSEStatus enum value
- SSEStatusEnabled = "ENABLED"
- // SSEStatusDisabling is a SSEStatus enum value
- SSEStatusDisabling = "DISABLING"
- // SSEStatusDisabled is a SSEStatus enum value
- SSEStatusDisabled = "DISABLED"
- // SSEStatusUpdating is a SSEStatus enum value
- SSEStatusUpdating = "UPDATING"
- )
- const (
- // SSETypeAes256 is a SSEType enum value
- SSETypeAes256 = "AES256"
- // SSETypeKms is a SSEType enum value
- SSETypeKms = "KMS"
- )
- const (
- // ScalarAttributeTypeS is a ScalarAttributeType enum value
- ScalarAttributeTypeS = "S"
- // ScalarAttributeTypeN is a ScalarAttributeType enum value
- ScalarAttributeTypeN = "N"
- // ScalarAttributeTypeB is a ScalarAttributeType enum value
- ScalarAttributeTypeB = "B"
- )
- const (
- // SelectAllAttributes is a Select enum value
- SelectAllAttributes = "ALL_ATTRIBUTES"
- // SelectAllProjectedAttributes is a Select enum value
- SelectAllProjectedAttributes = "ALL_PROJECTED_ATTRIBUTES"
- // SelectSpecificAttributes is a Select enum value
- SelectSpecificAttributes = "SPECIFIC_ATTRIBUTES"
- // SelectCount is a Select enum value
- SelectCount = "COUNT"
- )
- const (
- // StreamViewTypeNewImage is a StreamViewType enum value
- StreamViewTypeNewImage = "NEW_IMAGE"
- // StreamViewTypeOldImage is a StreamViewType enum value
- StreamViewTypeOldImage = "OLD_IMAGE"
- // StreamViewTypeNewAndOldImages is a StreamViewType enum value
- StreamViewTypeNewAndOldImages = "NEW_AND_OLD_IMAGES"
- // StreamViewTypeKeysOnly is a StreamViewType enum value
- StreamViewTypeKeysOnly = "KEYS_ONLY"
- )
- const (
- // TableStatusCreating is a TableStatus enum value
- TableStatusCreating = "CREATING"
- // TableStatusUpdating is a TableStatus enum value
- TableStatusUpdating = "UPDATING"
- // TableStatusDeleting is a TableStatus enum value
- TableStatusDeleting = "DELETING"
- // TableStatusActive is a TableStatus enum value
- TableStatusActive = "ACTIVE"
- )
- const (
- // TimeToLiveStatusEnabling is a TimeToLiveStatus enum value
- TimeToLiveStatusEnabling = "ENABLING"
- // TimeToLiveStatusDisabling is a TimeToLiveStatus enum value
- TimeToLiveStatusDisabling = "DISABLING"
- // TimeToLiveStatusEnabled is a TimeToLiveStatus enum value
- TimeToLiveStatusEnabled = "ENABLED"
- // TimeToLiveStatusDisabled is a TimeToLiveStatus enum value
- TimeToLiveStatusDisabled = "DISABLED"
- )
|