| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559255602556125562255632556425565255662556725568255692557025571255722557325574255752557625577255782557925580255812558225583255842558525586255872558825589255902559125592255932559425595255962559725598255992560025601256022560325604256052560625607256082560925610256112561225613256142561525616256172561825619256202562125622256232562425625256262562725628256292563025631256322563325634256352563625637256382563925640256412564225643256442564525646256472564825649256502565125652256532565425655256562565725658256592566025661256622566325664256652566625667256682566925670256712567225673256742567525676256772567825679256802568125682256832568425685256862568725688256892569025691256922569325694256952569625697256982569925700257012570225703257042570525706257072570825709257102571125712257132571425715257162571725718257192572025721257222572325724257252572625727257282572925730257312573225733257342573525736257372573825739257402574125742257432574425745257462574725748257492575025751257522575325754257552575625757257582575925760257612576225763257642576525766257672576825769257702577125772257732577425775257762577725778257792578025781257822578325784257852578625787257882578925790257912579225793257942579525796257972579825799258002580125802258032580425805258062580725808258092581025811258122581325814258152581625817258182581925820258212582225823258242582525826258272582825829258302583125832258332583425835258362583725838258392584025841258422584325844258452584625847258482584925850258512585225853258542585525856258572585825859258602586125862258632586425865258662586725868258692587025871258722587325874258752587625877258782587925880258812588225883258842588525886258872588825889258902589125892258932589425895258962589725898258992590025901259022590325904259052590625907259082590925910259112591225913259142591525916259172591825919259202592125922259232592425925259262592725928259292593025931259322593325934259352593625937259382593925940259412594225943259442594525946259472594825949259502595125952259532595425955259562595725958259592596025961259622596325964259652596625967259682596925970259712597225973259742597525976259772597825979259802598125982259832598425985259862598725988259892599025991259922599325994259952599625997259982599926000260012600226003260042600526006260072600826009260102601126012260132601426015260162601726018260192602026021260222602326024260252602626027260282602926030260312603226033260342603526036260372603826039260402604126042260432604426045260462604726048260492605026051260522605326054260552605626057260582605926060260612606226063260642606526066260672606826069260702607126072260732607426075260762607726078260792608026081260822608326084260852608626087260882608926090260912609226093260942609526096260972609826099261002610126102261032610426105261062610726108261092611026111261122611326114261152611626117261182611926120261212612226123261242612526126261272612826129261302613126132261332613426135261362613726138261392614026141261422614326144261452614626147261482614926150261512615226153261542615526156261572615826159261602616126162261632616426165261662616726168261692617026171261722617326174261752617626177261782617926180261812618226183261842618526186261872618826189261902619126192261932619426195261962619726198261992620026201262022620326204262052620626207262082620926210262112621226213262142621526216262172621826219262202622126222262232622426225262262622726228262292623026231262322623326234262352623626237262382623926240262412624226243262442624526246262472624826249262502625126252262532625426255262562625726258262592626026261262622626326264262652626626267262682626926270262712627226273262742627526276262772627826279262802628126282262832628426285262862628726288262892629026291262922629326294262952629626297262982629926300263012630226303263042630526306263072630826309263102631126312263132631426315263162631726318263192632026321263222632326324263252632626327263282632926330263312633226333263342633526336263372633826339263402634126342263432634426345263462634726348263492635026351263522635326354263552635626357263582635926360263612636226363263642636526366263672636826369263702637126372263732637426375263762637726378263792638026381263822638326384263852638626387263882638926390263912639226393263942639526396263972639826399264002640126402264032640426405264062640726408264092641026411264122641326414264152641626417264182641926420264212642226423264242642526426264272642826429264302643126432264332643426435264362643726438264392644026441264422644326444264452644626447264482644926450264512645226453264542645526456264572645826459264602646126462264632646426465264662646726468264692647026471264722647326474264752647626477264782647926480264812648226483264842648526486264872648826489264902649126492264932649426495264962649726498264992650026501265022650326504265052650626507265082650926510265112651226513265142651526516265172651826519265202652126522265232652426525265262652726528265292653026531265322653326534265352653626537265382653926540265412654226543265442654526546265472654826549265502655126552265532655426555265562655726558265592656026561265622656326564265652656626567265682656926570265712657226573265742657526576265772657826579265802658126582265832658426585265862658726588265892659026591265922659326594265952659626597265982659926600266012660226603266042660526606266072660826609266102661126612266132661426615266162661726618266192662026621266222662326624266252662626627266282662926630266312663226633266342663526636266372663826639266402664126642266432664426645266462664726648266492665026651266522665326654266552665626657266582665926660266612666226663266642666526666266672666826669266702667126672266732667426675266762667726678266792668026681266822668326684266852668626687266882668926690266912669226693266942669526696266972669826699267002670126702267032670426705267062670726708267092671026711267122671326714267152671626717267182671926720267212672226723267242672526726267272672826729267302673126732267332673426735267362673726738267392674026741267422674326744267452674626747267482674926750267512675226753267542675526756267572675826759267602676126762267632676426765267662676726768267692677026771267722677326774267752677626777267782677926780267812678226783267842678526786267872678826789267902679126792267932679426795267962679726798267992680026801268022680326804268052680626807268082680926810268112681226813268142681526816268172681826819268202682126822268232682426825268262682726828268292683026831268322683326834268352683626837268382683926840268412684226843268442684526846268472684826849268502685126852268532685426855268562685726858268592686026861268622686326864268652686626867268682686926870268712687226873268742687526876268772687826879268802688126882268832688426885268862688726888268892689026891268922689326894268952689626897268982689926900269012690226903269042690526906269072690826909269102691126912269132691426915269162691726918269192692026921269222692326924269252692626927269282692926930269312693226933269342693526936269372693826939269402694126942269432694426945269462694726948269492695026951269522695326954269552695626957269582695926960269612696226963269642696526966269672696826969269702697126972269732697426975269762697726978269792698026981269822698326984269852698626987269882698926990269912699226993269942699526996269972699826999270002700127002270032700427005270062700727008270092701027011270122701327014270152701627017270182701927020270212702227023270242702527026270272702827029270302703127032270332703427035270362703727038270392704027041270422704327044270452704627047270482704927050270512705227053270542705527056270572705827059270602706127062270632706427065270662706727068270692707027071270722707327074270752707627077270782707927080270812708227083270842708527086270872708827089270902709127092270932709427095270962709727098270992710027101271022710327104271052710627107271082710927110271112711227113271142711527116271172711827119271202712127122271232712427125271262712727128271292713027131271322713327134271352713627137271382713927140271412714227143271442714527146271472714827149271502715127152271532715427155271562715727158271592716027161271622716327164271652716627167271682716927170271712717227173271742717527176271772717827179271802718127182271832718427185271862718727188271892719027191271922719327194271952719627197271982719927200272012720227203272042720527206272072720827209272102721127212272132721427215272162721727218272192722027221272222722327224272252722627227272282722927230272312723227233272342723527236272372723827239272402724127242272432724427245272462724727248272492725027251272522725327254272552725627257272582725927260272612726227263272642726527266272672726827269272702727127272272732727427275272762727727278272792728027281272822728327284272852728627287272882728927290272912729227293272942729527296272972729827299273002730127302273032730427305273062730727308273092731027311273122731327314273152731627317273182731927320273212732227323273242732527326273272732827329273302733127332273332733427335273362733727338273392734027341273422734327344273452734627347273482734927350273512735227353273542735527356273572735827359273602736127362273632736427365273662736727368273692737027371273722737327374273752737627377273782737927380273812738227383273842738527386273872738827389273902739127392273932739427395273962739727398273992740027401274022740327404274052740627407274082740927410274112741227413274142741527416274172741827419274202742127422274232742427425274262742727428274292743027431274322743327434274352743627437274382743927440274412744227443274442744527446274472744827449274502745127452274532745427455274562745727458274592746027461274622746327464274652746627467274682746927470274712747227473274742747527476274772747827479274802748127482274832748427485274862748727488274892749027491274922749327494274952749627497274982749927500275012750227503275042750527506275072750827509275102751127512275132751427515275162751727518275192752027521275222752327524275252752627527275282752927530275312753227533275342753527536275372753827539275402754127542275432754427545275462754727548275492755027551275522755327554275552755627557275582755927560275612756227563275642756527566275672756827569275702757127572275732757427575275762757727578275792758027581275822758327584275852758627587275882758927590275912759227593275942759527596275972759827599276002760127602276032760427605276062760727608276092761027611276122761327614276152761627617276182761927620276212762227623276242762527626276272762827629276302763127632276332763427635276362763727638276392764027641276422764327644276452764627647276482764927650276512765227653276542765527656276572765827659276602766127662276632766427665276662766727668276692767027671 |
- // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
- package organizations
- import (
- "fmt"
- "time"
- "github.com/aws/aws-sdk-go/aws"
- "github.com/aws/aws-sdk-go/aws/awsutil"
- "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 opAcceptHandshake = "AcceptHandshake"
- // AcceptHandshakeRequest generates a "aws/request.Request" representing the
- // client's request for the AcceptHandshake 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 AcceptHandshake for more information on using the AcceptHandshake
- // 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 AcceptHandshakeRequest method.
- // req, resp := client.AcceptHandshakeRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/AcceptHandshake
- func (c *Organizations) AcceptHandshakeRequest(input *AcceptHandshakeInput) (req *request.Request, output *AcceptHandshakeOutput) {
- op := &request.Operation{
- Name: opAcceptHandshake,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &AcceptHandshakeInput{}
- }
- output = &AcceptHandshakeOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // AcceptHandshake API operation for AWS Organizations.
- //
- // Sends a response to the originator of a handshake agreeing to the action
- // proposed by the handshake request.
- //
- // You can only call this operation by the following principals when they also
- // have the relevant IAM permissions:
- //
- // - Invitation to join or Approve all features request handshakes: only
- // a principal from the member account. The user who calls the API for an
- // invitation to join must have the organizations:AcceptHandshake permission.
- // If you enabled all features in the organization, the user must also have
- // the iam:CreateServiceLinkedRole permission so that Organizations can create
- // the required service-linked role named AWSServiceRoleForOrganizations.
- // For more information, see Organizations and Service-Linked Roles (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integration_services.html#orgs_integration_service-linked-roles)
- // in the Organizations User Guide.
- //
- // - Enable all features final confirmation handshake: only a principal from
- // the management account. For more information about invitations, see Inviting
- // an Amazon Web Services account to join your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_invites.html)
- // in the Organizations User Guide. For more information about requests to
- // enable all features in the organization, see Enabling all features in
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html)
- // in the Organizations User Guide.
- //
- // After you accept a handshake, it continues to appear in the results of relevant
- // APIs for only 30 days. After that, it's 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 AWS Organizations's
- // API operation AcceptHandshake for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - HandshakeConstraintViolationException
- // The requested operation would violate the constraint identified in the reason
- // code.
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation:
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. Note that deleted and closed
- // accounts still count toward your limit. If you get this exception immediately
- // after creating the organization, wait one hour and try again. If after
- // an hour it continues to fail with this error, contact Amazon Web Services
- // Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - ALREADY_IN_AN_ORGANIZATION: The handshake request is invalid because
- // the invited account is already a member of an organization.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVITE_DISABLED_DURING_ENABLE_ALL_FEATURES: You can't issue new invitations
- // to join an organization while it's in the process of enabling all features.
- // You can resume inviting accounts after you finalize the process when all
- // accounts have agreed to the change.
- //
- // - ORGANIZATION_ALREADY_HAS_ALL_FEATURES: The handshake request is invalid
- // because the organization has already enabled all features.
- //
- // - ORGANIZATION_IS_ALREADY_PENDING_ALL_FEATURES_MIGRATION: The handshake
- // request is invalid because the organization has already started the process
- // to enable all features.
- //
- // - ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD: The request failed because
- // the account is from a different marketplace than the accounts in the organization.
- // For example, accounts with India addresses must be associated with the
- // AISPL marketplace. All accounts in an organization must be from the same
- // marketplace.
- //
- // - ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED: You attempted to
- // change the membership of an account too quickly after its previous change.
- //
- // - PAYMENT_INSTRUMENT_REQUIRED: You can't complete the operation with an
- // account that doesn't have a payment instrument, such as a credit card,
- // associated with it.
- //
- // - HandshakeNotFoundException
- // We can't find a handshake with the HandshakeId that you specified.
- //
- // - InvalidHandshakeTransitionException
- // You can't perform the operation on the handshake in its current state. For
- // example, you can't cancel a handshake that was already accepted or accept
- // a handshake that was already declined.
- //
- // - HandshakeAlreadyInStateException
- // The specified handshake is already in the requested state. For example, you
- // can't accept a handshake that was already accepted.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - AccessDeniedForDependencyException
- // The operation that you attempted requires you to have the iam:CreateServiceLinkedRole
- // for organizations.amazonaws.com permission so that Organizations can create
- // the required service-linked role. You don't have that permission.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/AcceptHandshake
- func (c *Organizations) AcceptHandshake(input *AcceptHandshakeInput) (*AcceptHandshakeOutput, error) {
- req, out := c.AcceptHandshakeRequest(input)
- return out, req.Send()
- }
- // AcceptHandshakeWithContext is the same as AcceptHandshake with the addition of
- // the ability to pass a context and additional request options.
- //
- // See AcceptHandshake 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 *Organizations) AcceptHandshakeWithContext(ctx aws.Context, input *AcceptHandshakeInput, opts ...request.Option) (*AcceptHandshakeOutput, error) {
- req, out := c.AcceptHandshakeRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opAttachPolicy = "AttachPolicy"
- // AttachPolicyRequest generates a "aws/request.Request" representing the
- // client's request for the AttachPolicy 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 AttachPolicy for more information on using the AttachPolicy
- // 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 AttachPolicyRequest method.
- // req, resp := client.AttachPolicyRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/AttachPolicy
- func (c *Organizations) AttachPolicyRequest(input *AttachPolicyInput) (req *request.Request, output *AttachPolicyOutput) {
- op := &request.Operation{
- Name: opAttachPolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &AttachPolicyInput{}
- }
- output = &AttachPolicyOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
- }
- // AttachPolicy API operation for AWS Organizations.
- //
- // Attaches a policy to a root, an organizational unit (OU), or an individual
- // account. How the policy affects accounts depends on the type of policy. Refer
- // to the Organizations User Guide for information about each policy type:
- //
- // - AISERVICES_OPT_OUT_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html)
- //
- // - BACKUP_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html)
- //
- // - SERVICE_CONTROL_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html)
- //
- // - TAG_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html)
- //
- // This operation can be called only from the organization's management account.
- //
- // 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 AWS Organizations's
- // API operation AttachPolicy for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // - DuplicatePolicyAttachmentException
- // The selected policy is already attached to the specified target.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - PolicyNotFoundException
- // We can't find a policy with the PolicyId that you specified.
- //
- // - PolicyTypeNotEnabledException
- // The specified policy type isn't currently enabled in this root. You can't
- // attach policies of the specified type to entities in a root until you enable
- // that type in the root. For more information, see Enabling All Features in
- // Your Organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html)
- // in the Organizations User Guide.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TargetNotFoundException
- // We can't find a root, OU, account, or policy with the TargetId that you specified.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // - PolicyChangesInProgressException
- // Changes to the effective policy are in progress, and its contents can't be
- // returned. Try the operation again later.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/AttachPolicy
- func (c *Organizations) AttachPolicy(input *AttachPolicyInput) (*AttachPolicyOutput, error) {
- req, out := c.AttachPolicyRequest(input)
- return out, req.Send()
- }
- // AttachPolicyWithContext is the same as AttachPolicy with the addition of
- // the ability to pass a context and additional request options.
- //
- // See AttachPolicy 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 *Organizations) AttachPolicyWithContext(ctx aws.Context, input *AttachPolicyInput, opts ...request.Option) (*AttachPolicyOutput, error) {
- req, out := c.AttachPolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opCancelHandshake = "CancelHandshake"
- // CancelHandshakeRequest generates a "aws/request.Request" representing the
- // client's request for the CancelHandshake 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 CancelHandshake for more information on using the CancelHandshake
- // 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 CancelHandshakeRequest method.
- // req, resp := client.CancelHandshakeRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/CancelHandshake
- func (c *Organizations) CancelHandshakeRequest(input *CancelHandshakeInput) (req *request.Request, output *CancelHandshakeOutput) {
- op := &request.Operation{
- Name: opCancelHandshake,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &CancelHandshakeInput{}
- }
- output = &CancelHandshakeOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // CancelHandshake API operation for AWS Organizations.
- //
- // Cancels a handshake. Canceling a handshake sets the handshake state to CANCELED.
- //
- // This operation can be called only from the account that originated the handshake.
- // The recipient of the handshake can't cancel it, but can use DeclineHandshake
- // instead. After a handshake is canceled, the recipient can no longer respond
- // to that handshake.
- //
- // After you cancel a handshake, it continues to appear in the results of relevant
- // APIs for only 30 days. After that, it's 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 AWS Organizations's
- // API operation CancelHandshake for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - HandshakeNotFoundException
- // We can't find a handshake with the HandshakeId that you specified.
- //
- // - InvalidHandshakeTransitionException
- // You can't perform the operation on the handshake in its current state. For
- // example, you can't cancel a handshake that was already accepted or accept
- // a handshake that was already declined.
- //
- // - HandshakeAlreadyInStateException
- // The specified handshake is already in the requested state. For example, you
- // can't accept a handshake that was already accepted.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/CancelHandshake
- func (c *Organizations) CancelHandshake(input *CancelHandshakeInput) (*CancelHandshakeOutput, error) {
- req, out := c.CancelHandshakeRequest(input)
- return out, req.Send()
- }
- // CancelHandshakeWithContext is the same as CancelHandshake with the addition of
- // the ability to pass a context and additional request options.
- //
- // See CancelHandshake 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 *Organizations) CancelHandshakeWithContext(ctx aws.Context, input *CancelHandshakeInput, opts ...request.Option) (*CancelHandshakeOutput, error) {
- req, out := c.CancelHandshakeRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opCloseAccount = "CloseAccount"
- // CloseAccountRequest generates a "aws/request.Request" representing the
- // client's request for the CloseAccount 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 CloseAccount for more information on using the CloseAccount
- // 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 CloseAccountRequest method.
- // req, resp := client.CloseAccountRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/CloseAccount
- func (c *Organizations) CloseAccountRequest(input *CloseAccountInput) (req *request.Request, output *CloseAccountOutput) {
- op := &request.Operation{
- Name: opCloseAccount,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &CloseAccountInput{}
- }
- output = &CloseAccountOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
- }
- // CloseAccount API operation for AWS Organizations.
- //
- // Closes an Amazon Web Services member account within an organization. You
- // can't close the management account with this API. This is an asynchronous
- // request that Amazon Web Services performs in the background. Because CloseAccount
- // operates asynchronously, it can return a successful completion message even
- // though account closure might still be in progress. You need to wait a few
- // minutes before the account is fully closed. To check the status of the request,
- // do one of the following:
- //
- // - Use the AccountId that you sent in the CloseAccount request to provide
- // as a parameter to the DescribeAccount operation. While the close account
- // request is in progress, Account status will indicate PENDING_CLOSURE.
- // When the close account request completes, the status will change to SUSPENDED.
- //
- // - Check the CloudTrail log for the CloseAccountResult event that gets
- // published after the account closes successfully. For information on using
- // CloudTrail with Organizations, see Logging and monitoring in Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_security_incident-response.html#orgs_cloudtrail-integration)
- // in the Organizations User Guide.
- //
- // - You can only close 10% of active member accounts within a rolling 30
- // day period. This quota is not bound by a calendar month, but starts when
- // you close an account. Within 30 days of that initial account closure,
- // you can't exceed the 10% account closure limit.
- //
- // - To reinstate a closed account, contact Amazon Web Services Support within
- // the 90-day grace period while the account is in SUSPENDED status.
- //
- // - If the Amazon Web Services account you attempt to close is linked to
- // an Amazon Web Services GovCloud (US) account, the CloseAccount request
- // will close both accounts. To learn important pre-closure details, see
- // Closing an Amazon Web Services GovCloud (US) account (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/Closing-govcloud-account.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // For more information about closing accounts, see Closing an Amazon Web Services
- // account (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_close.html)
- // in the Organizations User 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 AWS Organizations's
- // API operation CloseAccount for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AccountAlreadyClosedException
- // You attempted to close an account that is already closed.
- //
- // - AccountNotFoundException
- // We can't find an Amazon Web Services account with the AccountId that you
- // specified, or the account whose credentials you used to make this request
- // isn't a member of an organization.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - ConflictException
- // The request failed because it conflicts with the current state of the specified
- // resource.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/CloseAccount
- func (c *Organizations) CloseAccount(input *CloseAccountInput) (*CloseAccountOutput, error) {
- req, out := c.CloseAccountRequest(input)
- return out, req.Send()
- }
- // CloseAccountWithContext is the same as CloseAccount with the addition of
- // the ability to pass a context and additional request options.
- //
- // See CloseAccount 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 *Organizations) CloseAccountWithContext(ctx aws.Context, input *CloseAccountInput, opts ...request.Option) (*CloseAccountOutput, error) {
- req, out := c.CloseAccountRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opCreateAccount = "CreateAccount"
- // CreateAccountRequest generates a "aws/request.Request" representing the
- // client's request for the CreateAccount 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 CreateAccount for more information on using the CreateAccount
- // 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 CreateAccountRequest method.
- // req, resp := client.CreateAccountRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/CreateAccount
- func (c *Organizations) CreateAccountRequest(input *CreateAccountInput) (req *request.Request, output *CreateAccountOutput) {
- op := &request.Operation{
- Name: opCreateAccount,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &CreateAccountInput{}
- }
- output = &CreateAccountOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // CreateAccount API operation for AWS Organizations.
- //
- // Creates an Amazon Web Services account that is automatically a member of
- // the organization whose credentials made the request. This is an asynchronous
- // request that Amazon Web Services performs in the background. Because CreateAccount
- // operates asynchronously, it can return a successful completion message even
- // though account initialization might still be in progress. You might need
- // to wait a few minutes before you can successfully access the account. To
- // check the status of the request, do one of the following:
- //
- // - Use the Id value of the CreateAccountStatus response element from this
- // operation to provide as a parameter to the DescribeCreateAccountStatus
- // operation.
- //
- // - Check the CloudTrail log for the CreateAccountResult event. For information
- // on using CloudTrail with Organizations, see Logging and monitoring in
- // Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_security_incident-response.html#orgs_cloudtrail-integration)
- // in the Organizations User Guide.
- //
- // The user who calls the API to create an account must have the organizations:CreateAccount
- // permission. If you enabled all features in the organization, Organizations
- // creates the required service-linked role named AWSServiceRoleForOrganizations.
- // For more information, see Organizations and Service-Linked Roles (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services.html#orgs_integrate_services-using_slrs)
- // in the Organizations User Guide.
- //
- // If the request includes tags, then the requester must have the organizations:TagResource
- // permission.
- //
- // Organizations preconfigures the new member account with a role (named OrganizationAccountAccessRole
- // by default) that grants users in the management account administrator permissions
- // in the new member account. Principals in the management account can assume
- // the role. Organizations clones the company name and address information for
- // the new account from the organization's management account.
- //
- // This operation can be called only from the organization's management account.
- //
- // For more information about creating accounts, see Creating an Amazon Web
- // Services account in Your Organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_create.html)
- // in the Organizations User Guide.
- //
- // - When you create an account in an organization using the Organizations
- // console, API, or CLI commands, the information required for the account
- // to operate as a standalone account, such as a payment method and signing
- // the end user license agreement (EULA) is not automatically collected.
- // If you must remove an account from your organization later, you can do
- // so only after you provide the missing information. Follow the steps at
- // To leave an organization as a member account (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - If you get an exception that indicates that you exceeded your account
- // limits for the organization, contact Amazon Web Services Support (https://console.aws.amazon.com/support/home#/).
- //
- // - If you get an exception that indicates that the operation failed because
- // your organization is still initializing, wait one hour and then try again.
- // If the error persists, contact Amazon Web Services Support (https://console.aws.amazon.com/support/home#/).
- //
- // - Using CreateAccount to create multiple temporary accounts isn't recommended.
- // You can only close an account from the Billing and Cost Management console,
- // and you must be signed in as the root user. For information on the requirements
- // and process for closing an account, see Closing an Amazon Web Services
- // account (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_close.html)
- // in the Organizations User Guide.
- //
- // When you create a member account with this operation, you can choose whether
- // to create the account with the IAM User and Role Access to Billing Information
- // switch enabled. If you enable it, IAM users and roles that have appropriate
- // permissions can view billing information for the account. If you disable
- // it, only the account root user can access billing information. For information
- // about how to disable this switch for an account, see Granting Access to Your
- // Billing Information and Tools (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/grantaccess.html).
- //
- // 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 AWS Organizations's
- // API operation CreateAccount for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - FinalizingOrganizationException
- // Organizations couldn't perform the operation because your organization hasn't
- // finished initializing. This can take up to an hour. Try again later. If after
- // one hour you continue to receive this error, contact Amazon Web Services
- // Support (https://console.aws.amazon.com/support/home#/).
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/CreateAccount
- func (c *Organizations) CreateAccount(input *CreateAccountInput) (*CreateAccountOutput, error) {
- req, out := c.CreateAccountRequest(input)
- return out, req.Send()
- }
- // CreateAccountWithContext is the same as CreateAccount with the addition of
- // the ability to pass a context and additional request options.
- //
- // See CreateAccount 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 *Organizations) CreateAccountWithContext(ctx aws.Context, input *CreateAccountInput, opts ...request.Option) (*CreateAccountOutput, error) {
- req, out := c.CreateAccountRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opCreateGovCloudAccount = "CreateGovCloudAccount"
- // CreateGovCloudAccountRequest generates a "aws/request.Request" representing the
- // client's request for the CreateGovCloudAccount 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 CreateGovCloudAccount for more information on using the CreateGovCloudAccount
- // 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 CreateGovCloudAccountRequest method.
- // req, resp := client.CreateGovCloudAccountRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/CreateGovCloudAccount
- func (c *Organizations) CreateGovCloudAccountRequest(input *CreateGovCloudAccountInput) (req *request.Request, output *CreateGovCloudAccountOutput) {
- op := &request.Operation{
- Name: opCreateGovCloudAccount,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &CreateGovCloudAccountInput{}
- }
- output = &CreateGovCloudAccountOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // CreateGovCloudAccount API operation for AWS Organizations.
- //
- // This action is available if all of the following are true:
- //
- // - You're authorized to create accounts in the Amazon Web Services GovCloud
- // (US) Region. For more information on the Amazon Web Services GovCloud
- // (US) Region, see the Amazon Web Services GovCloud User Guide. (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/welcome.html)
- //
- // - You already have an account in the Amazon Web Services GovCloud (US)
- // Region that is paired with a management account of an organization in
- // the commercial Region.
- //
- // - You call this action from the management account of your organization
- // in the commercial Region.
- //
- // - You have the organizations:CreateGovCloudAccount permission.
- //
- // Organizations automatically creates the required service-linked role named
- // AWSServiceRoleForOrganizations. For more information, see Organizations and
- // Service-Linked Roles (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services.html#orgs_integrate_services-using_slrs)
- // in the Organizations User Guide.
- //
- // Amazon Web Services automatically enables CloudTrail for Amazon Web Services
- // GovCloud (US) accounts, but you should also do the following:
- //
- // - Verify that CloudTrail is enabled to store logs.
- //
- // - Create an Amazon S3 bucket for CloudTrail log storage. For more information,
- // see Verifying CloudTrail Is Enabled (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/verifying-cloudtrail.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // If the request includes tags, then the requester must have the organizations:TagResource
- // permission. The tags are attached to the commercial account associated with
- // the GovCloud account, rather than the GovCloud account itself. To add tags
- // to the GovCloud account, call the TagResource operation in the GovCloud Region
- // after the new GovCloud account exists.
- //
- // You call this action from the management account of your organization in
- // the commercial Region to create a standalone Amazon Web Services account
- // in the Amazon Web Services GovCloud (US) Region. After the account is created,
- // the management account of an organization in the Amazon Web Services GovCloud
- // (US) Region can invite it to that organization. For more information on inviting
- // standalone accounts in the Amazon Web Services GovCloud (US) to join an organization,
- // see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // Calling CreateGovCloudAccount is an asynchronous request that Amazon Web
- // Services performs in the background. Because CreateGovCloudAccount operates
- // asynchronously, it can return a successful completion message even though
- // account initialization might still be in progress. You might need to wait
- // a few minutes before you can successfully access the account. To check the
- // status of the request, do one of the following:
- //
- // - Use the OperationId response element from this operation to provide
- // as a parameter to the DescribeCreateAccountStatus operation.
- //
- // - Check the CloudTrail log for the CreateAccountResult event. For information
- // on using CloudTrail with Organizations, see Monitoring the Activity in
- // Your Organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_monitoring.html)
- // in the Organizations User Guide.
- //
- // When you call the CreateGovCloudAccount action, you create two accounts:
- // a standalone account in the Amazon Web Services GovCloud (US) Region and
- // an associated account in the commercial Region for billing and support purposes.
- // The account in the commercial Region is automatically a member of the organization
- // whose credentials made the request. Both accounts are associated with the
- // same email address.
- //
- // A role is created in the new account in the commercial Region that allows
- // the management account in the organization in the commercial Region to assume
- // it. An Amazon Web Services GovCloud (US) account is then created and associated
- // with the commercial account that you just created. A role is also created
- // in the new Amazon Web Services GovCloud (US) account that can be assumed
- // by the Amazon Web Services GovCloud (US) account that is associated with
- // the management account of the commercial organization. For more information
- // and to view a diagram that explains how account access works, see Organizations
- // (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // For more information about creating accounts, see Creating an Amazon Web
- // Services account in Your Organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_create.html)
- // in the Organizations User Guide.
- //
- // - When you create an account in an organization using the Organizations
- // console, API, or CLI commands, the information required for the account
- // to operate as a standalone account is not automatically collected. This
- // includes a payment method and signing the end user license agreement (EULA).
- // If you must remove an account from your organization later, you can do
- // so only after you provide the missing information. Follow the steps at
- // To leave an organization as a member account (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - If you get an exception that indicates that you exceeded your account
- // limits for the organization, contact Amazon Web Services Support (https://console.aws.amazon.com/support/home#/).
- //
- // - If you get an exception that indicates that the operation failed because
- // your organization is still initializing, wait one hour and then try again.
- // If the error persists, contact Amazon Web Services Support (https://console.aws.amazon.com/support/home#/).
- //
- // - Using CreateGovCloudAccount to create multiple temporary accounts isn't
- // recommended. You can only close an account from the Amazon Web Services
- // Billing and Cost Management console, and you must be signed in as the
- // root user. For information on the requirements and process for closing
- // an account, see Closing an Amazon Web Services account (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_close.html)
- // in the Organizations User Guide.
- //
- // When you create a member account with this operation, you can choose whether
- // to create the account with the IAM User and Role Access to Billing Information
- // switch enabled. If you enable it, IAM users and roles that have appropriate
- // permissions can view billing information for the account. If you disable
- // it, only the account root user can access billing information. For information
- // about how to disable this switch for an account, see Granting Access to Your
- // Billing Information and Tools (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/grantaccess.html).
- //
- // 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 AWS Organizations's
- // API operation CreateGovCloudAccount for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - FinalizingOrganizationException
- // Organizations couldn't perform the operation because your organization hasn't
- // finished initializing. This can take up to an hour. Try again later. If after
- // one hour you continue to receive this error, contact Amazon Web Services
- // Support (https://console.aws.amazon.com/support/home#/).
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/CreateGovCloudAccount
- func (c *Organizations) CreateGovCloudAccount(input *CreateGovCloudAccountInput) (*CreateGovCloudAccountOutput, error) {
- req, out := c.CreateGovCloudAccountRequest(input)
- return out, req.Send()
- }
- // CreateGovCloudAccountWithContext is the same as CreateGovCloudAccount with the addition of
- // the ability to pass a context and additional request options.
- //
- // See CreateGovCloudAccount 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 *Organizations) CreateGovCloudAccountWithContext(ctx aws.Context, input *CreateGovCloudAccountInput, opts ...request.Option) (*CreateGovCloudAccountOutput, error) {
- req, out := c.CreateGovCloudAccountRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opCreateOrganization = "CreateOrganization"
- // CreateOrganizationRequest generates a "aws/request.Request" representing the
- // client's request for the CreateOrganization 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 CreateOrganization for more information on using the CreateOrganization
- // 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 CreateOrganizationRequest method.
- // req, resp := client.CreateOrganizationRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/CreateOrganization
- func (c *Organizations) CreateOrganizationRequest(input *CreateOrganizationInput) (req *request.Request, output *CreateOrganizationOutput) {
- op := &request.Operation{
- Name: opCreateOrganization,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &CreateOrganizationInput{}
- }
- output = &CreateOrganizationOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // CreateOrganization API operation for AWS Organizations.
- //
- // Creates an Amazon Web Services organization. The account whose user is calling
- // the CreateOrganization operation automatically becomes the management account
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#account)
- // of the new organization.
- //
- // This operation must be called using credentials from the account that is
- // to become the new organization's management account. The principal must also
- // have the relevant IAM permissions.
- //
- // By default (or if you set the FeatureSet parameter to ALL), the new organization
- // is created with all features enabled and service control policies automatically
- // enabled in the root. If you instead choose to create the organization supporting
- // only the consolidated billing features by setting the FeatureSet parameter
- // to CONSOLIDATED_BILLING", no policy types are enabled by default, and you
- // can't use organization policies
- //
- // 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 AWS Organizations's
- // API operation CreateOrganization for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AlreadyInOrganizationException
- // This account is already a member of an organization. An account can belong
- // to only one organization at a time.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - AccessDeniedForDependencyException
- // The operation that you attempted requires you to have the iam:CreateServiceLinkedRole
- // for organizations.amazonaws.com permission so that Organizations can create
- // the required service-linked role. You don't have that permission.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/CreateOrganization
- func (c *Organizations) CreateOrganization(input *CreateOrganizationInput) (*CreateOrganizationOutput, error) {
- req, out := c.CreateOrganizationRequest(input)
- return out, req.Send()
- }
- // CreateOrganizationWithContext is the same as CreateOrganization with the addition of
- // the ability to pass a context and additional request options.
- //
- // See CreateOrganization 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 *Organizations) CreateOrganizationWithContext(ctx aws.Context, input *CreateOrganizationInput, opts ...request.Option) (*CreateOrganizationOutput, error) {
- req, out := c.CreateOrganizationRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opCreateOrganizationalUnit = "CreateOrganizationalUnit"
- // CreateOrganizationalUnitRequest generates a "aws/request.Request" representing the
- // client's request for the CreateOrganizationalUnit 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 CreateOrganizationalUnit for more information on using the CreateOrganizationalUnit
- // 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 CreateOrganizationalUnitRequest method.
- // req, resp := client.CreateOrganizationalUnitRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/CreateOrganizationalUnit
- func (c *Organizations) CreateOrganizationalUnitRequest(input *CreateOrganizationalUnitInput) (req *request.Request, output *CreateOrganizationalUnitOutput) {
- op := &request.Operation{
- Name: opCreateOrganizationalUnit,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &CreateOrganizationalUnitInput{}
- }
- output = &CreateOrganizationalUnitOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // CreateOrganizationalUnit API operation for AWS Organizations.
- //
- // Creates an organizational unit (OU) within a root or parent OU. An OU is
- // a container for accounts that enables you to organize your accounts to apply
- // policies according to your business requirements. The number of levels deep
- // that you can nest OUs is dependent upon the policy types enabled for that
- // root. For service control policies, the limit is five.
- //
- // For more information about OUs, see Managing Organizational Units (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_ous.html)
- // in the Organizations User Guide.
- //
- // If the request includes tags, then the requester must have the organizations:TagResource
- // permission.
- //
- // This operation can be called only from the organization's management account.
- //
- // 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 AWS Organizations's
- // API operation CreateOrganizationalUnit for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // - DuplicateOrganizationalUnitException
- // An OU with the same name already exists.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ParentNotFoundException
- // We can't find a root or OU with the ParentId that you specified.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/CreateOrganizationalUnit
- func (c *Organizations) CreateOrganizationalUnit(input *CreateOrganizationalUnitInput) (*CreateOrganizationalUnitOutput, error) {
- req, out := c.CreateOrganizationalUnitRequest(input)
- return out, req.Send()
- }
- // CreateOrganizationalUnitWithContext is the same as CreateOrganizationalUnit with the addition of
- // the ability to pass a context and additional request options.
- //
- // See CreateOrganizationalUnit 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 *Organizations) CreateOrganizationalUnitWithContext(ctx aws.Context, input *CreateOrganizationalUnitInput, opts ...request.Option) (*CreateOrganizationalUnitOutput, error) {
- req, out := c.CreateOrganizationalUnitRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opCreatePolicy = "CreatePolicy"
- // CreatePolicyRequest generates a "aws/request.Request" representing the
- // client's request for the CreatePolicy 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 CreatePolicy for more information on using the CreatePolicy
- // 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 CreatePolicyRequest method.
- // req, resp := client.CreatePolicyRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/CreatePolicy
- func (c *Organizations) CreatePolicyRequest(input *CreatePolicyInput) (req *request.Request, output *CreatePolicyOutput) {
- op := &request.Operation{
- Name: opCreatePolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &CreatePolicyInput{}
- }
- output = &CreatePolicyOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // CreatePolicy API operation for AWS Organizations.
- //
- // Creates a policy of a specified type that you can attach to a root, an organizational
- // unit (OU), or an individual Amazon Web Services account.
- //
- // For more information about policies and their use, see Managing Organization
- // Policies (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html).
- //
- // If the request includes tags, then the requester must have the organizations:TagResource
- // permission.
- //
- // This operation can be called only from the organization's management account.
- //
- // 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 AWS Organizations's
- // API operation CreatePolicy for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // - DuplicatePolicyException
- // A policy with the same name already exists.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - MalformedPolicyDocumentException
- // The provided policy document doesn't meet the requirements of the specified
- // policy type. For example, the syntax might be incorrect. For details about
- // service control policy syntax, see Service Control Policy Syntax (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_scp-syntax.html)
- // in the Organizations User Guide.
- //
- // - PolicyTypeNotAvailableForOrganizationException
- // You can't use the specified policy type with the feature set currently enabled
- // for this organization. For example, you can enable SCPs only after you enable
- // all features in the organization. For more information, see Managing Organizations
- // Policies (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html#enable_policies_on_root)in
- // the Organizations User Guide.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/CreatePolicy
- func (c *Organizations) CreatePolicy(input *CreatePolicyInput) (*CreatePolicyOutput, error) {
- req, out := c.CreatePolicyRequest(input)
- return out, req.Send()
- }
- // CreatePolicyWithContext is the same as CreatePolicy with the addition of
- // the ability to pass a context and additional request options.
- //
- // See CreatePolicy 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 *Organizations) CreatePolicyWithContext(ctx aws.Context, input *CreatePolicyInput, opts ...request.Option) (*CreatePolicyOutput, error) {
- req, out := c.CreatePolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDeclineHandshake = "DeclineHandshake"
- // DeclineHandshakeRequest generates a "aws/request.Request" representing the
- // client's request for the DeclineHandshake 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 DeclineHandshake for more information on using the DeclineHandshake
- // 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 DeclineHandshakeRequest method.
- // req, resp := client.DeclineHandshakeRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DeclineHandshake
- func (c *Organizations) DeclineHandshakeRequest(input *DeclineHandshakeInput) (req *request.Request, output *DeclineHandshakeOutput) {
- op := &request.Operation{
- Name: opDeclineHandshake,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeclineHandshakeInput{}
- }
- output = &DeclineHandshakeOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DeclineHandshake API operation for AWS Organizations.
- //
- // Declines a handshake request. This sets the handshake state to DECLINED and
- // effectively deactivates the request.
- //
- // This operation can be called only from the account that received the handshake.
- // The originator of the handshake can use CancelHandshake instead. The originator
- // can't reactivate a declined request, but can reinitiate the process with
- // a new handshake request.
- //
- // After you decline a handshake, it continues to appear in the results of relevant
- // APIs for only 30 days. After that, it's 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 AWS Organizations's
- // API operation DeclineHandshake for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - HandshakeNotFoundException
- // We can't find a handshake with the HandshakeId that you specified.
- //
- // - InvalidHandshakeTransitionException
- // You can't perform the operation on the handshake in its current state. For
- // example, you can't cancel a handshake that was already accepted or accept
- // a handshake that was already declined.
- //
- // - HandshakeAlreadyInStateException
- // The specified handshake is already in the requested state. For example, you
- // can't accept a handshake that was already accepted.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DeclineHandshake
- func (c *Organizations) DeclineHandshake(input *DeclineHandshakeInput) (*DeclineHandshakeOutput, error) {
- req, out := c.DeclineHandshakeRequest(input)
- return out, req.Send()
- }
- // DeclineHandshakeWithContext is the same as DeclineHandshake with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DeclineHandshake 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 *Organizations) DeclineHandshakeWithContext(ctx aws.Context, input *DeclineHandshakeInput, opts ...request.Option) (*DeclineHandshakeOutput, error) {
- req, out := c.DeclineHandshakeRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDeleteOrganization = "DeleteOrganization"
- // DeleteOrganizationRequest generates a "aws/request.Request" representing the
- // client's request for the DeleteOrganization 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 DeleteOrganization for more information on using the DeleteOrganization
- // 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 DeleteOrganizationRequest method.
- // req, resp := client.DeleteOrganizationRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DeleteOrganization
- func (c *Organizations) DeleteOrganizationRequest(input *DeleteOrganizationInput) (req *request.Request, output *DeleteOrganizationOutput) {
- op := &request.Operation{
- Name: opDeleteOrganization,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeleteOrganizationInput{}
- }
- output = &DeleteOrganizationOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
- }
- // DeleteOrganization API operation for AWS Organizations.
- //
- // Deletes the organization. You can delete an organization only by using credentials
- // from the management account. The organization must be empty of member accounts.
- //
- // 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 AWS Organizations's
- // API operation DeleteOrganization for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - OrganizationNotEmptyException
- // The organization isn't empty. To delete an organization, you must first remove
- // all accounts except the management account, delete all OUs, and delete all
- // policies.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DeleteOrganization
- func (c *Organizations) DeleteOrganization(input *DeleteOrganizationInput) (*DeleteOrganizationOutput, error) {
- req, out := c.DeleteOrganizationRequest(input)
- return out, req.Send()
- }
- // DeleteOrganizationWithContext is the same as DeleteOrganization with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DeleteOrganization 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 *Organizations) DeleteOrganizationWithContext(ctx aws.Context, input *DeleteOrganizationInput, opts ...request.Option) (*DeleteOrganizationOutput, error) {
- req, out := c.DeleteOrganizationRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDeleteOrganizationalUnit = "DeleteOrganizationalUnit"
- // DeleteOrganizationalUnitRequest generates a "aws/request.Request" representing the
- // client's request for the DeleteOrganizationalUnit 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 DeleteOrganizationalUnit for more information on using the DeleteOrganizationalUnit
- // 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 DeleteOrganizationalUnitRequest method.
- // req, resp := client.DeleteOrganizationalUnitRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DeleteOrganizationalUnit
- func (c *Organizations) DeleteOrganizationalUnitRequest(input *DeleteOrganizationalUnitInput) (req *request.Request, output *DeleteOrganizationalUnitOutput) {
- op := &request.Operation{
- Name: opDeleteOrganizationalUnit,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeleteOrganizationalUnitInput{}
- }
- output = &DeleteOrganizationalUnitOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
- }
- // DeleteOrganizationalUnit API operation for AWS Organizations.
- //
- // Deletes an organizational unit (OU) from a root or another OU. You must first
- // remove all accounts and child OUs from the OU that you want to delete.
- //
- // This operation can be called only from the organization's management account.
- //
- // 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 AWS Organizations's
- // API operation DeleteOrganizationalUnit for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - OrganizationalUnitNotEmptyException
- // The specified OU is not empty. Move all accounts to another root or to other
- // OUs, remove all child OUs, and try the operation again.
- //
- // - OrganizationalUnitNotFoundException
- // We can't find an OU with the OrganizationalUnitId that you specified.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DeleteOrganizationalUnit
- func (c *Organizations) DeleteOrganizationalUnit(input *DeleteOrganizationalUnitInput) (*DeleteOrganizationalUnitOutput, error) {
- req, out := c.DeleteOrganizationalUnitRequest(input)
- return out, req.Send()
- }
- // DeleteOrganizationalUnitWithContext is the same as DeleteOrganizationalUnit with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DeleteOrganizationalUnit 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 *Organizations) DeleteOrganizationalUnitWithContext(ctx aws.Context, input *DeleteOrganizationalUnitInput, opts ...request.Option) (*DeleteOrganizationalUnitOutput, error) {
- req, out := c.DeleteOrganizationalUnitRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDeletePolicy = "DeletePolicy"
- // DeletePolicyRequest generates a "aws/request.Request" representing the
- // client's request for the DeletePolicy 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 DeletePolicy for more information on using the DeletePolicy
- // 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 DeletePolicyRequest method.
- // req, resp := client.DeletePolicyRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DeletePolicy
- func (c *Organizations) DeletePolicyRequest(input *DeletePolicyInput) (req *request.Request, output *DeletePolicyOutput) {
- op := &request.Operation{
- Name: opDeletePolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeletePolicyInput{}
- }
- output = &DeletePolicyOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
- }
- // DeletePolicy API operation for AWS Organizations.
- //
- // Deletes the specified policy from your organization. Before you perform this
- // operation, you must first detach the policy from all organizational units
- // (OUs), roots, and accounts.
- //
- // This operation can be called only from the organization's management account.
- //
- // 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 AWS Organizations's
- // API operation DeletePolicy for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - PolicyInUseException
- // The policy is attached to one or more entities. You must detach it from all
- // roots, OUs, and accounts before performing this operation.
- //
- // - PolicyNotFoundException
- // We can't find a policy with the PolicyId that you specified.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DeletePolicy
- func (c *Organizations) DeletePolicy(input *DeletePolicyInput) (*DeletePolicyOutput, error) {
- req, out := c.DeletePolicyRequest(input)
- return out, req.Send()
- }
- // DeletePolicyWithContext is the same as DeletePolicy with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DeletePolicy 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 *Organizations) DeletePolicyWithContext(ctx aws.Context, input *DeletePolicyInput, opts ...request.Option) (*DeletePolicyOutput, error) {
- req, out := c.DeletePolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDeleteResourcePolicy = "DeleteResourcePolicy"
- // DeleteResourcePolicyRequest generates a "aws/request.Request" representing the
- // client's request for the DeleteResourcePolicy 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 DeleteResourcePolicy for more information on using the DeleteResourcePolicy
- // 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 DeleteResourcePolicyRequest method.
- // req, resp := client.DeleteResourcePolicyRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DeleteResourcePolicy
- func (c *Organizations) DeleteResourcePolicyRequest(input *DeleteResourcePolicyInput) (req *request.Request, output *DeleteResourcePolicyOutput) {
- op := &request.Operation{
- Name: opDeleteResourcePolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeleteResourcePolicyInput{}
- }
- output = &DeleteResourcePolicyOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
- }
- // DeleteResourcePolicy API operation for AWS Organizations.
- //
- // Deletes the resource policy from your organization.
- //
- // You can only call this operation from the organization's management account.
- //
- // 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 AWS Organizations's
- // API operation DeleteResourcePolicy for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ResourcePolicyNotFoundException
- // We can't find a resource policy request with the parameter that you specified.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DeleteResourcePolicy
- func (c *Organizations) DeleteResourcePolicy(input *DeleteResourcePolicyInput) (*DeleteResourcePolicyOutput, error) {
- req, out := c.DeleteResourcePolicyRequest(input)
- return out, req.Send()
- }
- // DeleteResourcePolicyWithContext is the same as DeleteResourcePolicy with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DeleteResourcePolicy 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 *Organizations) DeleteResourcePolicyWithContext(ctx aws.Context, input *DeleteResourcePolicyInput, opts ...request.Option) (*DeleteResourcePolicyOutput, error) {
- req, out := c.DeleteResourcePolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDeregisterDelegatedAdministrator = "DeregisterDelegatedAdministrator"
- // DeregisterDelegatedAdministratorRequest generates a "aws/request.Request" representing the
- // client's request for the DeregisterDelegatedAdministrator 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 DeregisterDelegatedAdministrator for more information on using the DeregisterDelegatedAdministrator
- // 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 DeregisterDelegatedAdministratorRequest method.
- // req, resp := client.DeregisterDelegatedAdministratorRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DeregisterDelegatedAdministrator
- func (c *Organizations) DeregisterDelegatedAdministratorRequest(input *DeregisterDelegatedAdministratorInput) (req *request.Request, output *DeregisterDelegatedAdministratorOutput) {
- op := &request.Operation{
- Name: opDeregisterDelegatedAdministrator,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeregisterDelegatedAdministratorInput{}
- }
- output = &DeregisterDelegatedAdministratorOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
- }
- // DeregisterDelegatedAdministrator API operation for AWS Organizations.
- //
- // Removes the specified member Amazon Web Services account as a delegated administrator
- // for the specified Amazon Web Services service.
- //
- // Deregistering a delegated administrator can have unintended impacts on the
- // functionality of the enabled Amazon Web Services service. See the documentation
- // for the enabled service before you deregister a delegated administrator so
- // that you understand any potential impacts.
- //
- // You can run this action only for Amazon Web Services services that support
- // this feature. For a current list of services that support it, see the column
- // Supports Delegated Administrator in the table at Amazon Web Services Services
- // that you can use with Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services_list.html)
- // in the Organizations User Guide.
- //
- // This operation can be called only from the organization's management account.
- //
- // 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 AWS Organizations's
- // API operation DeregisterDelegatedAdministrator for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AccountNotFoundException
- // We can't find an Amazon Web Services account with the AccountId that you
- // specified, or the account whose credentials you used to make this request
- // isn't a member of an organization.
- //
- // - AccountNotRegisteredException
- // The specified account is not a delegated administrator for this Amazon Web
- // Services service.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DeregisterDelegatedAdministrator
- func (c *Organizations) DeregisterDelegatedAdministrator(input *DeregisterDelegatedAdministratorInput) (*DeregisterDelegatedAdministratorOutput, error) {
- req, out := c.DeregisterDelegatedAdministratorRequest(input)
- return out, req.Send()
- }
- // DeregisterDelegatedAdministratorWithContext is the same as DeregisterDelegatedAdministrator with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DeregisterDelegatedAdministrator 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 *Organizations) DeregisterDelegatedAdministratorWithContext(ctx aws.Context, input *DeregisterDelegatedAdministratorInput, opts ...request.Option) (*DeregisterDelegatedAdministratorOutput, error) {
- req, out := c.DeregisterDelegatedAdministratorRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeAccount = "DescribeAccount"
- // DescribeAccountRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeAccount 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 DescribeAccount for more information on using the DescribeAccount
- // 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 DescribeAccountRequest method.
- // req, resp := client.DescribeAccountRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribeAccount
- func (c *Organizations) DescribeAccountRequest(input *DescribeAccountInput) (req *request.Request, output *DescribeAccountOutput) {
- op := &request.Operation{
- Name: opDescribeAccount,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeAccountInput{}
- }
- output = &DescribeAccountOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DescribeAccount API operation for AWS Organizations.
- //
- // Retrieves Organizations-related information about the specified account.
- //
- // This operation can be called only from the organization's management account
- // or by a member account that is a delegated administrator for an Amazon Web
- // Services service.
- //
- // 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 AWS Organizations's
- // API operation DescribeAccount for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AccountNotFoundException
- // We can't find an Amazon Web Services account with the AccountId that you
- // specified, or the account whose credentials you used to make this request
- // isn't a member of an organization.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribeAccount
- func (c *Organizations) DescribeAccount(input *DescribeAccountInput) (*DescribeAccountOutput, error) {
- req, out := c.DescribeAccountRequest(input)
- return out, req.Send()
- }
- // DescribeAccountWithContext is the same as DescribeAccount with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeAccount 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 *Organizations) DescribeAccountWithContext(ctx aws.Context, input *DescribeAccountInput, opts ...request.Option) (*DescribeAccountOutput, error) {
- req, out := c.DescribeAccountRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeCreateAccountStatus = "DescribeCreateAccountStatus"
- // DescribeCreateAccountStatusRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeCreateAccountStatus 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 DescribeCreateAccountStatus for more information on using the DescribeCreateAccountStatus
- // 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 DescribeCreateAccountStatusRequest method.
- // req, resp := client.DescribeCreateAccountStatusRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribeCreateAccountStatus
- func (c *Organizations) DescribeCreateAccountStatusRequest(input *DescribeCreateAccountStatusInput) (req *request.Request, output *DescribeCreateAccountStatusOutput) {
- op := &request.Operation{
- Name: opDescribeCreateAccountStatus,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeCreateAccountStatusInput{}
- }
- output = &DescribeCreateAccountStatusOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DescribeCreateAccountStatus API operation for AWS Organizations.
- //
- // Retrieves the current status of an asynchronous request to create an account.
- //
- // This operation can be called only from the organization's management account
- // or by a member account that is a delegated administrator for an Amazon Web
- // Services service.
- //
- // 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 AWS Organizations's
- // API operation DescribeCreateAccountStatus for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - CreateAccountStatusNotFoundException
- // We can't find an create account request with the CreateAccountRequestId that
- // you specified.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribeCreateAccountStatus
- func (c *Organizations) DescribeCreateAccountStatus(input *DescribeCreateAccountStatusInput) (*DescribeCreateAccountStatusOutput, error) {
- req, out := c.DescribeCreateAccountStatusRequest(input)
- return out, req.Send()
- }
- // DescribeCreateAccountStatusWithContext is the same as DescribeCreateAccountStatus with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeCreateAccountStatus 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 *Organizations) DescribeCreateAccountStatusWithContext(ctx aws.Context, input *DescribeCreateAccountStatusInput, opts ...request.Option) (*DescribeCreateAccountStatusOutput, error) {
- req, out := c.DescribeCreateAccountStatusRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeEffectivePolicy = "DescribeEffectivePolicy"
- // DescribeEffectivePolicyRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeEffectivePolicy 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 DescribeEffectivePolicy for more information on using the DescribeEffectivePolicy
- // 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 DescribeEffectivePolicyRequest method.
- // req, resp := client.DescribeEffectivePolicyRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribeEffectivePolicy
- func (c *Organizations) DescribeEffectivePolicyRequest(input *DescribeEffectivePolicyInput) (req *request.Request, output *DescribeEffectivePolicyOutput) {
- op := &request.Operation{
- Name: opDescribeEffectivePolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeEffectivePolicyInput{}
- }
- output = &DescribeEffectivePolicyOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DescribeEffectivePolicy API operation for AWS Organizations.
- //
- // Returns the contents of the effective policy for specified policy type and
- // account. The effective policy is the aggregation of any policies of the specified
- // type that the account inherits, plus any policy of that type that is directly
- // attached to the account.
- //
- // This operation applies only to policy types other than service control policies
- // (SCPs).
- //
- // For more information about policy inheritance, see How Policy Inheritance
- // Works (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies-inheritance.html)
- // in the Organizations User Guide.
- //
- // This operation can be called only from the organization's management account
- // or by a member account that is a delegated administrator for an Amazon Web
- // Services service.
- //
- // 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 AWS Organizations's
- // API operation DescribeEffectivePolicy for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - TargetNotFoundException
- // We can't find a root, OU, account, or policy with the TargetId that you specified.
- //
- // - EffectivePolicyNotFoundException
- // If you ran this action on the management account, this policy type is not
- // enabled. If you ran the action on a member account, the account doesn't have
- // an effective policy of this type. Contact the administrator of your organization
- // about attaching a policy of this type to the account.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribeEffectivePolicy
- func (c *Organizations) DescribeEffectivePolicy(input *DescribeEffectivePolicyInput) (*DescribeEffectivePolicyOutput, error) {
- req, out := c.DescribeEffectivePolicyRequest(input)
- return out, req.Send()
- }
- // DescribeEffectivePolicyWithContext is the same as DescribeEffectivePolicy with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeEffectivePolicy 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 *Organizations) DescribeEffectivePolicyWithContext(ctx aws.Context, input *DescribeEffectivePolicyInput, opts ...request.Option) (*DescribeEffectivePolicyOutput, error) {
- req, out := c.DescribeEffectivePolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeHandshake = "DescribeHandshake"
- // DescribeHandshakeRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeHandshake 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 DescribeHandshake for more information on using the DescribeHandshake
- // 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 DescribeHandshakeRequest method.
- // req, resp := client.DescribeHandshakeRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribeHandshake
- func (c *Organizations) DescribeHandshakeRequest(input *DescribeHandshakeInput) (req *request.Request, output *DescribeHandshakeOutput) {
- op := &request.Operation{
- Name: opDescribeHandshake,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeHandshakeInput{}
- }
- output = &DescribeHandshakeOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DescribeHandshake API operation for AWS Organizations.
- //
- // Retrieves information about a previously requested handshake. The handshake
- // ID comes from the response to the original InviteAccountToOrganization operation
- // that generated the handshake.
- //
- // You can access handshakes that are ACCEPTED, DECLINED, or CANCELED for only
- // 30 days after they change to that state. They're then deleted and no longer
- // accessible.
- //
- // This operation can be called from any account in the organization.
- //
- // 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 AWS Organizations's
- // API operation DescribeHandshake for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - HandshakeNotFoundException
- // We can't find a handshake with the HandshakeId that you specified.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribeHandshake
- func (c *Organizations) DescribeHandshake(input *DescribeHandshakeInput) (*DescribeHandshakeOutput, error) {
- req, out := c.DescribeHandshakeRequest(input)
- return out, req.Send()
- }
- // DescribeHandshakeWithContext is the same as DescribeHandshake with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeHandshake 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 *Organizations) DescribeHandshakeWithContext(ctx aws.Context, input *DescribeHandshakeInput, opts ...request.Option) (*DescribeHandshakeOutput, error) {
- req, out := c.DescribeHandshakeRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeOrganization = "DescribeOrganization"
- // DescribeOrganizationRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeOrganization 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 DescribeOrganization for more information on using the DescribeOrganization
- // 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 DescribeOrganizationRequest method.
- // req, resp := client.DescribeOrganizationRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribeOrganization
- func (c *Organizations) DescribeOrganizationRequest(input *DescribeOrganizationInput) (req *request.Request, output *DescribeOrganizationOutput) {
- op := &request.Operation{
- Name: opDescribeOrganization,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeOrganizationInput{}
- }
- output = &DescribeOrganizationOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DescribeOrganization API operation for AWS Organizations.
- //
- // Retrieves information about the organization that the user's account belongs
- // to.
- //
- // This operation can be called from any account in the organization.
- //
- // Even if a policy type is shown as available in the organization, you can
- // disable it separately at the root level with DisablePolicyType. Use ListRoots
- // to see the status of policy types for a specified root.
- //
- // 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 AWS Organizations's
- // API operation DescribeOrganization for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribeOrganization
- func (c *Organizations) DescribeOrganization(input *DescribeOrganizationInput) (*DescribeOrganizationOutput, error) {
- req, out := c.DescribeOrganizationRequest(input)
- return out, req.Send()
- }
- // DescribeOrganizationWithContext is the same as DescribeOrganization with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeOrganization 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 *Organizations) DescribeOrganizationWithContext(ctx aws.Context, input *DescribeOrganizationInput, opts ...request.Option) (*DescribeOrganizationOutput, error) {
- req, out := c.DescribeOrganizationRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeOrganizationalUnit = "DescribeOrganizationalUnit"
- // DescribeOrganizationalUnitRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeOrganizationalUnit 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 DescribeOrganizationalUnit for more information on using the DescribeOrganizationalUnit
- // 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 DescribeOrganizationalUnitRequest method.
- // req, resp := client.DescribeOrganizationalUnitRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribeOrganizationalUnit
- func (c *Organizations) DescribeOrganizationalUnitRequest(input *DescribeOrganizationalUnitInput) (req *request.Request, output *DescribeOrganizationalUnitOutput) {
- op := &request.Operation{
- Name: opDescribeOrganizationalUnit,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeOrganizationalUnitInput{}
- }
- output = &DescribeOrganizationalUnitOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DescribeOrganizationalUnit API operation for AWS Organizations.
- //
- // Retrieves information about an organizational unit (OU).
- //
- // This operation can be called only from the organization's management account
- // or by a member account that is a delegated administrator for an Amazon Web
- // Services service.
- //
- // 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 AWS Organizations's
- // API operation DescribeOrganizationalUnit for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - OrganizationalUnitNotFoundException
- // We can't find an OU with the OrganizationalUnitId that you specified.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribeOrganizationalUnit
- func (c *Organizations) DescribeOrganizationalUnit(input *DescribeOrganizationalUnitInput) (*DescribeOrganizationalUnitOutput, error) {
- req, out := c.DescribeOrganizationalUnitRequest(input)
- return out, req.Send()
- }
- // DescribeOrganizationalUnitWithContext is the same as DescribeOrganizationalUnit with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeOrganizationalUnit 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 *Organizations) DescribeOrganizationalUnitWithContext(ctx aws.Context, input *DescribeOrganizationalUnitInput, opts ...request.Option) (*DescribeOrganizationalUnitOutput, error) {
- req, out := c.DescribeOrganizationalUnitRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribePolicy = "DescribePolicy"
- // DescribePolicyRequest generates a "aws/request.Request" representing the
- // client's request for the DescribePolicy 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 DescribePolicy for more information on using the DescribePolicy
- // 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 DescribePolicyRequest method.
- // req, resp := client.DescribePolicyRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribePolicy
- func (c *Organizations) DescribePolicyRequest(input *DescribePolicyInput) (req *request.Request, output *DescribePolicyOutput) {
- op := &request.Operation{
- Name: opDescribePolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribePolicyInput{}
- }
- output = &DescribePolicyOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DescribePolicy API operation for AWS Organizations.
- //
- // Retrieves information about a policy.
- //
- // This operation can be called only from the organization's management account
- // or by a member account that is a delegated administrator for an Amazon Web
- // Services service.
- //
- // 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 AWS Organizations's
- // API operation DescribePolicy for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - PolicyNotFoundException
- // We can't find a policy with the PolicyId that you specified.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribePolicy
- func (c *Organizations) DescribePolicy(input *DescribePolicyInput) (*DescribePolicyOutput, error) {
- req, out := c.DescribePolicyRequest(input)
- return out, req.Send()
- }
- // DescribePolicyWithContext is the same as DescribePolicy with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribePolicy 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 *Organizations) DescribePolicyWithContext(ctx aws.Context, input *DescribePolicyInput, opts ...request.Option) (*DescribePolicyOutput, error) {
- req, out := c.DescribePolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDescribeResourcePolicy = "DescribeResourcePolicy"
- // DescribeResourcePolicyRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeResourcePolicy 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 DescribeResourcePolicy for more information on using the DescribeResourcePolicy
- // 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 DescribeResourcePolicyRequest method.
- // req, resp := client.DescribeResourcePolicyRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribeResourcePolicy
- func (c *Organizations) DescribeResourcePolicyRequest(input *DescribeResourcePolicyInput) (req *request.Request, output *DescribeResourcePolicyOutput) {
- op := &request.Operation{
- Name: opDescribeResourcePolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeResourcePolicyInput{}
- }
- output = &DescribeResourcePolicyOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DescribeResourcePolicy API operation for AWS Organizations.
- //
- // Retrieves information about a resource policy.
- //
- // You can only call this operation from the organization's management account
- // or by a member account that is a delegated administrator for an AWS service.
- //
- // 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 AWS Organizations's
- // API operation DescribeResourcePolicy for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ResourcePolicyNotFoundException
- // We can't find a resource policy request with the parameter that you specified.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DescribeResourcePolicy
- func (c *Organizations) DescribeResourcePolicy(input *DescribeResourcePolicyInput) (*DescribeResourcePolicyOutput, error) {
- req, out := c.DescribeResourcePolicyRequest(input)
- return out, req.Send()
- }
- // DescribeResourcePolicyWithContext is the same as DescribeResourcePolicy with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DescribeResourcePolicy 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 *Organizations) DescribeResourcePolicyWithContext(ctx aws.Context, input *DescribeResourcePolicyInput, opts ...request.Option) (*DescribeResourcePolicyOutput, error) {
- req, out := c.DescribeResourcePolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDetachPolicy = "DetachPolicy"
- // DetachPolicyRequest generates a "aws/request.Request" representing the
- // client's request for the DetachPolicy 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 DetachPolicy for more information on using the DetachPolicy
- // 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 DetachPolicyRequest method.
- // req, resp := client.DetachPolicyRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DetachPolicy
- func (c *Organizations) DetachPolicyRequest(input *DetachPolicyInput) (req *request.Request, output *DetachPolicyOutput) {
- op := &request.Operation{
- Name: opDetachPolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DetachPolicyInput{}
- }
- output = &DetachPolicyOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
- }
- // DetachPolicy API operation for AWS Organizations.
- //
- // Detaches a policy from a target root, organizational unit (OU), or account.
- //
- // If the policy being detached is a service control policy (SCP), the changes
- // to permissions for Identity and Access Management (IAM) users and roles in
- // affected accounts are immediate.
- //
- // Every root, OU, and account must have at least one SCP attached. If you want
- // to replace the default FullAWSAccess policy with an SCP that limits the permissions
- // that can be delegated, you must attach the replacement SCP before you can
- // remove the default SCP. This is the authorization strategy of an "allow list
- // (https://docs.aws.amazon.com/organizations/latest/userguide/SCP_strategies.html#orgs_policies_allowlist)".
- // If you instead attach a second SCP and leave the FullAWSAccess SCP still
- // attached, and specify "Effect": "Deny" in the second SCP to override the
- // "Effect": "Allow" in the FullAWSAccess policy (or any other attached SCP),
- // you're using the authorization strategy of a "deny list (https://docs.aws.amazon.com/organizations/latest/userguide/SCP_strategies.html#orgs_policies_denylist)".
- //
- // This operation can be called only from the organization's management account.
- //
- // 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 AWS Organizations's
- // API operation DetachPolicy for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - PolicyNotAttachedException
- // The policy isn't attached to the specified target in the specified root.
- //
- // - PolicyNotFoundException
- // We can't find a policy with the PolicyId that you specified.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TargetNotFoundException
- // We can't find a root, OU, account, or policy with the TargetId that you specified.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // - PolicyChangesInProgressException
- // Changes to the effective policy are in progress, and its contents can't be
- // returned. Try the operation again later.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DetachPolicy
- func (c *Organizations) DetachPolicy(input *DetachPolicyInput) (*DetachPolicyOutput, error) {
- req, out := c.DetachPolicyRequest(input)
- return out, req.Send()
- }
- // DetachPolicyWithContext is the same as DetachPolicy with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DetachPolicy 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 *Organizations) DetachPolicyWithContext(ctx aws.Context, input *DetachPolicyInput, opts ...request.Option) (*DetachPolicyOutput, error) {
- req, out := c.DetachPolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDisableAWSServiceAccess = "DisableAWSServiceAccess"
- // DisableAWSServiceAccessRequest generates a "aws/request.Request" representing the
- // client's request for the DisableAWSServiceAccess 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 DisableAWSServiceAccess for more information on using the DisableAWSServiceAccess
- // 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 DisableAWSServiceAccessRequest method.
- // req, resp := client.DisableAWSServiceAccessRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DisableAWSServiceAccess
- func (c *Organizations) DisableAWSServiceAccessRequest(input *DisableAWSServiceAccessInput) (req *request.Request, output *DisableAWSServiceAccessOutput) {
- op := &request.Operation{
- Name: opDisableAWSServiceAccess,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DisableAWSServiceAccessInput{}
- }
- output = &DisableAWSServiceAccessOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
- }
- // DisableAWSServiceAccess API operation for AWS Organizations.
- //
- // Disables the integration of an Amazon Web Services service (the service that
- // is specified by ServicePrincipal) with Organizations. When you disable integration,
- // the specified service no longer can create a service-linked role (https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html)
- // in new accounts in your organization. This means the service can't perform
- // operations on your behalf on any new accounts in your organization. The service
- // can still perform operations in older accounts until the service completes
- // its clean-up from Organizations.
- //
- // We strongly recommend that you don't use this command to disable integration
- // between Organizations and the specified Amazon Web Services service. Instead,
- // use the console or commands that are provided by the specified service. This
- // lets the trusted service perform any required initialization when enabling
- // trusted access, such as creating any required resources and any required
- // clean up of resources when disabling trusted access.
- //
- // For information about how to disable trusted service access to your organization
- // using the trusted service, see the Learn more link under the Supports Trusted
- // Access column at Amazon Web Services services that you can use with Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services_list.html).
- // on this page.
- //
- // If you disable access by using this command, it causes the following actions
- // to occur:
- //
- // - The service can no longer create a service-linked role in the accounts
- // in your organization. This means that the service can't perform operations
- // on your behalf on any new accounts in your organization. The service can
- // still perform operations in older accounts until the service completes
- // its clean-up from Organizations.
- //
- // - The service can no longer perform tasks in the member accounts in the
- // organization, unless those operations are explicitly permitted by the
- // IAM policies that are attached to your roles. This includes any data aggregation
- // from the member accounts to the management account, or to a delegated
- // administrator account, where relevant.
- //
- // - Some services detect this and clean up any remaining data or resources
- // related to the integration, while other services stop accessing the organization
- // but leave any historical data and configuration in place to support a
- // possible re-enabling of the integration.
- //
- // Using the other service's console or commands to disable the integration
- // ensures that the other service is aware that it can clean up any resources
- // that are required only for the integration. How the service cleans up its
- // resources in the organization's accounts depends on that service. For more
- // information, see the documentation for the other Amazon Web Services service.
- //
- // After you perform the DisableAWSServiceAccess operation, the specified service
- // can no longer perform operations in your organization's accounts
- //
- // For more information about integrating other services with Organizations,
- // including the list of services that work with Organizations, see Integrating
- // Organizations with Other Amazon Web Services Services (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services.html)
- // in the Organizations User Guide.
- //
- // This operation can be called only from the organization's management account.
- //
- // 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 AWS Organizations's
- // API operation DisableAWSServiceAccess for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DisableAWSServiceAccess
- func (c *Organizations) DisableAWSServiceAccess(input *DisableAWSServiceAccessInput) (*DisableAWSServiceAccessOutput, error) {
- req, out := c.DisableAWSServiceAccessRequest(input)
- return out, req.Send()
- }
- // DisableAWSServiceAccessWithContext is the same as DisableAWSServiceAccess with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DisableAWSServiceAccess 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 *Organizations) DisableAWSServiceAccessWithContext(ctx aws.Context, input *DisableAWSServiceAccessInput, opts ...request.Option) (*DisableAWSServiceAccessOutput, error) {
- req, out := c.DisableAWSServiceAccessRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opDisablePolicyType = "DisablePolicyType"
- // DisablePolicyTypeRequest generates a "aws/request.Request" representing the
- // client's request for the DisablePolicyType 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 DisablePolicyType for more information on using the DisablePolicyType
- // 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 DisablePolicyTypeRequest method.
- // req, resp := client.DisablePolicyTypeRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DisablePolicyType
- func (c *Organizations) DisablePolicyTypeRequest(input *DisablePolicyTypeInput) (req *request.Request, output *DisablePolicyTypeOutput) {
- op := &request.Operation{
- Name: opDisablePolicyType,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DisablePolicyTypeInput{}
- }
- output = &DisablePolicyTypeOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // DisablePolicyType API operation for AWS Organizations.
- //
- // Disables an organizational policy type in a root. A policy of a certain type
- // can be attached to entities in a root only if that type is enabled in the
- // root. After you perform this operation, you no longer can attach policies
- // of the specified type to that root or to any organizational unit (OU) or
- // account in that root. You can undo this by using the EnablePolicyType operation.
- //
- // This is an asynchronous request that Amazon Web Services performs in the
- // background. If you disable a policy type for a root, it still appears enabled
- // for the organization if all features (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html)
- // are enabled for the organization. Amazon Web Services recommends that you
- // first use ListRoots to see the status of policy types for a specified root,
- // and then use this operation.
- //
- // This operation can be called only from the organization's management account.
- //
- // To view the status of available policy types in the organization, use DescribeOrganization.
- //
- // 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 AWS Organizations's
- // API operation DisablePolicyType for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - PolicyTypeNotEnabledException
- // The specified policy type isn't currently enabled in this root. You can't
- // attach policies of the specified type to entities in a root until you enable
- // that type in the root. For more information, see Enabling All Features in
- // Your Organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html)
- // in the Organizations User Guide.
- //
- // - RootNotFoundException
- // We can't find a root with the RootId that you specified.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // - PolicyChangesInProgressException
- // Changes to the effective policy are in progress, and its contents can't be
- // returned. Try the operation again later.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/DisablePolicyType
- func (c *Organizations) DisablePolicyType(input *DisablePolicyTypeInput) (*DisablePolicyTypeOutput, error) {
- req, out := c.DisablePolicyTypeRequest(input)
- return out, req.Send()
- }
- // DisablePolicyTypeWithContext is the same as DisablePolicyType with the addition of
- // the ability to pass a context and additional request options.
- //
- // See DisablePolicyType 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 *Organizations) DisablePolicyTypeWithContext(ctx aws.Context, input *DisablePolicyTypeInput, opts ...request.Option) (*DisablePolicyTypeOutput, error) {
- req, out := c.DisablePolicyTypeRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opEnableAWSServiceAccess = "EnableAWSServiceAccess"
- // EnableAWSServiceAccessRequest generates a "aws/request.Request" representing the
- // client's request for the EnableAWSServiceAccess 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 EnableAWSServiceAccess for more information on using the EnableAWSServiceAccess
- // 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 EnableAWSServiceAccessRequest method.
- // req, resp := client.EnableAWSServiceAccessRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/EnableAWSServiceAccess
- func (c *Organizations) EnableAWSServiceAccessRequest(input *EnableAWSServiceAccessInput) (req *request.Request, output *EnableAWSServiceAccessOutput) {
- op := &request.Operation{
- Name: opEnableAWSServiceAccess,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &EnableAWSServiceAccessInput{}
- }
- output = &EnableAWSServiceAccessOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
- }
- // EnableAWSServiceAccess API operation for AWS Organizations.
- //
- // Enables the integration of an Amazon Web Services service (the service that
- // is specified by ServicePrincipal) with Organizations. When you enable integration,
- // you allow the specified service to create a service-linked role (https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html)
- // in all the accounts in your organization. This allows the service to perform
- // operations on your behalf in your organization and its accounts.
- //
- // We recommend that you enable integration between Organizations and the specified
- // Amazon Web Services service by using the console or commands that are provided
- // by the specified service. Doing so ensures that the service is aware that
- // it can create the resources that are required for the integration. How the
- // service creates those resources in the organization's accounts depends on
- // that service. For more information, see the documentation for the other Amazon
- // Web Services service.
- //
- // For more information about enabling services to integrate with Organizations,
- // see Integrating Organizations with Other Amazon Web Services Services (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services.html)
- // in the Organizations User Guide.
- //
- // You can only call this operation from the organization's management account
- // and only if the organization has enabled all features (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html).
- //
- // 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 AWS Organizations's
- // API operation EnableAWSServiceAccess for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/EnableAWSServiceAccess
- func (c *Organizations) EnableAWSServiceAccess(input *EnableAWSServiceAccessInput) (*EnableAWSServiceAccessOutput, error) {
- req, out := c.EnableAWSServiceAccessRequest(input)
- return out, req.Send()
- }
- // EnableAWSServiceAccessWithContext is the same as EnableAWSServiceAccess with the addition of
- // the ability to pass a context and additional request options.
- //
- // See EnableAWSServiceAccess 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 *Organizations) EnableAWSServiceAccessWithContext(ctx aws.Context, input *EnableAWSServiceAccessInput, opts ...request.Option) (*EnableAWSServiceAccessOutput, error) {
- req, out := c.EnableAWSServiceAccessRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opEnableAllFeatures = "EnableAllFeatures"
- // EnableAllFeaturesRequest generates a "aws/request.Request" representing the
- // client's request for the EnableAllFeatures 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 EnableAllFeatures for more information on using the EnableAllFeatures
- // 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 EnableAllFeaturesRequest method.
- // req, resp := client.EnableAllFeaturesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/EnableAllFeatures
- func (c *Organizations) EnableAllFeaturesRequest(input *EnableAllFeaturesInput) (req *request.Request, output *EnableAllFeaturesOutput) {
- op := &request.Operation{
- Name: opEnableAllFeatures,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &EnableAllFeaturesInput{}
- }
- output = &EnableAllFeaturesOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // EnableAllFeatures API operation for AWS Organizations.
- //
- // Enables all features in an organization. This enables the use of organization
- // policies that can restrict the services and actions that can be called in
- // each account. Until you enable all features, you have access only to consolidated
- // billing, and you can't use any of the advanced account administration features
- // that Organizations supports. For more information, see Enabling All Features
- // in Your Organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html)
- // in the Organizations User Guide.
- //
- // This operation is required only for organizations that were created explicitly
- // with only the consolidated billing features enabled. Calling this operation
- // sends a handshake to every invited account in the organization. The feature
- // set change can be finalized and the additional features enabled only after
- // all administrators in the invited accounts approve the change by accepting
- // the handshake.
- //
- // After you enable all features, you can separately enable or disable individual
- // policy types in a root using EnablePolicyType and DisablePolicyType. To see
- // the status of policy types in a root, use ListRoots.
- //
- // After all invited member accounts accept the handshake, you finalize the
- // feature set change by accepting the handshake that contains "Action": "ENABLE_ALL_FEATURES".
- // This completes the change.
- //
- // After you enable all features in your organization, the management account
- // in the organization can apply policies on all member accounts. These policies
- // can restrict what users and even administrators in those accounts can do.
- // The management account can apply policies that prevent accounts from leaving
- // the organization. Ensure that your account administrators are aware of this.
- //
- // This operation can be called only from the organization's management account.
- //
- // 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 AWS Organizations's
- // API operation EnableAllFeatures for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - HandshakeConstraintViolationException
- // The requested operation would violate the constraint identified in the reason
- // code.
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation:
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. Note that deleted and closed
- // accounts still count toward your limit. If you get this exception immediately
- // after creating the organization, wait one hour and try again. If after
- // an hour it continues to fail with this error, contact Amazon Web Services
- // Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - ALREADY_IN_AN_ORGANIZATION: The handshake request is invalid because
- // the invited account is already a member of an organization.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVITE_DISABLED_DURING_ENABLE_ALL_FEATURES: You can't issue new invitations
- // to join an organization while it's in the process of enabling all features.
- // You can resume inviting accounts after you finalize the process when all
- // accounts have agreed to the change.
- //
- // - ORGANIZATION_ALREADY_HAS_ALL_FEATURES: The handshake request is invalid
- // because the organization has already enabled all features.
- //
- // - ORGANIZATION_IS_ALREADY_PENDING_ALL_FEATURES_MIGRATION: The handshake
- // request is invalid because the organization has already started the process
- // to enable all features.
- //
- // - ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD: The request failed because
- // the account is from a different marketplace than the accounts in the organization.
- // For example, accounts with India addresses must be associated with the
- // AISPL marketplace. All accounts in an organization must be from the same
- // marketplace.
- //
- // - ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED: You attempted to
- // change the membership of an account too quickly after its previous change.
- //
- // - PAYMENT_INSTRUMENT_REQUIRED: You can't complete the operation with an
- // account that doesn't have a payment instrument, such as a credit card,
- // associated with it.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/EnableAllFeatures
- func (c *Organizations) EnableAllFeatures(input *EnableAllFeaturesInput) (*EnableAllFeaturesOutput, error) {
- req, out := c.EnableAllFeaturesRequest(input)
- return out, req.Send()
- }
- // EnableAllFeaturesWithContext is the same as EnableAllFeatures with the addition of
- // the ability to pass a context and additional request options.
- //
- // See EnableAllFeatures 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 *Organizations) EnableAllFeaturesWithContext(ctx aws.Context, input *EnableAllFeaturesInput, opts ...request.Option) (*EnableAllFeaturesOutput, error) {
- req, out := c.EnableAllFeaturesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opEnablePolicyType = "EnablePolicyType"
- // EnablePolicyTypeRequest generates a "aws/request.Request" representing the
- // client's request for the EnablePolicyType 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 EnablePolicyType for more information on using the EnablePolicyType
- // 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 EnablePolicyTypeRequest method.
- // req, resp := client.EnablePolicyTypeRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/EnablePolicyType
- func (c *Organizations) EnablePolicyTypeRequest(input *EnablePolicyTypeInput) (req *request.Request, output *EnablePolicyTypeOutput) {
- op := &request.Operation{
- Name: opEnablePolicyType,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &EnablePolicyTypeInput{}
- }
- output = &EnablePolicyTypeOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // EnablePolicyType API operation for AWS Organizations.
- //
- // Enables a policy type in a root. After you enable a policy type in a root,
- // you can attach policies of that type to the root, any organizational unit
- // (OU), or account in that root. You can undo this by using the DisablePolicyType
- // operation.
- //
- // This is an asynchronous request that Amazon Web Services performs in the
- // background. Amazon Web Services recommends that you first use ListRoots to
- // see the status of policy types for a specified root, and then use this operation.
- //
- // This operation can be called only from the organization's management account.
- //
- // You can enable a policy type in a root only if that policy type is available
- // in the organization. To view the status of available policy types in the
- // organization, use DescribeOrganization.
- //
- // 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 AWS Organizations's
- // API operation EnablePolicyType for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - PolicyTypeAlreadyEnabledException
- // The specified policy type is already enabled in the specified root.
- //
- // - RootNotFoundException
- // We can't find a root with the RootId that you specified.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - PolicyTypeNotAvailableForOrganizationException
- // You can't use the specified policy type with the feature set currently enabled
- // for this organization. For example, you can enable SCPs only after you enable
- // all features in the organization. For more information, see Managing Organizations
- // Policies (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html#enable_policies_on_root)in
- // the Organizations User Guide.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // - PolicyChangesInProgressException
- // Changes to the effective policy are in progress, and its contents can't be
- // returned. Try the operation again later.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/EnablePolicyType
- func (c *Organizations) EnablePolicyType(input *EnablePolicyTypeInput) (*EnablePolicyTypeOutput, error) {
- req, out := c.EnablePolicyTypeRequest(input)
- return out, req.Send()
- }
- // EnablePolicyTypeWithContext is the same as EnablePolicyType with the addition of
- // the ability to pass a context and additional request options.
- //
- // See EnablePolicyType 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 *Organizations) EnablePolicyTypeWithContext(ctx aws.Context, input *EnablePolicyTypeInput, opts ...request.Option) (*EnablePolicyTypeOutput, error) {
- req, out := c.EnablePolicyTypeRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opInviteAccountToOrganization = "InviteAccountToOrganization"
- // InviteAccountToOrganizationRequest generates a "aws/request.Request" representing the
- // client's request for the InviteAccountToOrganization 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 InviteAccountToOrganization for more information on using the InviteAccountToOrganization
- // 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 InviteAccountToOrganizationRequest method.
- // req, resp := client.InviteAccountToOrganizationRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/InviteAccountToOrganization
- func (c *Organizations) InviteAccountToOrganizationRequest(input *InviteAccountToOrganizationInput) (req *request.Request, output *InviteAccountToOrganizationOutput) {
- op := &request.Operation{
- Name: opInviteAccountToOrganization,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &InviteAccountToOrganizationInput{}
- }
- output = &InviteAccountToOrganizationOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // InviteAccountToOrganization API operation for AWS Organizations.
- //
- // Sends an invitation to another account to join your organization as a member
- // account. Organizations sends email on your behalf to the email address that
- // is associated with the other account's owner. The invitation is implemented
- // as a Handshake whose details are in the response.
- //
- // - You can invite Amazon Web Services accounts only from the same seller
- // as the management account. For example, if your organization's management
- // account was created by Amazon Internet Services Pvt. Ltd (AISPL), an Amazon
- // Web Services seller in India, you can invite only other AISPL accounts
- // to your organization. You can't combine accounts from AISPL and Amazon
- // Web Services or from any other Amazon Web Services seller. For more information,
- // see Consolidated Billing in India (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/useconsolidatedbilliing-India.html).
- //
- // - If you receive an exception that indicates that you exceeded your account
- // limits for the organization or that the operation failed because your
- // organization is still initializing, wait one hour and then try again.
- // If the error persists after an hour, contact Amazon Web Services Support
- // (https://console.aws.amazon.com/support/home#/).
- //
- // If the request includes tags, then the requester must have the organizations:TagResource
- // permission.
- //
- // This operation can be called only from the organization's management account.
- //
- // 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 AWS Organizations's
- // API operation InviteAccountToOrganization for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - AccountOwnerNotVerifiedException
- // You can't invite an existing account to your organization until you verify
- // that you own the email address associated with the management account. For
- // more information, see Email Address Verification (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_create.html#about-email-verification)
- // in the Organizations User Guide.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - HandshakeConstraintViolationException
- // The requested operation would violate the constraint identified in the reason
- // code.
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation:
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. Note that deleted and closed
- // accounts still count toward your limit. If you get this exception immediately
- // after creating the organization, wait one hour and try again. If after
- // an hour it continues to fail with this error, contact Amazon Web Services
- // Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - ALREADY_IN_AN_ORGANIZATION: The handshake request is invalid because
- // the invited account is already a member of an organization.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVITE_DISABLED_DURING_ENABLE_ALL_FEATURES: You can't issue new invitations
- // to join an organization while it's in the process of enabling all features.
- // You can resume inviting accounts after you finalize the process when all
- // accounts have agreed to the change.
- //
- // - ORGANIZATION_ALREADY_HAS_ALL_FEATURES: The handshake request is invalid
- // because the organization has already enabled all features.
- //
- // - ORGANIZATION_IS_ALREADY_PENDING_ALL_FEATURES_MIGRATION: The handshake
- // request is invalid because the organization has already started the process
- // to enable all features.
- //
- // - ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD: The request failed because
- // the account is from a different marketplace than the accounts in the organization.
- // For example, accounts with India addresses must be associated with the
- // AISPL marketplace. All accounts in an organization must be from the same
- // marketplace.
- //
- // - ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED: You attempted to
- // change the membership of an account too quickly after its previous change.
- //
- // - PAYMENT_INSTRUMENT_REQUIRED: You can't complete the operation with an
- // account that doesn't have a payment instrument, such as a credit card,
- // associated with it.
- //
- // - DuplicateHandshakeException
- // A handshake with the same action and target already exists. For example,
- // if you invited an account to join your organization, the invited account
- // might already have a pending invitation from this organization. If you intend
- // to resend an invitation to an account, ensure that existing handshakes that
- // might be considered duplicates are canceled or declined.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - FinalizingOrganizationException
- // Organizations couldn't perform the operation because your organization hasn't
- // finished initializing. This can take up to an hour. Try again later. If after
- // one hour you continue to receive this error, contact Amazon Web Services
- // Support (https://console.aws.amazon.com/support/home#/).
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/InviteAccountToOrganization
- func (c *Organizations) InviteAccountToOrganization(input *InviteAccountToOrganizationInput) (*InviteAccountToOrganizationOutput, error) {
- req, out := c.InviteAccountToOrganizationRequest(input)
- return out, req.Send()
- }
- // InviteAccountToOrganizationWithContext is the same as InviteAccountToOrganization with the addition of
- // the ability to pass a context and additional request options.
- //
- // See InviteAccountToOrganization 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 *Organizations) InviteAccountToOrganizationWithContext(ctx aws.Context, input *InviteAccountToOrganizationInput, opts ...request.Option) (*InviteAccountToOrganizationOutput, error) {
- req, out := c.InviteAccountToOrganizationRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opLeaveOrganization = "LeaveOrganization"
- // LeaveOrganizationRequest generates a "aws/request.Request" representing the
- // client's request for the LeaveOrganization 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 LeaveOrganization for more information on using the LeaveOrganization
- // 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 LeaveOrganizationRequest method.
- // req, resp := client.LeaveOrganizationRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/LeaveOrganization
- func (c *Organizations) LeaveOrganizationRequest(input *LeaveOrganizationInput) (req *request.Request, output *LeaveOrganizationOutput) {
- op := &request.Operation{
- Name: opLeaveOrganization,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &LeaveOrganizationInput{}
- }
- output = &LeaveOrganizationOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
- }
- // LeaveOrganization API operation for AWS Organizations.
- //
- // Removes a member account from its parent organization. This version of the
- // operation is performed by the account that wants to leave. To remove a member
- // account as a user in the management account, use RemoveAccountFromOrganization
- // instead.
- //
- // This operation can be called only from a member account in the organization.
- //
- // - The management account in an organization with all features enabled
- // can set service control policies (SCPs) that can restrict what administrators
- // of member accounts can do. This includes preventing them from successfully
- // calling LeaveOrganization and leaving the organization.
- //
- // - You can leave an organization as a member account only if the account
- // is configured with the information required to operate as a standalone
- // account. When you create an account in an organization using the Organizations
- // console, API, or CLI commands, the information required of standalone
- // accounts is not automatically collected. For each account that you want
- // to make standalone, you must perform the following steps. If any of the
- // steps are already completed for this account, that step doesn't appear.
- // Choose a support plan Provide and verify the required contact information
- // Provide a current payment method Amazon Web Services uses the payment
- // method to charge for any billable (not free tier) Amazon Web Services
- // activity that occurs while the account isn't attached to an organization.
- // Follow the steps at To leave an organization when all required account
- // information has not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - The account that you want to leave must not be a delegated administrator
- // account for any Amazon Web Services service enabled for your organization.
- // If the account is a delegated administrator, you must first change the
- // delegated administrator account to another account that is remaining in
- // the organization.
- //
- // - You can leave an organization only after you enable IAM user access
- // to billing in your account. For more information, see Activating Access
- // to the Billing and Cost Management Console (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/grantaccess.html#ControllingAccessWebsite-Activate)
- // in the Amazon Web Services Billing and Cost Management User Guide.
- //
- // - After the account leaves the organization, all tags that were attached
- // to the account object in the organization are deleted. Amazon Web Services
- // accounts outside of an organization do not support tags.
- //
- // - A newly created account has a waiting period before it can be removed
- // from its organization. If you get an error that indicates that a wait
- // period is required, then try again in a few 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 AWS Organizations's
- // API operation LeaveOrganization for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AccountNotFoundException
- // We can't find an Amazon Web Services account with the AccountId that you
- // specified, or the account whose credentials you used to make this request
- // isn't a member of an organization.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - MasterCannotLeaveOrganizationException
- // You can't remove a management account from an organization. If you want the
- // management account to become a member account in another organization, you
- // must first delete the current organization of the management account.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/LeaveOrganization
- func (c *Organizations) LeaveOrganization(input *LeaveOrganizationInput) (*LeaveOrganizationOutput, error) {
- req, out := c.LeaveOrganizationRequest(input)
- return out, req.Send()
- }
- // LeaveOrganizationWithContext is the same as LeaveOrganization with the addition of
- // the ability to pass a context and additional request options.
- //
- // See LeaveOrganization 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 *Organizations) LeaveOrganizationWithContext(ctx aws.Context, input *LeaveOrganizationInput, opts ...request.Option) (*LeaveOrganizationOutput, error) {
- req, out := c.LeaveOrganizationRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opListAWSServiceAccessForOrganization = "ListAWSServiceAccessForOrganization"
- // ListAWSServiceAccessForOrganizationRequest generates a "aws/request.Request" representing the
- // client's request for the ListAWSServiceAccessForOrganization 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 ListAWSServiceAccessForOrganization for more information on using the ListAWSServiceAccessForOrganization
- // 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 ListAWSServiceAccessForOrganizationRequest method.
- // req, resp := client.ListAWSServiceAccessForOrganizationRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListAWSServiceAccessForOrganization
- func (c *Organizations) ListAWSServiceAccessForOrganizationRequest(input *ListAWSServiceAccessForOrganizationInput) (req *request.Request, output *ListAWSServiceAccessForOrganizationOutput) {
- op := &request.Operation{
- Name: opListAWSServiceAccessForOrganization,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "MaxResults",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListAWSServiceAccessForOrganizationInput{}
- }
- output = &ListAWSServiceAccessForOrganizationOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ListAWSServiceAccessForOrganization API operation for AWS Organizations.
- //
- // Returns a list of the Amazon Web Services services that you enabled to integrate
- // with your organization. After a service on this list creates the resources
- // that it requires for the integration, it can perform operations on your organization
- // and its accounts.
- //
- // For more information about integrating other services with Organizations,
- // including the list of services that currently work with Organizations, see
- // Integrating Organizations with Other Amazon Web Services Services (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services.html)
- // in the Organizations User Guide.
- //
- // This operation can be called only from the organization's management account
- // or by a member account that is a delegated administrator for an Amazon Web
- // Services service.
- //
- // 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 AWS Organizations's
- // API operation ListAWSServiceAccessForOrganization for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListAWSServiceAccessForOrganization
- func (c *Organizations) ListAWSServiceAccessForOrganization(input *ListAWSServiceAccessForOrganizationInput) (*ListAWSServiceAccessForOrganizationOutput, error) {
- req, out := c.ListAWSServiceAccessForOrganizationRequest(input)
- return out, req.Send()
- }
- // ListAWSServiceAccessForOrganizationWithContext is the same as ListAWSServiceAccessForOrganization with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListAWSServiceAccessForOrganization 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 *Organizations) ListAWSServiceAccessForOrganizationWithContext(ctx aws.Context, input *ListAWSServiceAccessForOrganizationInput, opts ...request.Option) (*ListAWSServiceAccessForOrganizationOutput, error) {
- req, out := c.ListAWSServiceAccessForOrganizationRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // ListAWSServiceAccessForOrganizationPages iterates over the pages of a ListAWSServiceAccessForOrganization operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListAWSServiceAccessForOrganization 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 ListAWSServiceAccessForOrganization operation.
- // pageNum := 0
- // err := client.ListAWSServiceAccessForOrganizationPages(params,
- // func(page *organizations.ListAWSServiceAccessForOrganizationOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- func (c *Organizations) ListAWSServiceAccessForOrganizationPages(input *ListAWSServiceAccessForOrganizationInput, fn func(*ListAWSServiceAccessForOrganizationOutput, bool) bool) error {
- return c.ListAWSServiceAccessForOrganizationPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // ListAWSServiceAccessForOrganizationPagesWithContext same as ListAWSServiceAccessForOrganizationPages 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 *Organizations) ListAWSServiceAccessForOrganizationPagesWithContext(ctx aws.Context, input *ListAWSServiceAccessForOrganizationInput, fn func(*ListAWSServiceAccessForOrganizationOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListAWSServiceAccessForOrganizationInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListAWSServiceAccessForOrganizationRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- for p.Next() {
- if !fn(p.Page().(*ListAWSServiceAccessForOrganizationOutput), !p.HasNextPage()) {
- break
- }
- }
- return p.Err()
- }
- const opListAccounts = "ListAccounts"
- // ListAccountsRequest generates a "aws/request.Request" representing the
- // client's request for the ListAccounts 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 ListAccounts for more information on using the ListAccounts
- // 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 ListAccountsRequest method.
- // req, resp := client.ListAccountsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListAccounts
- func (c *Organizations) ListAccountsRequest(input *ListAccountsInput) (req *request.Request, output *ListAccountsOutput) {
- op := &request.Operation{
- Name: opListAccounts,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "MaxResults",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListAccountsInput{}
- }
- output = &ListAccountsOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ListAccounts API operation for AWS Organizations.
- //
- // Lists all the accounts in the organization. To request only the accounts
- // in a specified root or organizational unit (OU), use the ListAccountsForParent
- // operation instead.
- //
- // Always check the NextToken response parameter for a null value when calling
- // a List* operation. These operations can occasionally return an empty set
- // of results even when there are more results available. The NextToken response
- // parameter value is null only when there are no more results to display.
- //
- // This operation can be called only from the organization's management account
- // or by a member account that is a delegated administrator for an Amazon Web
- // Services service.
- //
- // 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 AWS Organizations's
- // API operation ListAccounts for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListAccounts
- func (c *Organizations) ListAccounts(input *ListAccountsInput) (*ListAccountsOutput, error) {
- req, out := c.ListAccountsRequest(input)
- return out, req.Send()
- }
- // ListAccountsWithContext is the same as ListAccounts with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListAccounts 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 *Organizations) ListAccountsWithContext(ctx aws.Context, input *ListAccountsInput, opts ...request.Option) (*ListAccountsOutput, error) {
- req, out := c.ListAccountsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // ListAccountsPages iterates over the pages of a ListAccounts operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListAccounts 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 ListAccounts operation.
- // pageNum := 0
- // err := client.ListAccountsPages(params,
- // func(page *organizations.ListAccountsOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- func (c *Organizations) ListAccountsPages(input *ListAccountsInput, fn func(*ListAccountsOutput, bool) bool) error {
- return c.ListAccountsPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // ListAccountsPagesWithContext same as ListAccountsPages 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 *Organizations) ListAccountsPagesWithContext(ctx aws.Context, input *ListAccountsInput, fn func(*ListAccountsOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListAccountsInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListAccountsRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- for p.Next() {
- if !fn(p.Page().(*ListAccountsOutput), !p.HasNextPage()) {
- break
- }
- }
- return p.Err()
- }
- const opListAccountsForParent = "ListAccountsForParent"
- // ListAccountsForParentRequest generates a "aws/request.Request" representing the
- // client's request for the ListAccountsForParent 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 ListAccountsForParent for more information on using the ListAccountsForParent
- // 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 ListAccountsForParentRequest method.
- // req, resp := client.ListAccountsForParentRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListAccountsForParent
- func (c *Organizations) ListAccountsForParentRequest(input *ListAccountsForParentInput) (req *request.Request, output *ListAccountsForParentOutput) {
- op := &request.Operation{
- Name: opListAccountsForParent,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "MaxResults",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListAccountsForParentInput{}
- }
- output = &ListAccountsForParentOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ListAccountsForParent API operation for AWS Organizations.
- //
- // Lists the accounts in an organization that are contained by the specified
- // target root or organizational unit (OU). If you specify the root, you get
- // a list of all the accounts that aren't in any OU. If you specify an OU, you
- // get a list of all the accounts in only that OU and not in any child OUs.
- // To get a list of all accounts in the organization, use the ListAccounts operation.
- //
- // Always check the NextToken response parameter for a null value when calling
- // a List* operation. These operations can occasionally return an empty set
- // of results even when there are more results available. The NextToken response
- // parameter value is null only when there are no more results to display.
- //
- // This operation can be called only from the organization's management account
- // or by a member account that is a delegated administrator for an Amazon Web
- // Services service.
- //
- // 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 AWS Organizations's
- // API operation ListAccountsForParent for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ParentNotFoundException
- // We can't find a root or OU with the ParentId that you specified.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListAccountsForParent
- func (c *Organizations) ListAccountsForParent(input *ListAccountsForParentInput) (*ListAccountsForParentOutput, error) {
- req, out := c.ListAccountsForParentRequest(input)
- return out, req.Send()
- }
- // ListAccountsForParentWithContext is the same as ListAccountsForParent with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListAccountsForParent 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 *Organizations) ListAccountsForParentWithContext(ctx aws.Context, input *ListAccountsForParentInput, opts ...request.Option) (*ListAccountsForParentOutput, error) {
- req, out := c.ListAccountsForParentRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // ListAccountsForParentPages iterates over the pages of a ListAccountsForParent operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListAccountsForParent 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 ListAccountsForParent operation.
- // pageNum := 0
- // err := client.ListAccountsForParentPages(params,
- // func(page *organizations.ListAccountsForParentOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- func (c *Organizations) ListAccountsForParentPages(input *ListAccountsForParentInput, fn func(*ListAccountsForParentOutput, bool) bool) error {
- return c.ListAccountsForParentPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // ListAccountsForParentPagesWithContext same as ListAccountsForParentPages 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 *Organizations) ListAccountsForParentPagesWithContext(ctx aws.Context, input *ListAccountsForParentInput, fn func(*ListAccountsForParentOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListAccountsForParentInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListAccountsForParentRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- for p.Next() {
- if !fn(p.Page().(*ListAccountsForParentOutput), !p.HasNextPage()) {
- break
- }
- }
- return p.Err()
- }
- const opListChildren = "ListChildren"
- // ListChildrenRequest generates a "aws/request.Request" representing the
- // client's request for the ListChildren 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 ListChildren for more information on using the ListChildren
- // 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 ListChildrenRequest method.
- // req, resp := client.ListChildrenRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListChildren
- func (c *Organizations) ListChildrenRequest(input *ListChildrenInput) (req *request.Request, output *ListChildrenOutput) {
- op := &request.Operation{
- Name: opListChildren,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "MaxResults",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListChildrenInput{}
- }
- output = &ListChildrenOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ListChildren API operation for AWS Organizations.
- //
- // Lists all of the organizational units (OUs) or accounts that are contained
- // in the specified parent OU or root. This operation, along with ListParents
- // enables you to traverse the tree structure that makes up this root.
- //
- // Always check the NextToken response parameter for a null value when calling
- // a List* operation. These operations can occasionally return an empty set
- // of results even when there are more results available. The NextToken response
- // parameter value is null only when there are no more results to display.
- //
- // This operation can be called only from the organization's management account
- // or by a member account that is a delegated administrator for an Amazon Web
- // Services service.
- //
- // 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 AWS Organizations's
- // API operation ListChildren for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ParentNotFoundException
- // We can't find a root or OU with the ParentId that you specified.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListChildren
- func (c *Organizations) ListChildren(input *ListChildrenInput) (*ListChildrenOutput, error) {
- req, out := c.ListChildrenRequest(input)
- return out, req.Send()
- }
- // ListChildrenWithContext is the same as ListChildren with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListChildren 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 *Organizations) ListChildrenWithContext(ctx aws.Context, input *ListChildrenInput, opts ...request.Option) (*ListChildrenOutput, error) {
- req, out := c.ListChildrenRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // ListChildrenPages iterates over the pages of a ListChildren operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListChildren 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 ListChildren operation.
- // pageNum := 0
- // err := client.ListChildrenPages(params,
- // func(page *organizations.ListChildrenOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- func (c *Organizations) ListChildrenPages(input *ListChildrenInput, fn func(*ListChildrenOutput, bool) bool) error {
- return c.ListChildrenPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // ListChildrenPagesWithContext same as ListChildrenPages 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 *Organizations) ListChildrenPagesWithContext(ctx aws.Context, input *ListChildrenInput, fn func(*ListChildrenOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListChildrenInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListChildrenRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- for p.Next() {
- if !fn(p.Page().(*ListChildrenOutput), !p.HasNextPage()) {
- break
- }
- }
- return p.Err()
- }
- const opListCreateAccountStatus = "ListCreateAccountStatus"
- // ListCreateAccountStatusRequest generates a "aws/request.Request" representing the
- // client's request for the ListCreateAccountStatus 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 ListCreateAccountStatus for more information on using the ListCreateAccountStatus
- // 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 ListCreateAccountStatusRequest method.
- // req, resp := client.ListCreateAccountStatusRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListCreateAccountStatus
- func (c *Organizations) ListCreateAccountStatusRequest(input *ListCreateAccountStatusInput) (req *request.Request, output *ListCreateAccountStatusOutput) {
- op := &request.Operation{
- Name: opListCreateAccountStatus,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "MaxResults",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListCreateAccountStatusInput{}
- }
- output = &ListCreateAccountStatusOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ListCreateAccountStatus API operation for AWS Organizations.
- //
- // Lists the account creation requests that match the specified status that
- // is currently being tracked for the organization.
- //
- // Always check the NextToken response parameter for a null value when calling
- // a List* operation. These operations can occasionally return an empty set
- // of results even when there are more results available. The NextToken response
- // parameter value is null only when there are no more results to display.
- //
- // This operation can be called only from the organization's management account
- // or by a member account that is a delegated administrator for an Amazon Web
- // Services service.
- //
- // 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 AWS Organizations's
- // API operation ListCreateAccountStatus for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListCreateAccountStatus
- func (c *Organizations) ListCreateAccountStatus(input *ListCreateAccountStatusInput) (*ListCreateAccountStatusOutput, error) {
- req, out := c.ListCreateAccountStatusRequest(input)
- return out, req.Send()
- }
- // ListCreateAccountStatusWithContext is the same as ListCreateAccountStatus with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListCreateAccountStatus 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 *Organizations) ListCreateAccountStatusWithContext(ctx aws.Context, input *ListCreateAccountStatusInput, opts ...request.Option) (*ListCreateAccountStatusOutput, error) {
- req, out := c.ListCreateAccountStatusRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // ListCreateAccountStatusPages iterates over the pages of a ListCreateAccountStatus operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListCreateAccountStatus 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 ListCreateAccountStatus operation.
- // pageNum := 0
- // err := client.ListCreateAccountStatusPages(params,
- // func(page *organizations.ListCreateAccountStatusOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- func (c *Organizations) ListCreateAccountStatusPages(input *ListCreateAccountStatusInput, fn func(*ListCreateAccountStatusOutput, bool) bool) error {
- return c.ListCreateAccountStatusPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // ListCreateAccountStatusPagesWithContext same as ListCreateAccountStatusPages 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 *Organizations) ListCreateAccountStatusPagesWithContext(ctx aws.Context, input *ListCreateAccountStatusInput, fn func(*ListCreateAccountStatusOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListCreateAccountStatusInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListCreateAccountStatusRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- for p.Next() {
- if !fn(p.Page().(*ListCreateAccountStatusOutput), !p.HasNextPage()) {
- break
- }
- }
- return p.Err()
- }
- const opListDelegatedAdministrators = "ListDelegatedAdministrators"
- // ListDelegatedAdministratorsRequest generates a "aws/request.Request" representing the
- // client's request for the ListDelegatedAdministrators 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 ListDelegatedAdministrators for more information on using the ListDelegatedAdministrators
- // 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 ListDelegatedAdministratorsRequest method.
- // req, resp := client.ListDelegatedAdministratorsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListDelegatedAdministrators
- func (c *Organizations) ListDelegatedAdministratorsRequest(input *ListDelegatedAdministratorsInput) (req *request.Request, output *ListDelegatedAdministratorsOutput) {
- op := &request.Operation{
- Name: opListDelegatedAdministrators,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "MaxResults",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListDelegatedAdministratorsInput{}
- }
- output = &ListDelegatedAdministratorsOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ListDelegatedAdministrators API operation for AWS Organizations.
- //
- // Lists the Amazon Web Services accounts that are designated as delegated administrators
- // in this organization.
- //
- // This operation can be called only from the organization's management account
- // or by a member account that is a delegated administrator for an Amazon Web
- // Services service.
- //
- // 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 AWS Organizations's
- // API operation ListDelegatedAdministrators for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListDelegatedAdministrators
- func (c *Organizations) ListDelegatedAdministrators(input *ListDelegatedAdministratorsInput) (*ListDelegatedAdministratorsOutput, error) {
- req, out := c.ListDelegatedAdministratorsRequest(input)
- return out, req.Send()
- }
- // ListDelegatedAdministratorsWithContext is the same as ListDelegatedAdministrators with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListDelegatedAdministrators 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 *Organizations) ListDelegatedAdministratorsWithContext(ctx aws.Context, input *ListDelegatedAdministratorsInput, opts ...request.Option) (*ListDelegatedAdministratorsOutput, error) {
- req, out := c.ListDelegatedAdministratorsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // ListDelegatedAdministratorsPages iterates over the pages of a ListDelegatedAdministrators operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListDelegatedAdministrators 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 ListDelegatedAdministrators operation.
- // pageNum := 0
- // err := client.ListDelegatedAdministratorsPages(params,
- // func(page *organizations.ListDelegatedAdministratorsOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- func (c *Organizations) ListDelegatedAdministratorsPages(input *ListDelegatedAdministratorsInput, fn func(*ListDelegatedAdministratorsOutput, bool) bool) error {
- return c.ListDelegatedAdministratorsPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // ListDelegatedAdministratorsPagesWithContext same as ListDelegatedAdministratorsPages 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 *Organizations) ListDelegatedAdministratorsPagesWithContext(ctx aws.Context, input *ListDelegatedAdministratorsInput, fn func(*ListDelegatedAdministratorsOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListDelegatedAdministratorsInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListDelegatedAdministratorsRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- for p.Next() {
- if !fn(p.Page().(*ListDelegatedAdministratorsOutput), !p.HasNextPage()) {
- break
- }
- }
- return p.Err()
- }
- const opListDelegatedServicesForAccount = "ListDelegatedServicesForAccount"
- // ListDelegatedServicesForAccountRequest generates a "aws/request.Request" representing the
- // client's request for the ListDelegatedServicesForAccount 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 ListDelegatedServicesForAccount for more information on using the ListDelegatedServicesForAccount
- // 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 ListDelegatedServicesForAccountRequest method.
- // req, resp := client.ListDelegatedServicesForAccountRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListDelegatedServicesForAccount
- func (c *Organizations) ListDelegatedServicesForAccountRequest(input *ListDelegatedServicesForAccountInput) (req *request.Request, output *ListDelegatedServicesForAccountOutput) {
- op := &request.Operation{
- Name: opListDelegatedServicesForAccount,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "MaxResults",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListDelegatedServicesForAccountInput{}
- }
- output = &ListDelegatedServicesForAccountOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ListDelegatedServicesForAccount API operation for AWS Organizations.
- //
- // List the Amazon Web Services services for which the specified account is
- // a delegated administrator.
- //
- // This operation can be called only from the organization's management account
- // or by a member account that is a delegated administrator for an Amazon Web
- // Services service.
- //
- // 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 AWS Organizations's
- // API operation ListDelegatedServicesForAccount for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AccountNotFoundException
- // We can't find an Amazon Web Services account with the AccountId that you
- // specified, or the account whose credentials you used to make this request
- // isn't a member of an organization.
- //
- // - AccountNotRegisteredException
- // The specified account is not a delegated administrator for this Amazon Web
- // Services service.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListDelegatedServicesForAccount
- func (c *Organizations) ListDelegatedServicesForAccount(input *ListDelegatedServicesForAccountInput) (*ListDelegatedServicesForAccountOutput, error) {
- req, out := c.ListDelegatedServicesForAccountRequest(input)
- return out, req.Send()
- }
- // ListDelegatedServicesForAccountWithContext is the same as ListDelegatedServicesForAccount with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListDelegatedServicesForAccount 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 *Organizations) ListDelegatedServicesForAccountWithContext(ctx aws.Context, input *ListDelegatedServicesForAccountInput, opts ...request.Option) (*ListDelegatedServicesForAccountOutput, error) {
- req, out := c.ListDelegatedServicesForAccountRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // ListDelegatedServicesForAccountPages iterates over the pages of a ListDelegatedServicesForAccount operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListDelegatedServicesForAccount 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 ListDelegatedServicesForAccount operation.
- // pageNum := 0
- // err := client.ListDelegatedServicesForAccountPages(params,
- // func(page *organizations.ListDelegatedServicesForAccountOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- func (c *Organizations) ListDelegatedServicesForAccountPages(input *ListDelegatedServicesForAccountInput, fn func(*ListDelegatedServicesForAccountOutput, bool) bool) error {
- return c.ListDelegatedServicesForAccountPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // ListDelegatedServicesForAccountPagesWithContext same as ListDelegatedServicesForAccountPages 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 *Organizations) ListDelegatedServicesForAccountPagesWithContext(ctx aws.Context, input *ListDelegatedServicesForAccountInput, fn func(*ListDelegatedServicesForAccountOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListDelegatedServicesForAccountInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListDelegatedServicesForAccountRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- for p.Next() {
- if !fn(p.Page().(*ListDelegatedServicesForAccountOutput), !p.HasNextPage()) {
- break
- }
- }
- return p.Err()
- }
- const opListHandshakesForAccount = "ListHandshakesForAccount"
- // ListHandshakesForAccountRequest generates a "aws/request.Request" representing the
- // client's request for the ListHandshakesForAccount 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 ListHandshakesForAccount for more information on using the ListHandshakesForAccount
- // 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 ListHandshakesForAccountRequest method.
- // req, resp := client.ListHandshakesForAccountRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListHandshakesForAccount
- func (c *Organizations) ListHandshakesForAccountRequest(input *ListHandshakesForAccountInput) (req *request.Request, output *ListHandshakesForAccountOutput) {
- op := &request.Operation{
- Name: opListHandshakesForAccount,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "MaxResults",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListHandshakesForAccountInput{}
- }
- output = &ListHandshakesForAccountOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ListHandshakesForAccount API operation for AWS Organizations.
- //
- // Lists the current handshakes that are associated with the account of the
- // requesting user.
- //
- // Handshakes that are ACCEPTED, DECLINED, CANCELED, or EXPIRED appear in the
- // results of this API for only 30 days after changing to that state. After
- // that, they're deleted and no longer accessible.
- //
- // Always check the NextToken response parameter for a null value when calling
- // a List* operation. These operations can occasionally return an empty set
- // of results even when there are more results available. The NextToken response
- // parameter value is null only when there are no more results to display.
- //
- // This operation can be called from any account in the organization.
- //
- // 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 AWS Organizations's
- // API operation ListHandshakesForAccount for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListHandshakesForAccount
- func (c *Organizations) ListHandshakesForAccount(input *ListHandshakesForAccountInput) (*ListHandshakesForAccountOutput, error) {
- req, out := c.ListHandshakesForAccountRequest(input)
- return out, req.Send()
- }
- // ListHandshakesForAccountWithContext is the same as ListHandshakesForAccount with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListHandshakesForAccount 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 *Organizations) ListHandshakesForAccountWithContext(ctx aws.Context, input *ListHandshakesForAccountInput, opts ...request.Option) (*ListHandshakesForAccountOutput, error) {
- req, out := c.ListHandshakesForAccountRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // ListHandshakesForAccountPages iterates over the pages of a ListHandshakesForAccount operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListHandshakesForAccount 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 ListHandshakesForAccount operation.
- // pageNum := 0
- // err := client.ListHandshakesForAccountPages(params,
- // func(page *organizations.ListHandshakesForAccountOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- func (c *Organizations) ListHandshakesForAccountPages(input *ListHandshakesForAccountInput, fn func(*ListHandshakesForAccountOutput, bool) bool) error {
- return c.ListHandshakesForAccountPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // ListHandshakesForAccountPagesWithContext same as ListHandshakesForAccountPages 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 *Organizations) ListHandshakesForAccountPagesWithContext(ctx aws.Context, input *ListHandshakesForAccountInput, fn func(*ListHandshakesForAccountOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListHandshakesForAccountInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListHandshakesForAccountRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- for p.Next() {
- if !fn(p.Page().(*ListHandshakesForAccountOutput), !p.HasNextPage()) {
- break
- }
- }
- return p.Err()
- }
- const opListHandshakesForOrganization = "ListHandshakesForOrganization"
- // ListHandshakesForOrganizationRequest generates a "aws/request.Request" representing the
- // client's request for the ListHandshakesForOrganization 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 ListHandshakesForOrganization for more information on using the ListHandshakesForOrganization
- // 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 ListHandshakesForOrganizationRequest method.
- // req, resp := client.ListHandshakesForOrganizationRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListHandshakesForOrganization
- func (c *Organizations) ListHandshakesForOrganizationRequest(input *ListHandshakesForOrganizationInput) (req *request.Request, output *ListHandshakesForOrganizationOutput) {
- op := &request.Operation{
- Name: opListHandshakesForOrganization,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "MaxResults",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListHandshakesForOrganizationInput{}
- }
- output = &ListHandshakesForOrganizationOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ListHandshakesForOrganization API operation for AWS Organizations.
- //
- // Lists the handshakes that are associated with the organization that the requesting
- // user is part of. The ListHandshakesForOrganization operation returns a list
- // of handshake structures. Each structure contains details and status about
- // a handshake.
- //
- // Handshakes that are ACCEPTED, DECLINED, CANCELED, or EXPIRED appear in the
- // results of this API for only 30 days after changing to that state. After
- // that, they're deleted and no longer accessible.
- //
- // Always check the NextToken response parameter for a null value when calling
- // a List* operation. These operations can occasionally return an empty set
- // of results even when there are more results available. The NextToken response
- // parameter value is null only when there are no more results to display.
- //
- // This operation can be called only from the organization's management account
- // or by a member account that is a delegated administrator for an Amazon Web
- // Services service.
- //
- // 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 AWS Organizations's
- // API operation ListHandshakesForOrganization for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListHandshakesForOrganization
- func (c *Organizations) ListHandshakesForOrganization(input *ListHandshakesForOrganizationInput) (*ListHandshakesForOrganizationOutput, error) {
- req, out := c.ListHandshakesForOrganizationRequest(input)
- return out, req.Send()
- }
- // ListHandshakesForOrganizationWithContext is the same as ListHandshakesForOrganization with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListHandshakesForOrganization 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 *Organizations) ListHandshakesForOrganizationWithContext(ctx aws.Context, input *ListHandshakesForOrganizationInput, opts ...request.Option) (*ListHandshakesForOrganizationOutput, error) {
- req, out := c.ListHandshakesForOrganizationRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // ListHandshakesForOrganizationPages iterates over the pages of a ListHandshakesForOrganization operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListHandshakesForOrganization 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 ListHandshakesForOrganization operation.
- // pageNum := 0
- // err := client.ListHandshakesForOrganizationPages(params,
- // func(page *organizations.ListHandshakesForOrganizationOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- func (c *Organizations) ListHandshakesForOrganizationPages(input *ListHandshakesForOrganizationInput, fn func(*ListHandshakesForOrganizationOutput, bool) bool) error {
- return c.ListHandshakesForOrganizationPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // ListHandshakesForOrganizationPagesWithContext same as ListHandshakesForOrganizationPages 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 *Organizations) ListHandshakesForOrganizationPagesWithContext(ctx aws.Context, input *ListHandshakesForOrganizationInput, fn func(*ListHandshakesForOrganizationOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListHandshakesForOrganizationInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListHandshakesForOrganizationRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- for p.Next() {
- if !fn(p.Page().(*ListHandshakesForOrganizationOutput), !p.HasNextPage()) {
- break
- }
- }
- return p.Err()
- }
- const opListOrganizationalUnitsForParent = "ListOrganizationalUnitsForParent"
- // ListOrganizationalUnitsForParentRequest generates a "aws/request.Request" representing the
- // client's request for the ListOrganizationalUnitsForParent 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 ListOrganizationalUnitsForParent for more information on using the ListOrganizationalUnitsForParent
- // 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 ListOrganizationalUnitsForParentRequest method.
- // req, resp := client.ListOrganizationalUnitsForParentRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListOrganizationalUnitsForParent
- func (c *Organizations) ListOrganizationalUnitsForParentRequest(input *ListOrganizationalUnitsForParentInput) (req *request.Request, output *ListOrganizationalUnitsForParentOutput) {
- op := &request.Operation{
- Name: opListOrganizationalUnitsForParent,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "MaxResults",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListOrganizationalUnitsForParentInput{}
- }
- output = &ListOrganizationalUnitsForParentOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ListOrganizationalUnitsForParent API operation for AWS Organizations.
- //
- // Lists the organizational units (OUs) in a parent organizational unit or root.
- //
- // Always check the NextToken response parameter for a null value when calling
- // a List* operation. These operations can occasionally return an empty set
- // of results even when there are more results available. The NextToken response
- // parameter value is null only when there are no more results to display.
- //
- // This operation can be called only from the organization's management account
- // or by a member account that is a delegated administrator for an Amazon Web
- // Services service.
- //
- // 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 AWS Organizations's
- // API operation ListOrganizationalUnitsForParent for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ParentNotFoundException
- // We can't find a root or OU with the ParentId that you specified.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListOrganizationalUnitsForParent
- func (c *Organizations) ListOrganizationalUnitsForParent(input *ListOrganizationalUnitsForParentInput) (*ListOrganizationalUnitsForParentOutput, error) {
- req, out := c.ListOrganizationalUnitsForParentRequest(input)
- return out, req.Send()
- }
- // ListOrganizationalUnitsForParentWithContext is the same as ListOrganizationalUnitsForParent with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListOrganizationalUnitsForParent 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 *Organizations) ListOrganizationalUnitsForParentWithContext(ctx aws.Context, input *ListOrganizationalUnitsForParentInput, opts ...request.Option) (*ListOrganizationalUnitsForParentOutput, error) {
- req, out := c.ListOrganizationalUnitsForParentRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // ListOrganizationalUnitsForParentPages iterates over the pages of a ListOrganizationalUnitsForParent operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListOrganizationalUnitsForParent 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 ListOrganizationalUnitsForParent operation.
- // pageNum := 0
- // err := client.ListOrganizationalUnitsForParentPages(params,
- // func(page *organizations.ListOrganizationalUnitsForParentOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- func (c *Organizations) ListOrganizationalUnitsForParentPages(input *ListOrganizationalUnitsForParentInput, fn func(*ListOrganizationalUnitsForParentOutput, bool) bool) error {
- return c.ListOrganizationalUnitsForParentPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // ListOrganizationalUnitsForParentPagesWithContext same as ListOrganizationalUnitsForParentPages 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 *Organizations) ListOrganizationalUnitsForParentPagesWithContext(ctx aws.Context, input *ListOrganizationalUnitsForParentInput, fn func(*ListOrganizationalUnitsForParentOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListOrganizationalUnitsForParentInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListOrganizationalUnitsForParentRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- for p.Next() {
- if !fn(p.Page().(*ListOrganizationalUnitsForParentOutput), !p.HasNextPage()) {
- break
- }
- }
- return p.Err()
- }
- const opListParents = "ListParents"
- // ListParentsRequest generates a "aws/request.Request" representing the
- // client's request for the ListParents 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 ListParents for more information on using the ListParents
- // 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 ListParentsRequest method.
- // req, resp := client.ListParentsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListParents
- func (c *Organizations) ListParentsRequest(input *ListParentsInput) (req *request.Request, output *ListParentsOutput) {
- op := &request.Operation{
- Name: opListParents,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "MaxResults",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListParentsInput{}
- }
- output = &ListParentsOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ListParents API operation for AWS Organizations.
- //
- // Lists the root or organizational units (OUs) that serve as the immediate
- // parent of the specified child OU or account. This operation, along with ListChildren
- // enables you to traverse the tree structure that makes up this root.
- //
- // Always check the NextToken response parameter for a null value when calling
- // a List* operation. These operations can occasionally return an empty set
- // of results even when there are more results available. The NextToken response
- // parameter value is null only when there are no more results to display.
- //
- // This operation can be called only from the organization's management account
- // or by a member account that is a delegated administrator for an Amazon Web
- // Services service.
- //
- // In the current release, a child can have only a single parent.
- //
- // 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 AWS Organizations's
- // API operation ListParents for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ChildNotFoundException
- // We can't find an organizational unit (OU) or Amazon Web Services account
- // with the ChildId that you specified.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListParents
- func (c *Organizations) ListParents(input *ListParentsInput) (*ListParentsOutput, error) {
- req, out := c.ListParentsRequest(input)
- return out, req.Send()
- }
- // ListParentsWithContext is the same as ListParents with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListParents 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 *Organizations) ListParentsWithContext(ctx aws.Context, input *ListParentsInput, opts ...request.Option) (*ListParentsOutput, error) {
- req, out := c.ListParentsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // ListParentsPages iterates over the pages of a ListParents operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListParents 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 ListParents operation.
- // pageNum := 0
- // err := client.ListParentsPages(params,
- // func(page *organizations.ListParentsOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- func (c *Organizations) ListParentsPages(input *ListParentsInput, fn func(*ListParentsOutput, bool) bool) error {
- return c.ListParentsPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // ListParentsPagesWithContext same as ListParentsPages 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 *Organizations) ListParentsPagesWithContext(ctx aws.Context, input *ListParentsInput, fn func(*ListParentsOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListParentsInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListParentsRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- for p.Next() {
- if !fn(p.Page().(*ListParentsOutput), !p.HasNextPage()) {
- break
- }
- }
- return p.Err()
- }
- const opListPolicies = "ListPolicies"
- // ListPoliciesRequest generates a "aws/request.Request" representing the
- // client's request for the ListPolicies 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 ListPolicies for more information on using the ListPolicies
- // 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 ListPoliciesRequest method.
- // req, resp := client.ListPoliciesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListPolicies
- func (c *Organizations) ListPoliciesRequest(input *ListPoliciesInput) (req *request.Request, output *ListPoliciesOutput) {
- op := &request.Operation{
- Name: opListPolicies,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "MaxResults",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListPoliciesInput{}
- }
- output = &ListPoliciesOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ListPolicies API operation for AWS Organizations.
- //
- // Retrieves the list of all policies in an organization of a specified type.
- //
- // Always check the NextToken response parameter for a null value when calling
- // a List* operation. These operations can occasionally return an empty set
- // of results even when there are more results available. The NextToken response
- // parameter value is null only when there are no more results to display.
- //
- // This operation can be called only from the organization's management account
- // or by a member account that is a delegated administrator for an Amazon Web
- // Services service.
- //
- // 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 AWS Organizations's
- // API operation ListPolicies for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListPolicies
- func (c *Organizations) ListPolicies(input *ListPoliciesInput) (*ListPoliciesOutput, error) {
- req, out := c.ListPoliciesRequest(input)
- return out, req.Send()
- }
- // ListPoliciesWithContext is the same as ListPolicies with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListPolicies 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 *Organizations) ListPoliciesWithContext(ctx aws.Context, input *ListPoliciesInput, opts ...request.Option) (*ListPoliciesOutput, error) {
- req, out := c.ListPoliciesRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // ListPoliciesPages iterates over the pages of a ListPolicies operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListPolicies 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 ListPolicies operation.
- // pageNum := 0
- // err := client.ListPoliciesPages(params,
- // func(page *organizations.ListPoliciesOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- func (c *Organizations) ListPoliciesPages(input *ListPoliciesInput, fn func(*ListPoliciesOutput, bool) bool) error {
- return c.ListPoliciesPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // ListPoliciesPagesWithContext same as ListPoliciesPages 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 *Organizations) ListPoliciesPagesWithContext(ctx aws.Context, input *ListPoliciesInput, fn func(*ListPoliciesOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListPoliciesInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListPoliciesRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- for p.Next() {
- if !fn(p.Page().(*ListPoliciesOutput), !p.HasNextPage()) {
- break
- }
- }
- return p.Err()
- }
- const opListPoliciesForTarget = "ListPoliciesForTarget"
- // ListPoliciesForTargetRequest generates a "aws/request.Request" representing the
- // client's request for the ListPoliciesForTarget 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 ListPoliciesForTarget for more information on using the ListPoliciesForTarget
- // 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 ListPoliciesForTargetRequest method.
- // req, resp := client.ListPoliciesForTargetRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListPoliciesForTarget
- func (c *Organizations) ListPoliciesForTargetRequest(input *ListPoliciesForTargetInput) (req *request.Request, output *ListPoliciesForTargetOutput) {
- op := &request.Operation{
- Name: opListPoliciesForTarget,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "MaxResults",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListPoliciesForTargetInput{}
- }
- output = &ListPoliciesForTargetOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ListPoliciesForTarget API operation for AWS Organizations.
- //
- // Lists the policies that are directly attached to the specified target root,
- // organizational unit (OU), or account. You must specify the policy type that
- // you want included in the returned list.
- //
- // Always check the NextToken response parameter for a null value when calling
- // a List* operation. These operations can occasionally return an empty set
- // of results even when there are more results available. The NextToken response
- // parameter value is null only when there are no more results to display.
- //
- // This operation can be called only from the organization's management account
- // or by a member account that is a delegated administrator for an Amazon Web
- // Services service.
- //
- // 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 AWS Organizations's
- // API operation ListPoliciesForTarget for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TargetNotFoundException
- // We can't find a root, OU, account, or policy with the TargetId that you specified.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListPoliciesForTarget
- func (c *Organizations) ListPoliciesForTarget(input *ListPoliciesForTargetInput) (*ListPoliciesForTargetOutput, error) {
- req, out := c.ListPoliciesForTargetRequest(input)
- return out, req.Send()
- }
- // ListPoliciesForTargetWithContext is the same as ListPoliciesForTarget with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListPoliciesForTarget 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 *Organizations) ListPoliciesForTargetWithContext(ctx aws.Context, input *ListPoliciesForTargetInput, opts ...request.Option) (*ListPoliciesForTargetOutput, error) {
- req, out := c.ListPoliciesForTargetRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // ListPoliciesForTargetPages iterates over the pages of a ListPoliciesForTarget operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListPoliciesForTarget 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 ListPoliciesForTarget operation.
- // pageNum := 0
- // err := client.ListPoliciesForTargetPages(params,
- // func(page *organizations.ListPoliciesForTargetOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- func (c *Organizations) ListPoliciesForTargetPages(input *ListPoliciesForTargetInput, fn func(*ListPoliciesForTargetOutput, bool) bool) error {
- return c.ListPoliciesForTargetPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // ListPoliciesForTargetPagesWithContext same as ListPoliciesForTargetPages 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 *Organizations) ListPoliciesForTargetPagesWithContext(ctx aws.Context, input *ListPoliciesForTargetInput, fn func(*ListPoliciesForTargetOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListPoliciesForTargetInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListPoliciesForTargetRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- for p.Next() {
- if !fn(p.Page().(*ListPoliciesForTargetOutput), !p.HasNextPage()) {
- break
- }
- }
- return p.Err()
- }
- const opListRoots = "ListRoots"
- // ListRootsRequest generates a "aws/request.Request" representing the
- // client's request for the ListRoots 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 ListRoots for more information on using the ListRoots
- // 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 ListRootsRequest method.
- // req, resp := client.ListRootsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListRoots
- func (c *Organizations) ListRootsRequest(input *ListRootsInput) (req *request.Request, output *ListRootsOutput) {
- op := &request.Operation{
- Name: opListRoots,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "MaxResults",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListRootsInput{}
- }
- output = &ListRootsOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ListRoots API operation for AWS Organizations.
- //
- // Lists the roots that are defined in the current organization.
- //
- // Always check the NextToken response parameter for a null value when calling
- // a List* operation. These operations can occasionally return an empty set
- // of results even when there are more results available. The NextToken response
- // parameter value is null only when there are no more results to display.
- //
- // This operation can be called only from the organization's management account
- // or by a member account that is a delegated administrator for an Amazon Web
- // Services service.
- //
- // Policy types can be enabled and disabled in roots. This is distinct from
- // whether they're available in the organization. When you enable all features,
- // you make policy types available for use in that organization. Individual
- // policy types can then be enabled and disabled in a root. To see the availability
- // of a policy type in an organization, use DescribeOrganization.
- //
- // 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 AWS Organizations's
- // API operation ListRoots for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListRoots
- func (c *Organizations) ListRoots(input *ListRootsInput) (*ListRootsOutput, error) {
- req, out := c.ListRootsRequest(input)
- return out, req.Send()
- }
- // ListRootsWithContext is the same as ListRoots with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListRoots 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 *Organizations) ListRootsWithContext(ctx aws.Context, input *ListRootsInput, opts ...request.Option) (*ListRootsOutput, error) {
- req, out := c.ListRootsRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // ListRootsPages iterates over the pages of a ListRoots operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListRoots 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 ListRoots operation.
- // pageNum := 0
- // err := client.ListRootsPages(params,
- // func(page *organizations.ListRootsOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- func (c *Organizations) ListRootsPages(input *ListRootsInput, fn func(*ListRootsOutput, bool) bool) error {
- return c.ListRootsPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // ListRootsPagesWithContext same as ListRootsPages 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 *Organizations) ListRootsPagesWithContext(ctx aws.Context, input *ListRootsInput, fn func(*ListRootsOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListRootsInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListRootsRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- for p.Next() {
- if !fn(p.Page().(*ListRootsOutput), !p.HasNextPage()) {
- break
- }
- }
- return p.Err()
- }
- const opListTagsForResource = "ListTagsForResource"
- // ListTagsForResourceRequest generates a "aws/request.Request" representing the
- // client's request for the ListTagsForResource 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 ListTagsForResource for more information on using the ListTagsForResource
- // 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 ListTagsForResourceRequest method.
- // req, resp := client.ListTagsForResourceRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListTagsForResource
- func (c *Organizations) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
- op := &request.Operation{
- Name: opListTagsForResource,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListTagsForResourceInput{}
- }
- output = &ListTagsForResourceOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ListTagsForResource API operation for AWS Organizations.
- //
- // Lists tags that are attached to the specified resource.
- //
- // You can attach tags to the following resources in Organizations.
- //
- // - Amazon Web Services account
- //
- // - Organization root
- //
- // - Organizational unit (OU)
- //
- // - Policy (any type)
- //
- // This operation can be called only from the organization's management account
- // or by a member account that is a delegated administrator for an Amazon Web
- // Services service.
- //
- // 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 AWS Organizations's
- // API operation ListTagsForResource for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - TargetNotFoundException
- // We can't find a root, OU, account, or policy with the TargetId that you specified.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListTagsForResource
- func (c *Organizations) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
- req, out := c.ListTagsForResourceRequest(input)
- return out, req.Send()
- }
- // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListTagsForResource 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 *Organizations) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
- req, out := c.ListTagsForResourceRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListTagsForResource 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 ListTagsForResource operation.
- // pageNum := 0
- // err := client.ListTagsForResourcePages(params,
- // func(page *organizations.ListTagsForResourceOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- func (c *Organizations) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error {
- return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // ListTagsForResourcePagesWithContext same as ListTagsForResourcePages 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 *Organizations) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListTagsForResourceInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListTagsForResourceRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- for p.Next() {
- if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) {
- break
- }
- }
- return p.Err()
- }
- const opListTargetsForPolicy = "ListTargetsForPolicy"
- // ListTargetsForPolicyRequest generates a "aws/request.Request" representing the
- // client's request for the ListTargetsForPolicy 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 ListTargetsForPolicy for more information on using the ListTargetsForPolicy
- // 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 ListTargetsForPolicyRequest method.
- // req, resp := client.ListTargetsForPolicyRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListTargetsForPolicy
- func (c *Organizations) ListTargetsForPolicyRequest(input *ListTargetsForPolicyInput) (req *request.Request, output *ListTargetsForPolicyOutput) {
- op := &request.Operation{
- Name: opListTargetsForPolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "MaxResults",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListTargetsForPolicyInput{}
- }
- output = &ListTargetsForPolicyOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // ListTargetsForPolicy API operation for AWS Organizations.
- //
- // Lists all the roots, organizational units (OUs), and accounts that the specified
- // policy is attached to.
- //
- // Always check the NextToken response parameter for a null value when calling
- // a List* operation. These operations can occasionally return an empty set
- // of results even when there are more results available. The NextToken response
- // parameter value is null only when there are no more results to display.
- //
- // This operation can be called only from the organization's management account
- // or by a member account that is a delegated administrator for an Amazon Web
- // Services service.
- //
- // 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 AWS Organizations's
- // API operation ListTargetsForPolicy for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - PolicyNotFoundException
- // We can't find a policy with the PolicyId that you specified.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/ListTargetsForPolicy
- func (c *Organizations) ListTargetsForPolicy(input *ListTargetsForPolicyInput) (*ListTargetsForPolicyOutput, error) {
- req, out := c.ListTargetsForPolicyRequest(input)
- return out, req.Send()
- }
- // ListTargetsForPolicyWithContext is the same as ListTargetsForPolicy with the addition of
- // the ability to pass a context and additional request options.
- //
- // See ListTargetsForPolicy 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 *Organizations) ListTargetsForPolicyWithContext(ctx aws.Context, input *ListTargetsForPolicyInput, opts ...request.Option) (*ListTargetsForPolicyOutput, error) {
- req, out := c.ListTargetsForPolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // ListTargetsForPolicyPages iterates over the pages of a ListTargetsForPolicy operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListTargetsForPolicy 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 ListTargetsForPolicy operation.
- // pageNum := 0
- // err := client.ListTargetsForPolicyPages(params,
- // func(page *organizations.ListTargetsForPolicyOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- func (c *Organizations) ListTargetsForPolicyPages(input *ListTargetsForPolicyInput, fn func(*ListTargetsForPolicyOutput, bool) bool) error {
- return c.ListTargetsForPolicyPagesWithContext(aws.BackgroundContext(), input, fn)
- }
- // ListTargetsForPolicyPagesWithContext same as ListTargetsForPolicyPages 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 *Organizations) ListTargetsForPolicyPagesWithContext(ctx aws.Context, input *ListTargetsForPolicyInput, fn func(*ListTargetsForPolicyOutput, bool) bool, opts ...request.Option) error {
- p := request.Pagination{
- NewRequest: func() (*request.Request, error) {
- var inCpy *ListTargetsForPolicyInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ListTargetsForPolicyRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- for p.Next() {
- if !fn(p.Page().(*ListTargetsForPolicyOutput), !p.HasNextPage()) {
- break
- }
- }
- return p.Err()
- }
- const opMoveAccount = "MoveAccount"
- // MoveAccountRequest generates a "aws/request.Request" representing the
- // client's request for the MoveAccount 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 MoveAccount for more information on using the MoveAccount
- // 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 MoveAccountRequest method.
- // req, resp := client.MoveAccountRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/MoveAccount
- func (c *Organizations) MoveAccountRequest(input *MoveAccountInput) (req *request.Request, output *MoveAccountOutput) {
- op := &request.Operation{
- Name: opMoveAccount,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &MoveAccountInput{}
- }
- output = &MoveAccountOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
- }
- // MoveAccount API operation for AWS Organizations.
- //
- // Moves an account from its current source parent root or organizational unit
- // (OU) to the specified destination parent root or OU.
- //
- // This operation can be called only from the organization's management account.
- //
- // 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 AWS Organizations's
- // API operation MoveAccount for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - SourceParentNotFoundException
- // We can't find a source root or OU with the ParentId that you specified.
- //
- // - DestinationParentNotFoundException
- // We can't find the destination container (a root or OU) with the ParentId
- // that you specified.
- //
- // - DuplicateAccountException
- // That account is already present in the specified destination.
- //
- // - AccountNotFoundException
- // We can't find an Amazon Web Services account with the AccountId that you
- // specified, or the account whose credentials you used to make this request
- // isn't a member of an organization.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/MoveAccount
- func (c *Organizations) MoveAccount(input *MoveAccountInput) (*MoveAccountOutput, error) {
- req, out := c.MoveAccountRequest(input)
- return out, req.Send()
- }
- // MoveAccountWithContext is the same as MoveAccount with the addition of
- // the ability to pass a context and additional request options.
- //
- // See MoveAccount 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 *Organizations) MoveAccountWithContext(ctx aws.Context, input *MoveAccountInput, opts ...request.Option) (*MoveAccountOutput, error) {
- req, out := c.MoveAccountRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opPutResourcePolicy = "PutResourcePolicy"
- // PutResourcePolicyRequest generates a "aws/request.Request" representing the
- // client's request for the PutResourcePolicy 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 PutResourcePolicy for more information on using the PutResourcePolicy
- // 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 PutResourcePolicyRequest method.
- // req, resp := client.PutResourcePolicyRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/PutResourcePolicy
- func (c *Organizations) PutResourcePolicyRequest(input *PutResourcePolicyInput) (req *request.Request, output *PutResourcePolicyOutput) {
- op := &request.Operation{
- Name: opPutResourcePolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &PutResourcePolicyInput{}
- }
- output = &PutResourcePolicyOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // PutResourcePolicy API operation for AWS Organizations.
- //
- // Creates or updates a resource policy.
- //
- // You can only call this operation from the organization's management account.
- //
- // 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 AWS Organizations's
- // API operation PutResourcePolicy for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/PutResourcePolicy
- func (c *Organizations) PutResourcePolicy(input *PutResourcePolicyInput) (*PutResourcePolicyOutput, error) {
- req, out := c.PutResourcePolicyRequest(input)
- return out, req.Send()
- }
- // PutResourcePolicyWithContext is the same as PutResourcePolicy with the addition of
- // the ability to pass a context and additional request options.
- //
- // See PutResourcePolicy 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 *Organizations) PutResourcePolicyWithContext(ctx aws.Context, input *PutResourcePolicyInput, opts ...request.Option) (*PutResourcePolicyOutput, error) {
- req, out := c.PutResourcePolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opRegisterDelegatedAdministrator = "RegisterDelegatedAdministrator"
- // RegisterDelegatedAdministratorRequest generates a "aws/request.Request" representing the
- // client's request for the RegisterDelegatedAdministrator 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 RegisterDelegatedAdministrator for more information on using the RegisterDelegatedAdministrator
- // 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 RegisterDelegatedAdministratorRequest method.
- // req, resp := client.RegisterDelegatedAdministratorRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/RegisterDelegatedAdministrator
- func (c *Organizations) RegisterDelegatedAdministratorRequest(input *RegisterDelegatedAdministratorInput) (req *request.Request, output *RegisterDelegatedAdministratorOutput) {
- op := &request.Operation{
- Name: opRegisterDelegatedAdministrator,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &RegisterDelegatedAdministratorInput{}
- }
- output = &RegisterDelegatedAdministratorOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
- }
- // RegisterDelegatedAdministrator API operation for AWS Organizations.
- //
- // Enables the specified member account to administer the Organizations features
- // of the specified Amazon Web Services service. It grants read-only access
- // to Organizations service data. The account still requires IAM permissions
- // to access and administer the Amazon Web Services service.
- //
- // You can run this action only for Amazon Web Services services that support
- // this feature. For a current list of services that support it, see the column
- // Supports Delegated Administrator in the table at Amazon Web Services Services
- // that you can use with Organizations (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services_list.html)
- // in the Organizations User Guide.
- //
- // This operation can be called only from the organization's management account.
- //
- // 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 AWS Organizations's
- // API operation RegisterDelegatedAdministrator for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AccountAlreadyRegisteredException
- // The specified account is already a delegated administrator for this Amazon
- // Web Services service.
- //
- // - AccountNotFoundException
- // We can't find an Amazon Web Services account with the AccountId that you
- // specified, or the account whose credentials you used to make this request
- // isn't a member of an organization.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/RegisterDelegatedAdministrator
- func (c *Organizations) RegisterDelegatedAdministrator(input *RegisterDelegatedAdministratorInput) (*RegisterDelegatedAdministratorOutput, error) {
- req, out := c.RegisterDelegatedAdministratorRequest(input)
- return out, req.Send()
- }
- // RegisterDelegatedAdministratorWithContext is the same as RegisterDelegatedAdministrator with the addition of
- // the ability to pass a context and additional request options.
- //
- // See RegisterDelegatedAdministrator 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 *Organizations) RegisterDelegatedAdministratorWithContext(ctx aws.Context, input *RegisterDelegatedAdministratorInput, opts ...request.Option) (*RegisterDelegatedAdministratorOutput, error) {
- req, out := c.RegisterDelegatedAdministratorRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opRemoveAccountFromOrganization = "RemoveAccountFromOrganization"
- // RemoveAccountFromOrganizationRequest generates a "aws/request.Request" representing the
- // client's request for the RemoveAccountFromOrganization 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 RemoveAccountFromOrganization for more information on using the RemoveAccountFromOrganization
- // 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 RemoveAccountFromOrganizationRequest method.
- // req, resp := client.RemoveAccountFromOrganizationRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/RemoveAccountFromOrganization
- func (c *Organizations) RemoveAccountFromOrganizationRequest(input *RemoveAccountFromOrganizationInput) (req *request.Request, output *RemoveAccountFromOrganizationOutput) {
- op := &request.Operation{
- Name: opRemoveAccountFromOrganization,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &RemoveAccountFromOrganizationInput{}
- }
- output = &RemoveAccountFromOrganizationOutput{}
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
- return
- }
- // RemoveAccountFromOrganization API operation for AWS Organizations.
- //
- // Removes the specified account from the organization.
- //
- // The removed account becomes a standalone account that isn't a member of any
- // organization. It's no longer subject to any policies and is responsible for
- // its own bill payments. The organization's management account is no longer
- // charged for any expenses accrued by the member account after it's removed
- // from the organization.
- //
- // This operation can be called only from the organization's management account.
- // Member accounts can remove themselves with LeaveOrganization instead.
- //
- // - You can remove an account from your organization only if the account
- // is configured with the information required to operate as a standalone
- // account. When you create an account in an organization using the Organizations
- // console, API, or CLI commands, the information required of standalone
- // accounts is not automatically collected. For an account that you want
- // to make standalone, you must choose a support plan, provide and verify
- // the required contact information, and provide a current payment method.
- // Amazon Web Services uses the payment method to charge for any billable
- // (not free tier) Amazon Web Services activity that occurs while the account
- // isn't attached to an organization. To remove an account that doesn't yet
- // have this information, you must sign in as the member account and follow
- // the steps at To leave an organization when all required account information
- // has not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - The account that you want to leave must not be a delegated administrator
- // account for any Amazon Web Services service enabled for your organization.
- // If the account is a delegated administrator, you must first change the
- // delegated administrator account to another account that is remaining in
- // the organization.
- //
- // - After the account leaves the organization, all tags that were attached
- // to the account object in the organization are deleted. Amazon Web Services
- // accounts outside of an organization do not support tags.
- //
- // 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 AWS Organizations's
- // API operation RemoveAccountFromOrganization for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AccountNotFoundException
- // We can't find an Amazon Web Services account with the AccountId that you
- // specified, or the account whose credentials you used to make this request
- // isn't a member of an organization.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - MasterCannotLeaveOrganizationException
- // You can't remove a management account from an organization. If you want the
- // management account to become a member account in another organization, you
- // must first delete the current organization of the management account.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/RemoveAccountFromOrganization
- func (c *Organizations) RemoveAccountFromOrganization(input *RemoveAccountFromOrganizationInput) (*RemoveAccountFromOrganizationOutput, error) {
- req, out := c.RemoveAccountFromOrganizationRequest(input)
- return out, req.Send()
- }
- // RemoveAccountFromOrganizationWithContext is the same as RemoveAccountFromOrganization with the addition of
- // the ability to pass a context and additional request options.
- //
- // See RemoveAccountFromOrganization 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 *Organizations) RemoveAccountFromOrganizationWithContext(ctx aws.Context, input *RemoveAccountFromOrganizationInput, opts ...request.Option) (*RemoveAccountFromOrganizationOutput, error) {
- req, out := c.RemoveAccountFromOrganizationRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- 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/organizations-2016-11-28/TagResource
- func (c *Organizations) 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)
- return
- }
- // TagResource API operation for AWS Organizations.
- //
- // Adds one or more tags to the specified resource.
- //
- // Currently, you can attach tags to the following resources in Organizations.
- //
- // - Amazon Web Services account
- //
- // - Organization root
- //
- // - Organizational unit (OU)
- //
- // - Policy (any type)
- //
- // This operation can be called only from the organization's management account.
- //
- // 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 AWS Organizations's
- // API operation TagResource for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - TargetNotFoundException
- // We can't find a root, OU, account, or policy with the TargetId that you specified.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/TagResource
- func (c *Organizations) 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 *Organizations) 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 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/organizations-2016-11-28/UntagResource
- func (c *Organizations) 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)
- return
- }
- // UntagResource API operation for AWS Organizations.
- //
- // Removes any tags with the specified keys from the specified resource.
- //
- // You can attach tags to the following resources in Organizations.
- //
- // - Amazon Web Services account
- //
- // - Organization root
- //
- // - Organizational unit (OU)
- //
- // - Policy (any type)
- //
- // This operation can be called only from the organization's management account.
- //
- // 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 AWS Organizations's
- // API operation UntagResource for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - TargetNotFoundException
- // We can't find a root, OU, account, or policy with the TargetId that you specified.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/UntagResource
- func (c *Organizations) 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 *Organizations) 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 opUpdateOrganizationalUnit = "UpdateOrganizationalUnit"
- // UpdateOrganizationalUnitRequest generates a "aws/request.Request" representing the
- // client's request for the UpdateOrganizationalUnit 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 UpdateOrganizationalUnit for more information on using the UpdateOrganizationalUnit
- // 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 UpdateOrganizationalUnitRequest method.
- // req, resp := client.UpdateOrganizationalUnitRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/UpdateOrganizationalUnit
- func (c *Organizations) UpdateOrganizationalUnitRequest(input *UpdateOrganizationalUnitInput) (req *request.Request, output *UpdateOrganizationalUnitOutput) {
- op := &request.Operation{
- Name: opUpdateOrganizationalUnit,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &UpdateOrganizationalUnitInput{}
- }
- output = &UpdateOrganizationalUnitOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // UpdateOrganizationalUnit API operation for AWS Organizations.
- //
- // Renames the specified organizational unit (OU). The ID and ARN don't change.
- // The child OUs and accounts remain in place, and any attached policies of
- // the OU remain attached.
- //
- // This operation can be called only from the organization's management account.
- //
- // 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 AWS Organizations's
- // API operation UpdateOrganizationalUnit for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - DuplicateOrganizationalUnitException
- // An OU with the same name already exists.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - OrganizationalUnitNotFoundException
- // We can't find an OU with the OrganizationalUnitId that you specified.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/UpdateOrganizationalUnit
- func (c *Organizations) UpdateOrganizationalUnit(input *UpdateOrganizationalUnitInput) (*UpdateOrganizationalUnitOutput, error) {
- req, out := c.UpdateOrganizationalUnitRequest(input)
- return out, req.Send()
- }
- // UpdateOrganizationalUnitWithContext is the same as UpdateOrganizationalUnit with the addition of
- // the ability to pass a context and additional request options.
- //
- // See UpdateOrganizationalUnit 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 *Organizations) UpdateOrganizationalUnitWithContext(ctx aws.Context, input *UpdateOrganizationalUnitInput, opts ...request.Option) (*UpdateOrganizationalUnitOutput, error) {
- req, out := c.UpdateOrganizationalUnitRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- const opUpdatePolicy = "UpdatePolicy"
- // UpdatePolicyRequest generates a "aws/request.Request" representing the
- // client's request for the UpdatePolicy 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 UpdatePolicy for more information on using the UpdatePolicy
- // 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 UpdatePolicyRequest method.
- // req, resp := client.UpdatePolicyRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/UpdatePolicy
- func (c *Organizations) UpdatePolicyRequest(input *UpdatePolicyInput) (req *request.Request, output *UpdatePolicyOutput) {
- op := &request.Operation{
- Name: opUpdatePolicy,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &UpdatePolicyInput{}
- }
- output = &UpdatePolicyOutput{}
- req = c.newRequest(op, input, output)
- return
- }
- // UpdatePolicy API operation for AWS Organizations.
- //
- // Updates an existing policy with a new name, description, or content. If you
- // don't supply any parameter, that value remains unchanged. You can't change
- // a policy's type.
- //
- // This operation can be called only from the organization's management account.
- //
- // 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 AWS Organizations's
- // API operation UpdatePolicy for usage and error information.
- //
- // Returned Error Types:
- //
- // - AccessDeniedException
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- //
- // - AWSOrganizationsNotInUseException
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- //
- // - ConcurrentModificationException
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- //
- // - ConstraintViolationException
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- //
- // - DuplicatePolicyException
- // A policy with the same name already exists.
- //
- // - InvalidInputException
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- //
- // - MalformedPolicyDocumentException
- // The provided policy document doesn't meet the requirements of the specified
- // policy type. For example, the syntax might be incorrect. For details about
- // service control policy syntax, see Service Control Policy Syntax (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_scp-syntax.html)
- // in the Organizations User Guide.
- //
- // - PolicyNotFoundException
- // We can't find a policy with the PolicyId that you specified.
- //
- // - ServiceException
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- //
- // - TooManyRequestsException
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- //
- // - UnsupportedAPIEndpointException
- // This action isn't available in the current Amazon Web Services Region.
- //
- // - PolicyChangesInProgressException
- // Changes to the effective policy are in progress, and its contents can't be
- // returned. Try the operation again later.
- //
- // See also, https://docs.aws.amazon.com/goto/WebAPI/organizations-2016-11-28/UpdatePolicy
- func (c *Organizations) UpdatePolicy(input *UpdatePolicyInput) (*UpdatePolicyOutput, error) {
- req, out := c.UpdatePolicyRequest(input)
- return out, req.Send()
- }
- // UpdatePolicyWithContext is the same as UpdatePolicy with the addition of
- // the ability to pass a context and additional request options.
- //
- // See UpdatePolicy 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 *Organizations) UpdatePolicyWithContext(ctx aws.Context, input *UpdatePolicyInput, opts ...request.Option) (*UpdatePolicyOutput, error) {
- req, out := c.UpdatePolicyRequest(input)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return out, req.Send()
- }
- // Your account isn't a member of an organization. To make this request, you
- // must use the credentials of an account that belongs to an organization.
- type AWSOrganizationsNotInUseException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s AWSOrganizationsNotInUseException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s AWSOrganizationsNotInUseException) GoString() string {
- return s.String()
- }
- func newErrorAWSOrganizationsNotInUseException(v protocol.ResponseMetadata) error {
- return &AWSOrganizationsNotInUseException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *AWSOrganizationsNotInUseException) Code() string {
- return "AWSOrganizationsNotInUseException"
- }
- // Message returns the exception's message.
- func (s *AWSOrganizationsNotInUseException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *AWSOrganizationsNotInUseException) OrigErr() error {
- return nil
- }
- func (s *AWSOrganizationsNotInUseException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *AWSOrganizationsNotInUseException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *AWSOrganizationsNotInUseException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- type AcceptHandshakeInput struct {
- _ struct{} `type:"structure"`
- // The unique identifier (ID) of the handshake that you want to accept.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for handshake ID string
- // requires "h-" followed by from 8 to 32 lowercase letters or digits.
- //
- // HandshakeId is a required field
- HandshakeId *string `type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s AcceptHandshakeInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s AcceptHandshakeInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *AcceptHandshakeInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "AcceptHandshakeInput"}
- if s.HandshakeId == nil {
- invalidParams.Add(request.NewErrParamRequired("HandshakeId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetHandshakeId sets the HandshakeId field's value.
- func (s *AcceptHandshakeInput) SetHandshakeId(v string) *AcceptHandshakeInput {
- s.HandshakeId = &v
- return s
- }
- type AcceptHandshakeOutput struct {
- _ struct{} `type:"structure"`
- // A structure that contains details about the accepted handshake.
- Handshake *Handshake `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s AcceptHandshakeOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s AcceptHandshakeOutput) GoString() string {
- return s.String()
- }
- // SetHandshake sets the Handshake field's value.
- func (s *AcceptHandshakeOutput) SetHandshake(v *Handshake) *AcceptHandshakeOutput {
- s.Handshake = v
- return s
- }
- // You don't have permissions to perform the requested operation. The user or
- // role that is making the request must have at least one IAM permissions policy
- // attached that grants the required permissions. For more information, see
- // Access Management (https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)
- // in the IAM User Guide.
- type AccessDeniedException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s AccessDeniedException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s AccessDeniedException) GoString() string {
- return s.String()
- }
- func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
- return &AccessDeniedException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *AccessDeniedException) Code() string {
- return "AccessDeniedException"
- }
- // Message returns the exception's message.
- func (s *AccessDeniedException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *AccessDeniedException) OrigErr() error {
- return nil
- }
- func (s *AccessDeniedException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *AccessDeniedException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *AccessDeniedException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // The operation that you attempted requires you to have the iam:CreateServiceLinkedRole
- // for organizations.amazonaws.com permission so that Organizations can create
- // the required service-linked role. You don't have that permission.
- type AccessDeniedForDependencyException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- Reason *string `type:"string" enum:"AccessDeniedForDependencyExceptionReason"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s AccessDeniedForDependencyException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s AccessDeniedForDependencyException) GoString() string {
- return s.String()
- }
- func newErrorAccessDeniedForDependencyException(v protocol.ResponseMetadata) error {
- return &AccessDeniedForDependencyException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *AccessDeniedForDependencyException) Code() string {
- return "AccessDeniedForDependencyException"
- }
- // Message returns the exception's message.
- func (s *AccessDeniedForDependencyException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *AccessDeniedForDependencyException) OrigErr() error {
- return nil
- }
- func (s *AccessDeniedForDependencyException) Error() string {
- return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *AccessDeniedForDependencyException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *AccessDeniedForDependencyException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // Contains information about an Amazon Web Services account that is a member
- // of an organization.
- type Account struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the account.
- //
- // For more information about ARNs in Organizations, see ARN Formats Supported
- // by Organizations (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsorganizations.html#awsorganizations-resources-for-iam-policies)
- // in the Amazon Web Services Service Authorization Reference.
- Arn *string `type:"string"`
- // The email address associated with the Amazon Web Services account.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
- // a string of characters that represents a standard internet email address.
- //
- // Email is a sensitive parameter and its value will be
- // replaced with "sensitive" in string returned by Account's
- // String and GoString methods.
- Email *string `min:"6" type:"string" sensitive:"true"`
- // The unique identifier (ID) of the account.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for an account ID string
- // requires exactly 12 digits.
- Id *string `type:"string"`
- // The method by which the account joined the organization.
- JoinedMethod *string `type:"string" enum:"AccountJoinedMethod"`
- // The date the account became a part of the organization.
- JoinedTimestamp *time.Time `type:"timestamp"`
- // The friendly name of the account.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) that is used to validate
- // this parameter is a string of any of the characters in the ASCII character
- // range.
- //
- // Name is a sensitive parameter and its value will be
- // replaced with "sensitive" in string returned by Account's
- // String and GoString methods.
- Name *string `min:"1" type:"string" sensitive:"true"`
- // The status of the account in the organization.
- Status *string `type:"string" enum:"AccountStatus"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s Account) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s Account) GoString() string {
- return s.String()
- }
- // SetArn sets the Arn field's value.
- func (s *Account) SetArn(v string) *Account {
- s.Arn = &v
- return s
- }
- // SetEmail sets the Email field's value.
- func (s *Account) SetEmail(v string) *Account {
- s.Email = &v
- return s
- }
- // SetId sets the Id field's value.
- func (s *Account) SetId(v string) *Account {
- s.Id = &v
- return s
- }
- // SetJoinedMethod sets the JoinedMethod field's value.
- func (s *Account) SetJoinedMethod(v string) *Account {
- s.JoinedMethod = &v
- return s
- }
- // SetJoinedTimestamp sets the JoinedTimestamp field's value.
- func (s *Account) SetJoinedTimestamp(v time.Time) *Account {
- s.JoinedTimestamp = &v
- return s
- }
- // SetName sets the Name field's value.
- func (s *Account) SetName(v string) *Account {
- s.Name = &v
- return s
- }
- // SetStatus sets the Status field's value.
- func (s *Account) SetStatus(v string) *Account {
- s.Status = &v
- return s
- }
- // You attempted to close an account that is already closed.
- type AccountAlreadyClosedException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s AccountAlreadyClosedException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s AccountAlreadyClosedException) GoString() string {
- return s.String()
- }
- func newErrorAccountAlreadyClosedException(v protocol.ResponseMetadata) error {
- return &AccountAlreadyClosedException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *AccountAlreadyClosedException) Code() string {
- return "AccountAlreadyClosedException"
- }
- // Message returns the exception's message.
- func (s *AccountAlreadyClosedException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *AccountAlreadyClosedException) OrigErr() error {
- return nil
- }
- func (s *AccountAlreadyClosedException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *AccountAlreadyClosedException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *AccountAlreadyClosedException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // The specified account is already a delegated administrator for this Amazon
- // Web Services service.
- type AccountAlreadyRegisteredException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s AccountAlreadyRegisteredException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s AccountAlreadyRegisteredException) GoString() string {
- return s.String()
- }
- func newErrorAccountAlreadyRegisteredException(v protocol.ResponseMetadata) error {
- return &AccountAlreadyRegisteredException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *AccountAlreadyRegisteredException) Code() string {
- return "AccountAlreadyRegisteredException"
- }
- // Message returns the exception's message.
- func (s *AccountAlreadyRegisteredException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *AccountAlreadyRegisteredException) OrigErr() error {
- return nil
- }
- func (s *AccountAlreadyRegisteredException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *AccountAlreadyRegisteredException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *AccountAlreadyRegisteredException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // We can't find an Amazon Web Services account with the AccountId that you
- // specified, or the account whose credentials you used to make this request
- // isn't a member of an organization.
- type AccountNotFoundException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s AccountNotFoundException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s AccountNotFoundException) GoString() string {
- return s.String()
- }
- func newErrorAccountNotFoundException(v protocol.ResponseMetadata) error {
- return &AccountNotFoundException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *AccountNotFoundException) Code() string {
- return "AccountNotFoundException"
- }
- // Message returns the exception's message.
- func (s *AccountNotFoundException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *AccountNotFoundException) OrigErr() error {
- return nil
- }
- func (s *AccountNotFoundException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *AccountNotFoundException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *AccountNotFoundException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // The specified account is not a delegated administrator for this Amazon Web
- // Services service.
- type AccountNotRegisteredException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s AccountNotRegisteredException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s AccountNotRegisteredException) GoString() string {
- return s.String()
- }
- func newErrorAccountNotRegisteredException(v protocol.ResponseMetadata) error {
- return &AccountNotRegisteredException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *AccountNotRegisteredException) Code() string {
- return "AccountNotRegisteredException"
- }
- // Message returns the exception's message.
- func (s *AccountNotRegisteredException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *AccountNotRegisteredException) OrigErr() error {
- return nil
- }
- func (s *AccountNotRegisteredException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *AccountNotRegisteredException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *AccountNotRegisteredException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // You can't invite an existing account to your organization until you verify
- // that you own the email address associated with the management account. For
- // more information, see Email Address Verification (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_create.html#about-email-verification)
- // in the Organizations User Guide.
- type AccountOwnerNotVerifiedException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s AccountOwnerNotVerifiedException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s AccountOwnerNotVerifiedException) GoString() string {
- return s.String()
- }
- func newErrorAccountOwnerNotVerifiedException(v protocol.ResponseMetadata) error {
- return &AccountOwnerNotVerifiedException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *AccountOwnerNotVerifiedException) Code() string {
- return "AccountOwnerNotVerifiedException"
- }
- // Message returns the exception's message.
- func (s *AccountOwnerNotVerifiedException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *AccountOwnerNotVerifiedException) OrigErr() error {
- return nil
- }
- func (s *AccountOwnerNotVerifiedException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *AccountOwnerNotVerifiedException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *AccountOwnerNotVerifiedException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // This account is already a member of an organization. An account can belong
- // to only one organization at a time.
- type AlreadyInOrganizationException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s AlreadyInOrganizationException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s AlreadyInOrganizationException) GoString() string {
- return s.String()
- }
- func newErrorAlreadyInOrganizationException(v protocol.ResponseMetadata) error {
- return &AlreadyInOrganizationException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *AlreadyInOrganizationException) Code() string {
- return "AlreadyInOrganizationException"
- }
- // Message returns the exception's message.
- func (s *AlreadyInOrganizationException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *AlreadyInOrganizationException) OrigErr() error {
- return nil
- }
- func (s *AlreadyInOrganizationException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *AlreadyInOrganizationException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *AlreadyInOrganizationException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- type AttachPolicyInput struct {
- _ struct{} `type:"structure"`
- // The unique identifier (ID) of the policy that you want to attach to the target.
- // You can get the ID for the policy by calling the ListPolicies operation.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for a policy ID string
- // requires "p-" followed by from 8 to 128 lowercase or uppercase letters, digits,
- // or the underscore character (_).
- //
- // PolicyId is a required field
- PolicyId *string `type:"string" required:"true"`
- // The unique identifier (ID) of the root, OU, or account that you want to attach
- // the policy to. You can get the ID by calling the ListRoots, ListOrganizationalUnitsForParent,
- // or ListAccounts operations.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for a target ID string
- // requires one of the following:
- //
- // * Root - A string that begins with "r-" followed by from 4 to 32 lowercase
- // letters or digits.
- //
- // * Account - A string that consists of exactly 12 digits.
- //
- // * Organizational unit (OU) - A string that begins with "ou-" followed
- // by from 4 to 32 lowercase letters or digits (the ID of the root that the
- // OU is in). This string is followed by a second "-" dash and from 8 to
- // 32 additional lowercase letters or digits.
- //
- // TargetId is a required field
- TargetId *string `type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s AttachPolicyInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s AttachPolicyInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *AttachPolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "AttachPolicyInput"}
- if s.PolicyId == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyId"))
- }
- if s.TargetId == nil {
- invalidParams.Add(request.NewErrParamRequired("TargetId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetPolicyId sets the PolicyId field's value.
- func (s *AttachPolicyInput) SetPolicyId(v string) *AttachPolicyInput {
- s.PolicyId = &v
- return s
- }
- // SetTargetId sets the TargetId field's value.
- func (s *AttachPolicyInput) SetTargetId(v string) *AttachPolicyInput {
- s.TargetId = &v
- return s
- }
- type AttachPolicyOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s AttachPolicyOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s AttachPolicyOutput) GoString() string {
- return s.String()
- }
- type CancelHandshakeInput struct {
- _ struct{} `type:"structure"`
- // The unique identifier (ID) of the handshake that you want to cancel. You
- // can get the ID from the ListHandshakesForOrganization operation.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for handshake ID string
- // requires "h-" followed by from 8 to 32 lowercase letters or digits.
- //
- // HandshakeId is a required field
- HandshakeId *string `type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CancelHandshakeInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CancelHandshakeInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CancelHandshakeInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CancelHandshakeInput"}
- if s.HandshakeId == nil {
- invalidParams.Add(request.NewErrParamRequired("HandshakeId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetHandshakeId sets the HandshakeId field's value.
- func (s *CancelHandshakeInput) SetHandshakeId(v string) *CancelHandshakeInput {
- s.HandshakeId = &v
- return s
- }
- type CancelHandshakeOutput struct {
- _ struct{} `type:"structure"`
- // A structure that contains details about the handshake that you canceled.
- Handshake *Handshake `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CancelHandshakeOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CancelHandshakeOutput) GoString() string {
- return s.String()
- }
- // SetHandshake sets the Handshake field's value.
- func (s *CancelHandshakeOutput) SetHandshake(v *Handshake) *CancelHandshakeOutput {
- s.Handshake = v
- return s
- }
- // Contains a list of child entities, either OUs or accounts.
- type Child struct {
- _ struct{} `type:"structure"`
- // The unique identifier (ID) of this child entity.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for a child ID string
- // requires one of the following:
- //
- // * Account - A string that consists of exactly 12 digits.
- //
- // * Organizational unit (OU) - A string that begins with "ou-" followed
- // by from 4 to 32 lowercase letters or digits (the ID of the root that contains
- // the OU). This string is followed by a second "-" dash and from 8 to 32
- // additional lowercase letters or digits.
- Id *string `type:"string"`
- // The type of this child entity.
- Type *string `type:"string" enum:"ChildType"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s Child) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s Child) GoString() string {
- return s.String()
- }
- // SetId sets the Id field's value.
- func (s *Child) SetId(v string) *Child {
- s.Id = &v
- return s
- }
- // SetType sets the Type field's value.
- func (s *Child) SetType(v string) *Child {
- s.Type = &v
- return s
- }
- // We can't find an organizational unit (OU) or Amazon Web Services account
- // with the ChildId that you specified.
- type ChildNotFoundException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ChildNotFoundException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ChildNotFoundException) GoString() string {
- return s.String()
- }
- func newErrorChildNotFoundException(v protocol.ResponseMetadata) error {
- return &ChildNotFoundException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *ChildNotFoundException) Code() string {
- return "ChildNotFoundException"
- }
- // Message returns the exception's message.
- func (s *ChildNotFoundException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *ChildNotFoundException) OrigErr() error {
- return nil
- }
- func (s *ChildNotFoundException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *ChildNotFoundException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *ChildNotFoundException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- type CloseAccountInput struct {
- _ struct{} `type:"structure"`
- // Retrieves the Amazon Web Services account Id for the current CloseAccount
- // API request.
- //
- // AccountId is a required field
- AccountId *string `type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CloseAccountInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CloseAccountInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CloseAccountInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CloseAccountInput"}
- if s.AccountId == nil {
- invalidParams.Add(request.NewErrParamRequired("AccountId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAccountId sets the AccountId field's value.
- func (s *CloseAccountInput) SetAccountId(v string) *CloseAccountInput {
- s.AccountId = &v
- return s
- }
- type CloseAccountOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CloseAccountOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CloseAccountOutput) GoString() string {
- return s.String()
- }
- // The target of the operation is currently being modified by a different request.
- // Try again later.
- type ConcurrentModificationException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ConcurrentModificationException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ConcurrentModificationException) GoString() string {
- return s.String()
- }
- func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error {
- return &ConcurrentModificationException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *ConcurrentModificationException) Code() string {
- return "ConcurrentModificationException"
- }
- // Message returns the exception's message.
- func (s *ConcurrentModificationException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *ConcurrentModificationException) OrigErr() error {
- return nil
- }
- func (s *ConcurrentModificationException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *ConcurrentModificationException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *ConcurrentModificationException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // The request failed because it conflicts with the current state of the specified
- // resource.
- type ConflictException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ConflictException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ConflictException) GoString() string {
- return s.String()
- }
- func newErrorConflictException(v protocol.ResponseMetadata) error {
- return &ConflictException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *ConflictException) Code() string {
- return "ConflictException"
- }
- // Message returns the exception's message.
- func (s *ConflictException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *ConflictException) OrigErr() error {
- return nil
- }
- func (s *ConflictException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *ConflictException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *ConflictException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // Performing this operation violates a minimum or maximum value limit. For
- // example, attempting to remove the last service control policy (SCP) from
- // an OU or root, inviting or creating too many accounts to the organization,
- // or attaching too many policies to an account, OU, or root. This exception
- // includes a reason that contains additional information about the violated
- // limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management
- // account from the organization. You can't remove the management account.
- // Instead, after you remove all member accounts, delete the organization
- // itself.
- //
- // - ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove
- // an account from the organization that doesn't yet have enough information
- // to exist as a standalone account. This account requires you to first complete
- // phone verification. Follow the steps at Removing a member account from
- // your organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master)
- // in the Organizations User Guide.
- //
- // - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can create in one day.
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. If you need more accounts,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
- // to request an increase in your limit. Or the number of invitations that
- // you tried to send would cause you to exceed the limit of accounts in your
- // organization. Send fewer invitations or contact Amazon Web Services Support
- // to request an increase in the number of accounts. Deleted and closed accounts
- // still count toward your limit. If you get this exception when running
- // a command immediately after creating the organization, wait one hour and
- // try again. After an hour, if the command continues to fail with this error,
- // contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to
- // register the management account of the organization as a delegated administrator
- // for an Amazon Web Services service integrated with Organizations. You
- // can designate only a member account as a delegated administrator.
- //
- // - CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management
- // account. To close the management account for the organization, you must
- // first either remove or close all member accounts in the organization.
- // Follow standard account closure process using root credentials.
- //
- // - CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove
- // an account that is registered as a delegated administrator for a service
- // integrated with your organization. To complete this operation, you must
- // first deregister this account as a delegated administrator.
- //
- // - CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota
- // for the past 30 days.
- //
- // - CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number
- // of accounts that you can close at a time.
- //
- // - CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an
- // organization in the specified region, you must enable all features mode.
- //
- // - DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register
- // an Amazon Web Services account as a delegated administrator for an Amazon
- // Web Services service that already has a delegated administrator. To complete
- // this operation, you must first deregister any existing delegated administrators
- // for this service.
- //
- // - EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only
- // valid for a limited period of time. You must resubmit the request and
- // generate a new verfication code.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no
- // supported payment method is associated with the account. Amazon Web Services
- // does not support cards issued by financial institutions in Russia or Belarus.
- // For more information, see Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // - MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account
- // in this organization, you first must migrate the organization's management
- // account to the marketplace that corresponds to the management account's
- // address. For example, accounts with India addresses must be associated
- // with the AISPL marketplace. All accounts in an organization must be associated
- // with the same marketplace.
- //
- // - MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon
- // Web Services /> Regions in China. To create an organization, the master
- // must have a valid business license. For more information, contact customer
- // support.
- //
- // - MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you
- // must first provide a valid contact address and phone number for the management
- // account. Then try the operation again.
- //
- // - MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the
- // management account must have an associated account in the Amazon Web Services
- // GovCloud (US-West) Region. For more information, see Organizations (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html)
- // in the Amazon Web Services GovCloud User Guide.
- //
- // - MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization
- // with this management account, you first must associate a valid payment
- // instrument, such as a credit card, with the account. Follow the steps
- // at To leave an organization when all required account information has
- // not yet been provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted
- // to register more delegated administrators than allowed for the service
- // principal.
- //
- // - MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the
- // number of policies of a certain type that can be attached to an entity
- // at one time.
- //
- // - MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed
- // on this resource.
- //
- // - MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation
- // with this member account, you first must associate a valid payment instrument,
- // such as a credit card, with the account. Follow the steps at To leave
- // an organization when all required account information has not yet been
- // provided (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info)
- // in the Organizations User Guide.
- //
- // - MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a
- // policy from an entity that would cause the entity to have fewer than the
- // minimum number of policies of a certain type required.
- //
- // - ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation
- // that requires the organization to be configured to support all features.
- // An organization that supports only consolidated billing features can't
- // perform this operation.
- //
- // - OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is
- // too many levels deep.
- //
- // - OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs
- // that you can have in an organization.
- //
- // - POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that
- // is larger than the maximum size.
- //
- // - POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of
- // policies that you can have in an organization.
- //
- // - SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator
- // before you enabled service access. Call the EnableAWSServiceAccess API
- // first.
- //
- // - TAG_POLICY_VIOLATION: You attempted to create or update a resource with
- // tags that are not compliant with the tag policy requirements for this
- // account.
- //
- // - WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account,
- // there is a waiting period before you can remove it from the organization.
- // If you get an error that indicates that a wait period is required, try
- // again in a few days.
- type ConstraintViolationException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- Reason *string `type:"string" enum:"ConstraintViolationExceptionReason"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ConstraintViolationException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ConstraintViolationException) GoString() string {
- return s.String()
- }
- func newErrorConstraintViolationException(v protocol.ResponseMetadata) error {
- return &ConstraintViolationException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *ConstraintViolationException) Code() string {
- return "ConstraintViolationException"
- }
- // Message returns the exception's message.
- func (s *ConstraintViolationException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *ConstraintViolationException) OrigErr() error {
- return nil
- }
- func (s *ConstraintViolationException) Error() string {
- return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *ConstraintViolationException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *ConstraintViolationException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- type CreateAccountInput struct {
- _ struct{} `type:"structure"`
- // The friendly name of the member account.
- //
- // AccountName is a sensitive parameter and its value will be
- // replaced with "sensitive" in string returned by CreateAccountInput's
- // String and GoString methods.
- //
- // AccountName is a required field
- AccountName *string `min:"1" type:"string" required:"true" sensitive:"true"`
- // The email address of the owner to assign to the new member account. This
- // email address must not already be associated with another Amazon Web Services
- // account. You must use a valid email address to complete account creation.
- //
- // The rules for a valid email address:
- //
- // * The address must be a minimum of 6 and a maximum of 64 characters long.
- //
- // * All characters must be 7-bit ASCII characters.
- //
- // * There must be one and only one @ symbol, which separates the local name
- // from the domain name.
- //
- // * The local name can't contain any of the following characters: whitespace,
- // " ' ( ) < > [ ] : ; , \ | % &
- //
- // * The local name can't begin with a dot (.)
- //
- // * The domain name can consist of only the characters [a-z],[A-Z],[0-9],
- // hyphen (-), or dot (.)
- //
- // * The domain name can't begin or end with a hyphen (-) or dot (.)
- //
- // * The domain name must contain at least one dot
- //
- // You can't access the root user of the account or remove an account that was
- // created with an invalid email address.
- //
- // Email is a sensitive parameter and its value will be
- // replaced with "sensitive" in string returned by CreateAccountInput's
- // String and GoString methods.
- //
- // Email is a required field
- Email *string `min:"6" type:"string" required:"true" sensitive:"true"`
- // If set to ALLOW, the new account enables IAM users to access account billing
- // information if they have the required permissions. If set to DENY, only the
- // root user of the new account can access account billing information. For
- // more information, see Activating Access to the Billing and Cost Management
- // Console (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/grantaccess.html#ControllingAccessWebsite-Activate)
- // in the Amazon Web Services Billing and Cost Management User Guide.
- //
- // If you don't specify this parameter, the value defaults to ALLOW, and IAM
- // users and roles with the required permissions can access billing information
- // for the new account.
- IamUserAccessToBilling *string `type:"string" enum:"IAMUserAccessToBilling"`
- // The name of an IAM role that Organizations automatically preconfigures in
- // the new member account. This role trusts the management account, allowing
- // users in the management account to assume the role, as permitted by the management
- // account administrator. The role has administrator permissions in the new
- // member account.
- //
- // If you don't specify this parameter, the role name defaults to OrganizationAccountAccessRole.
- //
- // For more information about how to use this role to access the member account,
- // see the following links:
- //
- // * Accessing and Administering the Member Accounts in Your Organization
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_access.html#orgs_manage_accounts_create-cross-account-role)
- // in the Organizations User Guide
- //
- // * Steps 2 and 3 in Tutorial: Delegate Access Across Amazon Web Services
- // accounts Using IAM Roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html)
- // in the IAM User Guide
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) that is used to validate
- // this parameter. The pattern can include uppercase letters, lowercase letters,
- // digits with no spaces, and any of the following characters: =,.@-
- RoleName *string `type:"string"`
- // A list of tags that you want to attach to the newly created account. For
- // each tag in the list, you must specify both a tag key and a value. You can
- // set the value to an empty string, but you can't set it to null. For more
- // information about tagging, see Tagging Organizations resources (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html)
- // in the Organizations User Guide.
- //
- // If any one of the tags is invalid or if you exceed the maximum allowed number
- // of tags for an account, then the entire request fails and the account is
- // not created.
- Tags []*Tag `type:"list"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CreateAccountInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CreateAccountInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CreateAccountInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateAccountInput"}
- if s.AccountName == nil {
- invalidParams.Add(request.NewErrParamRequired("AccountName"))
- }
- if s.AccountName != nil && len(*s.AccountName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("AccountName", 1))
- }
- if s.Email == nil {
- invalidParams.Add(request.NewErrParamRequired("Email"))
- }
- if s.Email != nil && len(*s.Email) < 6 {
- invalidParams.Add(request.NewErrParamMinLen("Email", 6))
- }
- 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
- }
- // SetAccountName sets the AccountName field's value.
- func (s *CreateAccountInput) SetAccountName(v string) *CreateAccountInput {
- s.AccountName = &v
- return s
- }
- // SetEmail sets the Email field's value.
- func (s *CreateAccountInput) SetEmail(v string) *CreateAccountInput {
- s.Email = &v
- return s
- }
- // SetIamUserAccessToBilling sets the IamUserAccessToBilling field's value.
- func (s *CreateAccountInput) SetIamUserAccessToBilling(v string) *CreateAccountInput {
- s.IamUserAccessToBilling = &v
- return s
- }
- // SetRoleName sets the RoleName field's value.
- func (s *CreateAccountInput) SetRoleName(v string) *CreateAccountInput {
- s.RoleName = &v
- return s
- }
- // SetTags sets the Tags field's value.
- func (s *CreateAccountInput) SetTags(v []*Tag) *CreateAccountInput {
- s.Tags = v
- return s
- }
- type CreateAccountOutput struct {
- _ struct{} `type:"structure"`
- // A structure that contains details about the request to create an account.
- // This response structure might not be fully populated when you first receive
- // it because account creation is an asynchronous process. You can pass the
- // returned CreateAccountStatus ID as a parameter to DescribeCreateAccountStatus
- // to get status about the progress of the request at later times. You can also
- // check the CloudTrail log for the CreateAccountResult event. For more information,
- // see Monitoring the Activity in Your Organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_monitoring.html)
- // in the Organizations User Guide.
- CreateAccountStatus *CreateAccountStatus `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CreateAccountOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CreateAccountOutput) GoString() string {
- return s.String()
- }
- // SetCreateAccountStatus sets the CreateAccountStatus field's value.
- func (s *CreateAccountOutput) SetCreateAccountStatus(v *CreateAccountStatus) *CreateAccountOutput {
- s.CreateAccountStatus = v
- return s
- }
- // Contains the status about a CreateAccount or CreateGovCloudAccount request
- // to create an Amazon Web Services account or an Amazon Web Services GovCloud
- // (US) account in an organization.
- type CreateAccountStatus struct {
- _ struct{} `type:"structure"`
- // If the account was created successfully, the unique identifier (ID) of the
- // new account.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for an account ID string
- // requires exactly 12 digits.
- AccountId *string `type:"string"`
- // The account name given to the account when it was created.
- //
- // AccountName is a sensitive parameter and its value will be
- // replaced with "sensitive" in string returned by CreateAccountStatus's
- // String and GoString methods.
- AccountName *string `min:"1" type:"string" sensitive:"true"`
- // The date and time that the account was created and the request completed.
- CompletedTimestamp *time.Time `type:"timestamp"`
- // If the request failed, a description of the reason for the failure.
- //
- // * ACCOUNT_LIMIT_EXCEEDED: The account couldn't be created because you
- // reached the limit on the number of accounts in your organization.
- //
- // * CONCURRENT_ACCOUNT_MODIFICATION: You already submitted a request with
- // the same information.
- //
- // * EMAIL_ALREADY_EXISTS: The account could not be created because another
- // Amazon Web Services account with that email address already exists.
- //
- // * FAILED_BUSINESS_VALIDATION: The Amazon Web Services account that owns
- // your organization failed to receive business license validation.
- //
- // * GOVCLOUD_ACCOUNT_ALREADY_EXISTS: The account in the Amazon Web Services
- // GovCloud (US) Region could not be created because this Region already
- // includes an account with that email address.
- //
- // * IDENTITY_INVALID_BUSINESS_VALIDATION: The Amazon Web Services account
- // that owns your organization can't complete business license validation
- // because it doesn't have valid identity data.
- //
- // * INVALID_ADDRESS: The account could not be created because the address
- // you provided is not valid.
- //
- // * INVALID_EMAIL: The account could not be created because the email address
- // you provided is not valid.
- //
- // * INVALID_PAYMENT_INSTRUMENT: The Amazon Web Services account that owns
- // your organization does not have a supported payment method associated
- // with the account. Amazon Web Services does not support cards issued by
- // financial institutions in Russia or Belarus. For more information, see
- // Managing your Amazon Web Services payments (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html).
- //
- // * INTERNAL_FAILURE: The account could not be created because of an internal
- // failure. Try again later. If the problem persists, contact Amazon Web
- // Services Customer Support.
- //
- // * MISSING_BUSINESS_VALIDATION: The Amazon Web Services account that owns
- // your organization has not received Business Validation.
- //
- // * MISSING_PAYMENT_INSTRUMENT: You must configure the management account
- // with a valid payment method, such as a credit card.
- //
- // * PENDING_BUSINESS_VALIDATION: The Amazon Web Services account that owns
- // your organization is still in the process of completing business license
- // validation.
- //
- // * UNKNOWN_BUSINESS_VALIDATION: The Amazon Web Services account that owns
- // your organization has an unknown issue with business license validation.
- FailureReason *string `type:"string" enum:"CreateAccountFailureReason"`
- // If the account was created successfully, the unique identifier (ID) of the
- // new account in the Amazon Web Services GovCloud (US) Region.
- GovCloudAccountId *string `type:"string"`
- // The unique identifier (ID) that references this request. You get this value
- // from the response of the initial CreateAccount request to create the account.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for a create account
- // request ID string requires "car-" followed by from 8 to 32 lowercase letters
- // or digits.
- Id *string `type:"string"`
- // The date and time that the request was made for the account creation.
- RequestedTimestamp *time.Time `type:"timestamp"`
- // The status of the asynchronous request to create an Amazon Web Services account.
- State *string `type:"string" enum:"CreateAccountState"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CreateAccountStatus) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CreateAccountStatus) GoString() string {
- return s.String()
- }
- // SetAccountId sets the AccountId field's value.
- func (s *CreateAccountStatus) SetAccountId(v string) *CreateAccountStatus {
- s.AccountId = &v
- return s
- }
- // SetAccountName sets the AccountName field's value.
- func (s *CreateAccountStatus) SetAccountName(v string) *CreateAccountStatus {
- s.AccountName = &v
- return s
- }
- // SetCompletedTimestamp sets the CompletedTimestamp field's value.
- func (s *CreateAccountStatus) SetCompletedTimestamp(v time.Time) *CreateAccountStatus {
- s.CompletedTimestamp = &v
- return s
- }
- // SetFailureReason sets the FailureReason field's value.
- func (s *CreateAccountStatus) SetFailureReason(v string) *CreateAccountStatus {
- s.FailureReason = &v
- return s
- }
- // SetGovCloudAccountId sets the GovCloudAccountId field's value.
- func (s *CreateAccountStatus) SetGovCloudAccountId(v string) *CreateAccountStatus {
- s.GovCloudAccountId = &v
- return s
- }
- // SetId sets the Id field's value.
- func (s *CreateAccountStatus) SetId(v string) *CreateAccountStatus {
- s.Id = &v
- return s
- }
- // SetRequestedTimestamp sets the RequestedTimestamp field's value.
- func (s *CreateAccountStatus) SetRequestedTimestamp(v time.Time) *CreateAccountStatus {
- s.RequestedTimestamp = &v
- return s
- }
- // SetState sets the State field's value.
- func (s *CreateAccountStatus) SetState(v string) *CreateAccountStatus {
- s.State = &v
- return s
- }
- // We can't find an create account request with the CreateAccountRequestId that
- // you specified.
- type CreateAccountStatusNotFoundException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CreateAccountStatusNotFoundException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CreateAccountStatusNotFoundException) GoString() string {
- return s.String()
- }
- func newErrorCreateAccountStatusNotFoundException(v protocol.ResponseMetadata) error {
- return &CreateAccountStatusNotFoundException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *CreateAccountStatusNotFoundException) Code() string {
- return "CreateAccountStatusNotFoundException"
- }
- // Message returns the exception's message.
- func (s *CreateAccountStatusNotFoundException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *CreateAccountStatusNotFoundException) OrigErr() error {
- return nil
- }
- func (s *CreateAccountStatusNotFoundException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *CreateAccountStatusNotFoundException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *CreateAccountStatusNotFoundException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- type CreateGovCloudAccountInput struct {
- _ struct{} `type:"structure"`
- // The friendly name of the member account.
- //
- // The account name can consist of only the characters [a-z],[A-Z],[0-9], hyphen
- // (-), or dot (.) You can't separate characters with a dash (–).
- //
- // AccountName is a sensitive parameter and its value will be
- // replaced with "sensitive" in string returned by CreateGovCloudAccountInput's
- // String and GoString methods.
- //
- // AccountName is a required field
- AccountName *string `min:"1" type:"string" required:"true" sensitive:"true"`
- // Specifies the email address of the owner to assign to the new member account
- // in the commercial Region. This email address must not already be associated
- // with another Amazon Web Services account. You must use a valid email address
- // to complete account creation.
- //
- // The rules for a valid email address:
- //
- // * The address must be a minimum of 6 and a maximum of 64 characters long.
- //
- // * All characters must be 7-bit ASCII characters.
- //
- // * There must be one and only one @ symbol, which separates the local name
- // from the domain name.
- //
- // * The local name can't contain any of the following characters: whitespace,
- // " ' ( ) < > [ ] : ; , \ | % &
- //
- // * The local name can't begin with a dot (.)
- //
- // * The domain name can consist of only the characters [a-z],[A-Z],[0-9],
- // hyphen (-), or dot (.)
- //
- // * The domain name can't begin or end with a hyphen (-) or dot (.)
- //
- // * The domain name must contain at least one dot
- //
- // You can't access the root user of the account or remove an account that was
- // created with an invalid email address. Like all request parameters for CreateGovCloudAccount,
- // the request for the email address for the Amazon Web Services GovCloud (US)
- // account originates from the commercial Region, not from the Amazon Web Services
- // GovCloud (US) Region.
- //
- // Email is a sensitive parameter and its value will be
- // replaced with "sensitive" in string returned by CreateGovCloudAccountInput's
- // String and GoString methods.
- //
- // Email is a required field
- Email *string `min:"6" type:"string" required:"true" sensitive:"true"`
- // If set to ALLOW, the new linked account in the commercial Region enables
- // IAM users to access account billing information if they have the required
- // permissions. If set to DENY, only the root user of the new account can access
- // account billing information. For more information, see Activating Access
- // to the Billing and Cost Management Console (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/grantaccess.html#ControllingAccessWebsite-Activate)
- // in the Amazon Web Services Billing and Cost Management User Guide.
- //
- // If you don't specify this parameter, the value defaults to ALLOW, and IAM
- // users and roles with the required permissions can access billing information
- // for the new account.
- IamUserAccessToBilling *string `type:"string" enum:"IAMUserAccessToBilling"`
- // (Optional)
- //
- // The name of an IAM role that Organizations automatically preconfigures in
- // the new member accounts in both the Amazon Web Services GovCloud (US) Region
- // and in the commercial Region. This role trusts the management account, allowing
- // users in the management account to assume the role, as permitted by the management
- // account administrator. The role has administrator permissions in the new
- // member account.
- //
- // If you don't specify this parameter, the role name defaults to OrganizationAccountAccessRole.
- //
- // For more information about how to use this role to access the member account,
- // see Accessing and Administering the Member Accounts in Your Organization
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_access.html#orgs_manage_accounts_create-cross-account-role)
- // in the Organizations User Guide and steps 2 and 3 in Tutorial: Delegate Access
- // Across Amazon Web Services accounts Using IAM Roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html)
- // in the IAM User Guide.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) that is used to validate
- // this parameter. The pattern can include uppercase letters, lowercase letters,
- // digits with no spaces, and any of the following characters: =,.@-
- RoleName *string `type:"string"`
- // A list of tags that you want to attach to the newly created account. These
- // tags are attached to the commercial account associated with the GovCloud
- // account, and not to the GovCloud account itself. To add tags to the actual
- // GovCloud account, call the TagResource operation in the GovCloud region after
- // the new GovCloud account exists.
- //
- // For each tag in the list, you must specify both a tag key and a value. You
- // can set the value to an empty string, but you can't set it to null. For more
- // information about tagging, see Tagging Organizations resources (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html)
- // in the Organizations User Guide.
- //
- // If any one of the tags is invalid or if you exceed the maximum allowed number
- // of tags for an account, then the entire request fails and the account is
- // not created.
- Tags []*Tag `type:"list"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CreateGovCloudAccountInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CreateGovCloudAccountInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CreateGovCloudAccountInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateGovCloudAccountInput"}
- if s.AccountName == nil {
- invalidParams.Add(request.NewErrParamRequired("AccountName"))
- }
- if s.AccountName != nil && len(*s.AccountName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("AccountName", 1))
- }
- if s.Email == nil {
- invalidParams.Add(request.NewErrParamRequired("Email"))
- }
- if s.Email != nil && len(*s.Email) < 6 {
- invalidParams.Add(request.NewErrParamMinLen("Email", 6))
- }
- 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
- }
- // SetAccountName sets the AccountName field's value.
- func (s *CreateGovCloudAccountInput) SetAccountName(v string) *CreateGovCloudAccountInput {
- s.AccountName = &v
- return s
- }
- // SetEmail sets the Email field's value.
- func (s *CreateGovCloudAccountInput) SetEmail(v string) *CreateGovCloudAccountInput {
- s.Email = &v
- return s
- }
- // SetIamUserAccessToBilling sets the IamUserAccessToBilling field's value.
- func (s *CreateGovCloudAccountInput) SetIamUserAccessToBilling(v string) *CreateGovCloudAccountInput {
- s.IamUserAccessToBilling = &v
- return s
- }
- // SetRoleName sets the RoleName field's value.
- func (s *CreateGovCloudAccountInput) SetRoleName(v string) *CreateGovCloudAccountInput {
- s.RoleName = &v
- return s
- }
- // SetTags sets the Tags field's value.
- func (s *CreateGovCloudAccountInput) SetTags(v []*Tag) *CreateGovCloudAccountInput {
- s.Tags = v
- return s
- }
- type CreateGovCloudAccountOutput struct {
- _ struct{} `type:"structure"`
- // Contains the status about a CreateAccount or CreateGovCloudAccount request
- // to create an Amazon Web Services account or an Amazon Web Services GovCloud
- // (US) account in an organization.
- CreateAccountStatus *CreateAccountStatus `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CreateGovCloudAccountOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CreateGovCloudAccountOutput) GoString() string {
- return s.String()
- }
- // SetCreateAccountStatus sets the CreateAccountStatus field's value.
- func (s *CreateGovCloudAccountOutput) SetCreateAccountStatus(v *CreateAccountStatus) *CreateGovCloudAccountOutput {
- s.CreateAccountStatus = v
- return s
- }
- type CreateOrganizationInput struct {
- _ struct{} `type:"structure"`
- // Specifies the feature set supported by the new organization. Each feature
- // set supports different levels of functionality.
- //
- // * CONSOLIDATED_BILLING: All member accounts have their bills consolidated
- // to and paid by the management account. For more information, see Consolidated
- // billing (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#feature-set-cb-only)
- // in the Organizations User Guide. The consolidated billing feature subset
- // isn't available for organizations in the Amazon Web Services GovCloud
- // (US) Region.
- //
- // * ALL: In addition to all the features supported by the consolidated billing
- // feature set, the management account can also apply any policy type to
- // any member account in the organization. For more information, see All
- // features (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#feature-set-all)
- // in the Organizations User Guide.
- FeatureSet *string `type:"string" enum:"OrganizationFeatureSet"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CreateOrganizationInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CreateOrganizationInput) GoString() string {
- return s.String()
- }
- // SetFeatureSet sets the FeatureSet field's value.
- func (s *CreateOrganizationInput) SetFeatureSet(v string) *CreateOrganizationInput {
- s.FeatureSet = &v
- return s
- }
- type CreateOrganizationOutput struct {
- _ struct{} `type:"structure"`
- // A structure that contains details about the newly created organization.
- Organization *Organization `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CreateOrganizationOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CreateOrganizationOutput) GoString() string {
- return s.String()
- }
- // SetOrganization sets the Organization field's value.
- func (s *CreateOrganizationOutput) SetOrganization(v *Organization) *CreateOrganizationOutput {
- s.Organization = v
- return s
- }
- type CreateOrganizationalUnitInput struct {
- _ struct{} `type:"structure"`
- // The friendly name to assign to the new OU.
- //
- // Name is a required field
- Name *string `min:"1" type:"string" required:"true"`
- // The unique identifier (ID) of the parent root or OU that you want to create
- // the new OU in.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for a parent ID string
- // requires one of the following:
- //
- // * Root - A string that begins with "r-" followed by from 4 to 32 lowercase
- // letters or digits.
- //
- // * Organizational unit (OU) - A string that begins with "ou-" followed
- // by from 4 to 32 lowercase letters or digits (the ID of the root that the
- // OU is in). This string is followed by a second "-" dash and from 8 to
- // 32 additional lowercase letters or digits.
- //
- // ParentId is a required field
- ParentId *string `type:"string" required:"true"`
- // A list of tags that you want to attach to the newly created OU. For each
- // tag in the list, you must specify both a tag key and a value. You can set
- // the value to an empty string, but you can't set it to null. For more information
- // about tagging, see Tagging Organizations resources (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html)
- // in the Organizations User Guide.
- //
- // If any one of the tags is invalid or if you exceed the allowed number of
- // tags for an OU, then the entire request fails and the OU is not created.
- Tags []*Tag `type:"list"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CreateOrganizationalUnitInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CreateOrganizationalUnitInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CreateOrganizationalUnitInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateOrganizationalUnitInput"}
- if s.Name == nil {
- invalidParams.Add(request.NewErrParamRequired("Name"))
- }
- if s.Name != nil && len(*s.Name) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Name", 1))
- }
- if s.ParentId == nil {
- invalidParams.Add(request.NewErrParamRequired("ParentId"))
- }
- 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
- }
- // SetName sets the Name field's value.
- func (s *CreateOrganizationalUnitInput) SetName(v string) *CreateOrganizationalUnitInput {
- s.Name = &v
- return s
- }
- // SetParentId sets the ParentId field's value.
- func (s *CreateOrganizationalUnitInput) SetParentId(v string) *CreateOrganizationalUnitInput {
- s.ParentId = &v
- return s
- }
- // SetTags sets the Tags field's value.
- func (s *CreateOrganizationalUnitInput) SetTags(v []*Tag) *CreateOrganizationalUnitInput {
- s.Tags = v
- return s
- }
- type CreateOrganizationalUnitOutput struct {
- _ struct{} `type:"structure"`
- // A structure that contains details about the newly created OU.
- OrganizationalUnit *OrganizationalUnit `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CreateOrganizationalUnitOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CreateOrganizationalUnitOutput) GoString() string {
- return s.String()
- }
- // SetOrganizationalUnit sets the OrganizationalUnit field's value.
- func (s *CreateOrganizationalUnitOutput) SetOrganizationalUnit(v *OrganizationalUnit) *CreateOrganizationalUnitOutput {
- s.OrganizationalUnit = v
- return s
- }
- type CreatePolicyInput struct {
- _ struct{} `type:"structure"`
- // The policy text content to add to the new policy. The text that you supply
- // must adhere to the rules of the policy type you specify in the Type parameter.
- //
- // Content is a required field
- Content *string `min:"1" type:"string" required:"true"`
- // An optional description to assign to the policy.
- //
- // Description is a required field
- Description *string `type:"string" required:"true"`
- // The friendly name to assign to the policy.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) that is used to validate
- // this parameter is a string of any of the characters in the ASCII character
- // range.
- //
- // Name is a required field
- Name *string `min:"1" type:"string" required:"true"`
- // A list of tags that you want to attach to the newly created policy. For each
- // tag in the list, you must specify both a tag key and a value. You can set
- // the value to an empty string, but you can't set it to null. For more information
- // about tagging, see Tagging Organizations resources (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html)
- // in the Organizations User Guide.
- //
- // If any one of the tags is invalid or if you exceed the allowed number of
- // tags for a policy, then the entire request fails and the policy is not created.
- Tags []*Tag `type:"list"`
- // The type of policy to create. You can specify one of the following values:
- //
- // * AISERVICES_OPT_OUT_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html)
- //
- // * BACKUP_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html)
- //
- // * SERVICE_CONTROL_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html)
- //
- // * TAG_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html)
- //
- // Type is a required field
- Type *string `type:"string" required:"true" enum:"PolicyType"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CreatePolicyInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CreatePolicyInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CreatePolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreatePolicyInput"}
- if s.Content == nil {
- invalidParams.Add(request.NewErrParamRequired("Content"))
- }
- if s.Content != nil && len(*s.Content) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Content", 1))
- }
- if s.Description == nil {
- invalidParams.Add(request.NewErrParamRequired("Description"))
- }
- if s.Name == nil {
- invalidParams.Add(request.NewErrParamRequired("Name"))
- }
- if s.Name != nil && len(*s.Name) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Name", 1))
- }
- if s.Type == nil {
- invalidParams.Add(request.NewErrParamRequired("Type"))
- }
- 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
- }
- // SetContent sets the Content field's value.
- func (s *CreatePolicyInput) SetContent(v string) *CreatePolicyInput {
- s.Content = &v
- return s
- }
- // SetDescription sets the Description field's value.
- func (s *CreatePolicyInput) SetDescription(v string) *CreatePolicyInput {
- s.Description = &v
- return s
- }
- // SetName sets the Name field's value.
- func (s *CreatePolicyInput) SetName(v string) *CreatePolicyInput {
- s.Name = &v
- return s
- }
- // SetTags sets the Tags field's value.
- func (s *CreatePolicyInput) SetTags(v []*Tag) *CreatePolicyInput {
- s.Tags = v
- return s
- }
- // SetType sets the Type field's value.
- func (s *CreatePolicyInput) SetType(v string) *CreatePolicyInput {
- s.Type = &v
- return s
- }
- type CreatePolicyOutput struct {
- _ struct{} `type:"structure"`
- // A structure that contains details about the newly created policy.
- Policy *Policy `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CreatePolicyOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s CreatePolicyOutput) GoString() string {
- return s.String()
- }
- // SetPolicy sets the Policy field's value.
- func (s *CreatePolicyOutput) SetPolicy(v *Policy) *CreatePolicyOutput {
- s.Policy = v
- return s
- }
- type DeclineHandshakeInput struct {
- _ struct{} `type:"structure"`
- // The unique identifier (ID) of the handshake that you want to decline. You
- // can get the ID from the ListHandshakesForAccount operation.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for handshake ID string
- // requires "h-" followed by from 8 to 32 lowercase letters or digits.
- //
- // HandshakeId is a required field
- HandshakeId *string `type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DeclineHandshakeInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DeclineHandshakeInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeclineHandshakeInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeclineHandshakeInput"}
- if s.HandshakeId == nil {
- invalidParams.Add(request.NewErrParamRequired("HandshakeId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetHandshakeId sets the HandshakeId field's value.
- func (s *DeclineHandshakeInput) SetHandshakeId(v string) *DeclineHandshakeInput {
- s.HandshakeId = &v
- return s
- }
- type DeclineHandshakeOutput struct {
- _ struct{} `type:"structure"`
- // A structure that contains details about the declined handshake. The state
- // is updated to show the value DECLINED.
- Handshake *Handshake `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DeclineHandshakeOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DeclineHandshakeOutput) GoString() string {
- return s.String()
- }
- // SetHandshake sets the Handshake field's value.
- func (s *DeclineHandshakeOutput) SetHandshake(v *Handshake) *DeclineHandshakeOutput {
- s.Handshake = v
- return s
- }
- // Contains information about the delegated administrator.
- type DelegatedAdministrator struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the delegated administrator's account.
- Arn *string `type:"string"`
- // The date when the account was made a delegated administrator.
- DelegationEnabledDate *time.Time `type:"timestamp"`
- // The email address that is associated with the delegated administrator's Amazon
- // Web Services account.
- //
- // Email is a sensitive parameter and its value will be
- // replaced with "sensitive" in string returned by DelegatedAdministrator's
- // String and GoString methods.
- Email *string `min:"6" type:"string" sensitive:"true"`
- // The unique identifier (ID) of the delegated administrator's account.
- Id *string `type:"string"`
- // The method by which the delegated administrator's account joined the organization.
- JoinedMethod *string `type:"string" enum:"AccountJoinedMethod"`
- // The date when the delegated administrator's account became a part of the
- // organization.
- JoinedTimestamp *time.Time `type:"timestamp"`
- // The friendly name of the delegated administrator's account.
- //
- // Name is a sensitive parameter and its value will be
- // replaced with "sensitive" in string returned by DelegatedAdministrator's
- // String and GoString methods.
- Name *string `min:"1" type:"string" sensitive:"true"`
- // The status of the delegated administrator's account in the organization.
- Status *string `type:"string" enum:"AccountStatus"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DelegatedAdministrator) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DelegatedAdministrator) GoString() string {
- return s.String()
- }
- // SetArn sets the Arn field's value.
- func (s *DelegatedAdministrator) SetArn(v string) *DelegatedAdministrator {
- s.Arn = &v
- return s
- }
- // SetDelegationEnabledDate sets the DelegationEnabledDate field's value.
- func (s *DelegatedAdministrator) SetDelegationEnabledDate(v time.Time) *DelegatedAdministrator {
- s.DelegationEnabledDate = &v
- return s
- }
- // SetEmail sets the Email field's value.
- func (s *DelegatedAdministrator) SetEmail(v string) *DelegatedAdministrator {
- s.Email = &v
- return s
- }
- // SetId sets the Id field's value.
- func (s *DelegatedAdministrator) SetId(v string) *DelegatedAdministrator {
- s.Id = &v
- return s
- }
- // SetJoinedMethod sets the JoinedMethod field's value.
- func (s *DelegatedAdministrator) SetJoinedMethod(v string) *DelegatedAdministrator {
- s.JoinedMethod = &v
- return s
- }
- // SetJoinedTimestamp sets the JoinedTimestamp field's value.
- func (s *DelegatedAdministrator) SetJoinedTimestamp(v time.Time) *DelegatedAdministrator {
- s.JoinedTimestamp = &v
- return s
- }
- // SetName sets the Name field's value.
- func (s *DelegatedAdministrator) SetName(v string) *DelegatedAdministrator {
- s.Name = &v
- return s
- }
- // SetStatus sets the Status field's value.
- func (s *DelegatedAdministrator) SetStatus(v string) *DelegatedAdministrator {
- s.Status = &v
- return s
- }
- // Contains information about the Amazon Web Services service for which the
- // account is a delegated administrator.
- type DelegatedService struct {
- _ struct{} `type:"structure"`
- // The date that the account became a delegated administrator for this service.
- DelegationEnabledDate *time.Time `type:"timestamp"`
- // The name of an Amazon Web Services service that can request an operation
- // for the specified service. This is typically in the form of a URL, such as:
- // servicename.amazonaws.com.
- ServicePrincipal *string `min:"1" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DelegatedService) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DelegatedService) GoString() string {
- return s.String()
- }
- // SetDelegationEnabledDate sets the DelegationEnabledDate field's value.
- func (s *DelegatedService) SetDelegationEnabledDate(v time.Time) *DelegatedService {
- s.DelegationEnabledDate = &v
- return s
- }
- // SetServicePrincipal sets the ServicePrincipal field's value.
- func (s *DelegatedService) SetServicePrincipal(v string) *DelegatedService {
- s.ServicePrincipal = &v
- return s
- }
- type DeleteOrganizationInput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DeleteOrganizationInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DeleteOrganizationInput) GoString() string {
- return s.String()
- }
- type DeleteOrganizationOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DeleteOrganizationOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DeleteOrganizationOutput) GoString() string {
- return s.String()
- }
- type DeleteOrganizationalUnitInput struct {
- _ struct{} `type:"structure"`
- // The unique identifier (ID) of the organizational unit that you want to delete.
- // You can get the ID from the ListOrganizationalUnitsForParent operation.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for an organizational
- // unit ID string requires "ou-" followed by from 4 to 32 lowercase letters
- // or digits (the ID of the root that contains the OU). This string is followed
- // by a second "-" dash and from 8 to 32 additional lowercase letters or digits.
- //
- // OrganizationalUnitId is a required field
- OrganizationalUnitId *string `type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DeleteOrganizationalUnitInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DeleteOrganizationalUnitInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeleteOrganizationalUnitInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteOrganizationalUnitInput"}
- if s.OrganizationalUnitId == nil {
- invalidParams.Add(request.NewErrParamRequired("OrganizationalUnitId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetOrganizationalUnitId sets the OrganizationalUnitId field's value.
- func (s *DeleteOrganizationalUnitInput) SetOrganizationalUnitId(v string) *DeleteOrganizationalUnitInput {
- s.OrganizationalUnitId = &v
- return s
- }
- type DeleteOrganizationalUnitOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DeleteOrganizationalUnitOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DeleteOrganizationalUnitOutput) GoString() string {
- return s.String()
- }
- type DeletePolicyInput struct {
- _ struct{} `type:"structure"`
- // The unique identifier (ID) of the policy that you want to delete. You can
- // get the ID from the ListPolicies or ListPoliciesForTarget operations.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for a policy ID string
- // requires "p-" followed by from 8 to 128 lowercase or uppercase letters, digits,
- // or the underscore character (_).
- //
- // PolicyId is a required field
- PolicyId *string `type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DeletePolicyInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DeletePolicyInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeletePolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeletePolicyInput"}
- if s.PolicyId == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetPolicyId sets the PolicyId field's value.
- func (s *DeletePolicyInput) SetPolicyId(v string) *DeletePolicyInput {
- s.PolicyId = &v
- return s
- }
- type DeletePolicyOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DeletePolicyOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DeletePolicyOutput) GoString() string {
- return s.String()
- }
- type DeleteResourcePolicyInput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DeleteResourcePolicyInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DeleteResourcePolicyInput) GoString() string {
- return s.String()
- }
- type DeleteResourcePolicyOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DeleteResourcePolicyOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DeleteResourcePolicyOutput) GoString() string {
- return s.String()
- }
- type DeregisterDelegatedAdministratorInput struct {
- _ struct{} `type:"structure"`
- // The account ID number of the member account in the organization that you
- // want to deregister as a delegated administrator.
- //
- // AccountId is a required field
- AccountId *string `type:"string" required:"true"`
- // The service principal name of an Amazon Web Services service for which the
- // account is a delegated administrator.
- //
- // Delegated administrator privileges are revoked for only the specified Amazon
- // Web Services service from the member account. If the specified service is
- // the only service for which the member account is a delegated administrator,
- // the operation also revokes Organizations read action permissions.
- //
- // ServicePrincipal is a required field
- ServicePrincipal *string `min:"1" type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DeregisterDelegatedAdministratorInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DeregisterDelegatedAdministratorInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeregisterDelegatedAdministratorInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeregisterDelegatedAdministratorInput"}
- if s.AccountId == nil {
- invalidParams.Add(request.NewErrParamRequired("AccountId"))
- }
- if s.ServicePrincipal == nil {
- invalidParams.Add(request.NewErrParamRequired("ServicePrincipal"))
- }
- if s.ServicePrincipal != nil && len(*s.ServicePrincipal) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ServicePrincipal", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAccountId sets the AccountId field's value.
- func (s *DeregisterDelegatedAdministratorInput) SetAccountId(v string) *DeregisterDelegatedAdministratorInput {
- s.AccountId = &v
- return s
- }
- // SetServicePrincipal sets the ServicePrincipal field's value.
- func (s *DeregisterDelegatedAdministratorInput) SetServicePrincipal(v string) *DeregisterDelegatedAdministratorInput {
- s.ServicePrincipal = &v
- return s
- }
- type DeregisterDelegatedAdministratorOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DeregisterDelegatedAdministratorOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DeregisterDelegatedAdministratorOutput) GoString() string {
- return s.String()
- }
- type DescribeAccountInput struct {
- _ struct{} `type:"structure"`
- // The unique identifier (ID) of the Amazon Web Services account that you want
- // information about. You can get the ID from the ListAccounts or ListAccountsForParent
- // operations.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for an account ID string
- // requires exactly 12 digits.
- //
- // AccountId is a required field
- AccountId *string `type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeAccountInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeAccountInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeAccountInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeAccountInput"}
- if s.AccountId == nil {
- invalidParams.Add(request.NewErrParamRequired("AccountId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAccountId sets the AccountId field's value.
- func (s *DescribeAccountInput) SetAccountId(v string) *DescribeAccountInput {
- s.AccountId = &v
- return s
- }
- type DescribeAccountOutput struct {
- _ struct{} `type:"structure"`
- // A structure that contains information about the requested account.
- Account *Account `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeAccountOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeAccountOutput) GoString() string {
- return s.String()
- }
- // SetAccount sets the Account field's value.
- func (s *DescribeAccountOutput) SetAccount(v *Account) *DescribeAccountOutput {
- s.Account = v
- return s
- }
- type DescribeCreateAccountStatusInput struct {
- _ struct{} `type:"structure"`
- // Specifies the Id value that uniquely identifies the CreateAccount request.
- // You can get the value from the CreateAccountStatus.Id response in an earlier
- // CreateAccount request, or from the ListCreateAccountStatus operation.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for a create account
- // request ID string requires "car-" followed by from 8 to 32 lowercase letters
- // or digits.
- //
- // CreateAccountRequestId is a required field
- CreateAccountRequestId *string `type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeCreateAccountStatusInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeCreateAccountStatusInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeCreateAccountStatusInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeCreateAccountStatusInput"}
- if s.CreateAccountRequestId == nil {
- invalidParams.Add(request.NewErrParamRequired("CreateAccountRequestId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetCreateAccountRequestId sets the CreateAccountRequestId field's value.
- func (s *DescribeCreateAccountStatusInput) SetCreateAccountRequestId(v string) *DescribeCreateAccountStatusInput {
- s.CreateAccountRequestId = &v
- return s
- }
- type DescribeCreateAccountStatusOutput struct {
- _ struct{} `type:"structure"`
- // A structure that contains the current status of an account creation request.
- CreateAccountStatus *CreateAccountStatus `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeCreateAccountStatusOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeCreateAccountStatusOutput) GoString() string {
- return s.String()
- }
- // SetCreateAccountStatus sets the CreateAccountStatus field's value.
- func (s *DescribeCreateAccountStatusOutput) SetCreateAccountStatus(v *CreateAccountStatus) *DescribeCreateAccountStatusOutput {
- s.CreateAccountStatus = v
- return s
- }
- type DescribeEffectivePolicyInput struct {
- _ struct{} `type:"structure"`
- // The type of policy that you want information about. You can specify one of
- // the following values:
- //
- // * AISERVICES_OPT_OUT_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html)
- //
- // * BACKUP_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html)
- //
- // * TAG_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html)
- //
- // PolicyType is a required field
- PolicyType *string `type:"string" required:"true" enum:"EffectivePolicyType"`
- // When you're signed in as the management account, specify the ID of the account
- // that you want details about. Specifying an organization root or organizational
- // unit (OU) as the target is not supported.
- TargetId *string `type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeEffectivePolicyInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeEffectivePolicyInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeEffectivePolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeEffectivePolicyInput"}
- if s.PolicyType == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyType"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetPolicyType sets the PolicyType field's value.
- func (s *DescribeEffectivePolicyInput) SetPolicyType(v string) *DescribeEffectivePolicyInput {
- s.PolicyType = &v
- return s
- }
- // SetTargetId sets the TargetId field's value.
- func (s *DescribeEffectivePolicyInput) SetTargetId(v string) *DescribeEffectivePolicyInput {
- s.TargetId = &v
- return s
- }
- type DescribeEffectivePolicyOutput struct {
- _ struct{} `type:"structure"`
- // The contents of the effective policy.
- EffectivePolicy *EffectivePolicy `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeEffectivePolicyOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeEffectivePolicyOutput) GoString() string {
- return s.String()
- }
- // SetEffectivePolicy sets the EffectivePolicy field's value.
- func (s *DescribeEffectivePolicyOutput) SetEffectivePolicy(v *EffectivePolicy) *DescribeEffectivePolicyOutput {
- s.EffectivePolicy = v
- return s
- }
- type DescribeHandshakeInput struct {
- _ struct{} `type:"structure"`
- // The unique identifier (ID) of the handshake that you want information about.
- // You can get the ID from the original call to InviteAccountToOrganization,
- // or from a call to ListHandshakesForAccount or ListHandshakesForOrganization.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for handshake ID string
- // requires "h-" followed by from 8 to 32 lowercase letters or digits.
- //
- // HandshakeId is a required field
- HandshakeId *string `type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeHandshakeInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeHandshakeInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeHandshakeInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeHandshakeInput"}
- if s.HandshakeId == nil {
- invalidParams.Add(request.NewErrParamRequired("HandshakeId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetHandshakeId sets the HandshakeId field's value.
- func (s *DescribeHandshakeInput) SetHandshakeId(v string) *DescribeHandshakeInput {
- s.HandshakeId = &v
- return s
- }
- type DescribeHandshakeOutput struct {
- _ struct{} `type:"structure"`
- // A structure that contains information about the specified handshake.
- Handshake *Handshake `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeHandshakeOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeHandshakeOutput) GoString() string {
- return s.String()
- }
- // SetHandshake sets the Handshake field's value.
- func (s *DescribeHandshakeOutput) SetHandshake(v *Handshake) *DescribeHandshakeOutput {
- s.Handshake = v
- return s
- }
- type DescribeOrganizationInput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeOrganizationInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeOrganizationInput) GoString() string {
- return s.String()
- }
- type DescribeOrganizationOutput struct {
- _ struct{} `type:"structure"`
- // A structure that contains information about the organization.
- //
- // The AvailablePolicyTypes part of the response is deprecated, and you shouldn't
- // use it in your apps. It doesn't include any policy type supported by Organizations
- // other than SCPs. To determine which policy types are enabled in your organization,
- // use the ListRoots operation.
- Organization *Organization `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeOrganizationOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeOrganizationOutput) GoString() string {
- return s.String()
- }
- // SetOrganization sets the Organization field's value.
- func (s *DescribeOrganizationOutput) SetOrganization(v *Organization) *DescribeOrganizationOutput {
- s.Organization = v
- return s
- }
- type DescribeOrganizationalUnitInput struct {
- _ struct{} `type:"structure"`
- // The unique identifier (ID) of the organizational unit that you want details
- // about. You can get the ID from the ListOrganizationalUnitsForParent operation.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for an organizational
- // unit ID string requires "ou-" followed by from 4 to 32 lowercase letters
- // or digits (the ID of the root that contains the OU). This string is followed
- // by a second "-" dash and from 8 to 32 additional lowercase letters or digits.
- //
- // OrganizationalUnitId is a required field
- OrganizationalUnitId *string `type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeOrganizationalUnitInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeOrganizationalUnitInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeOrganizationalUnitInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeOrganizationalUnitInput"}
- if s.OrganizationalUnitId == nil {
- invalidParams.Add(request.NewErrParamRequired("OrganizationalUnitId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetOrganizationalUnitId sets the OrganizationalUnitId field's value.
- func (s *DescribeOrganizationalUnitInput) SetOrganizationalUnitId(v string) *DescribeOrganizationalUnitInput {
- s.OrganizationalUnitId = &v
- return s
- }
- type DescribeOrganizationalUnitOutput struct {
- _ struct{} `type:"structure"`
- // A structure that contains details about the specified OU.
- OrganizationalUnit *OrganizationalUnit `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeOrganizationalUnitOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeOrganizationalUnitOutput) GoString() string {
- return s.String()
- }
- // SetOrganizationalUnit sets the OrganizationalUnit field's value.
- func (s *DescribeOrganizationalUnitOutput) SetOrganizationalUnit(v *OrganizationalUnit) *DescribeOrganizationalUnitOutput {
- s.OrganizationalUnit = v
- return s
- }
- type DescribePolicyInput struct {
- _ struct{} `type:"structure"`
- // The unique identifier (ID) of the policy that you want details about. You
- // can get the ID from the ListPolicies or ListPoliciesForTarget operations.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for a policy ID string
- // requires "p-" followed by from 8 to 128 lowercase or uppercase letters, digits,
- // or the underscore character (_).
- //
- // PolicyId is a required field
- PolicyId *string `type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribePolicyInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribePolicyInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribePolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribePolicyInput"}
- if s.PolicyId == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetPolicyId sets the PolicyId field's value.
- func (s *DescribePolicyInput) SetPolicyId(v string) *DescribePolicyInput {
- s.PolicyId = &v
- return s
- }
- type DescribePolicyOutput struct {
- _ struct{} `type:"structure"`
- // A structure that contains details about the specified policy.
- Policy *Policy `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribePolicyOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribePolicyOutput) GoString() string {
- return s.String()
- }
- // SetPolicy sets the Policy field's value.
- func (s *DescribePolicyOutput) SetPolicy(v *Policy) *DescribePolicyOutput {
- s.Policy = v
- return s
- }
- type DescribeResourcePolicyInput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeResourcePolicyInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeResourcePolicyInput) GoString() string {
- return s.String()
- }
- type DescribeResourcePolicyOutput struct {
- _ struct{} `type:"structure"`
- // A structure that contains details about the resource policy.
- ResourcePolicy *ResourcePolicy `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeResourcePolicyOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DescribeResourcePolicyOutput) GoString() string {
- return s.String()
- }
- // SetResourcePolicy sets the ResourcePolicy field's value.
- func (s *DescribeResourcePolicyOutput) SetResourcePolicy(v *ResourcePolicy) *DescribeResourcePolicyOutput {
- s.ResourcePolicy = v
- return s
- }
- // We can't find the destination container (a root or OU) with the ParentId
- // that you specified.
- type DestinationParentNotFoundException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DestinationParentNotFoundException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DestinationParentNotFoundException) GoString() string {
- return s.String()
- }
- func newErrorDestinationParentNotFoundException(v protocol.ResponseMetadata) error {
- return &DestinationParentNotFoundException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *DestinationParentNotFoundException) Code() string {
- return "DestinationParentNotFoundException"
- }
- // Message returns the exception's message.
- func (s *DestinationParentNotFoundException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *DestinationParentNotFoundException) OrigErr() error {
- return nil
- }
- func (s *DestinationParentNotFoundException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *DestinationParentNotFoundException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *DestinationParentNotFoundException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- type DetachPolicyInput struct {
- _ struct{} `type:"structure"`
- // The unique identifier (ID) of the policy you want to detach. You can get
- // the ID from the ListPolicies or ListPoliciesForTarget operations.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for a policy ID string
- // requires "p-" followed by from 8 to 128 lowercase or uppercase letters, digits,
- // or the underscore character (_).
- //
- // PolicyId is a required field
- PolicyId *string `type:"string" required:"true"`
- // The unique identifier (ID) of the root, OU, or account that you want to detach
- // the policy from. You can get the ID from the ListRoots, ListOrganizationalUnitsForParent,
- // or ListAccounts operations.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for a target ID string
- // requires one of the following:
- //
- // * Root - A string that begins with "r-" followed by from 4 to 32 lowercase
- // letters or digits.
- //
- // * Account - A string that consists of exactly 12 digits.
- //
- // * Organizational unit (OU) - A string that begins with "ou-" followed
- // by from 4 to 32 lowercase letters or digits (the ID of the root that the
- // OU is in). This string is followed by a second "-" dash and from 8 to
- // 32 additional lowercase letters or digits.
- //
- // TargetId is a required field
- TargetId *string `type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DetachPolicyInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DetachPolicyInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DetachPolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DetachPolicyInput"}
- if s.PolicyId == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyId"))
- }
- if s.TargetId == nil {
- invalidParams.Add(request.NewErrParamRequired("TargetId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetPolicyId sets the PolicyId field's value.
- func (s *DetachPolicyInput) SetPolicyId(v string) *DetachPolicyInput {
- s.PolicyId = &v
- return s
- }
- // SetTargetId sets the TargetId field's value.
- func (s *DetachPolicyInput) SetTargetId(v string) *DetachPolicyInput {
- s.TargetId = &v
- return s
- }
- type DetachPolicyOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DetachPolicyOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DetachPolicyOutput) GoString() string {
- return s.String()
- }
- type DisableAWSServiceAccessInput struct {
- _ struct{} `type:"structure"`
- // The service principal name of the Amazon Web Services service for which you
- // want to disable integration with your organization. This is typically in
- // the form of a URL, such as service-abbreviation.amazonaws.com.
- //
- // ServicePrincipal is a required field
- ServicePrincipal *string `min:"1" type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DisableAWSServiceAccessInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DisableAWSServiceAccessInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DisableAWSServiceAccessInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DisableAWSServiceAccessInput"}
- if s.ServicePrincipal == nil {
- invalidParams.Add(request.NewErrParamRequired("ServicePrincipal"))
- }
- if s.ServicePrincipal != nil && len(*s.ServicePrincipal) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ServicePrincipal", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetServicePrincipal sets the ServicePrincipal field's value.
- func (s *DisableAWSServiceAccessInput) SetServicePrincipal(v string) *DisableAWSServiceAccessInput {
- s.ServicePrincipal = &v
- return s
- }
- type DisableAWSServiceAccessOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DisableAWSServiceAccessOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DisableAWSServiceAccessOutput) GoString() string {
- return s.String()
- }
- type DisablePolicyTypeInput struct {
- _ struct{} `type:"structure"`
- // The policy type that you want to disable in this root. You can specify one
- // of the following values:
- //
- // * AISERVICES_OPT_OUT_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html)
- //
- // * BACKUP_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html)
- //
- // * SERVICE_CONTROL_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html)
- //
- // * TAG_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html)
- //
- // PolicyType is a required field
- PolicyType *string `type:"string" required:"true" enum:"PolicyType"`
- // The unique identifier (ID) of the root in which you want to disable a policy
- // type. You can get the ID from the ListRoots operation.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for a root ID string
- // requires "r-" followed by from 4 to 32 lowercase letters or digits.
- //
- // RootId is a required field
- RootId *string `type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DisablePolicyTypeInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DisablePolicyTypeInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DisablePolicyTypeInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DisablePolicyTypeInput"}
- if s.PolicyType == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyType"))
- }
- if s.RootId == nil {
- invalidParams.Add(request.NewErrParamRequired("RootId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetPolicyType sets the PolicyType field's value.
- func (s *DisablePolicyTypeInput) SetPolicyType(v string) *DisablePolicyTypeInput {
- s.PolicyType = &v
- return s
- }
- // SetRootId sets the RootId field's value.
- func (s *DisablePolicyTypeInput) SetRootId(v string) *DisablePolicyTypeInput {
- s.RootId = &v
- return s
- }
- type DisablePolicyTypeOutput struct {
- _ struct{} `type:"structure"`
- // A structure that shows the root with the updated list of enabled policy types.
- Root *Root `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DisablePolicyTypeOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DisablePolicyTypeOutput) GoString() string {
- return s.String()
- }
- // SetRoot sets the Root field's value.
- func (s *DisablePolicyTypeOutput) SetRoot(v *Root) *DisablePolicyTypeOutput {
- s.Root = v
- return s
- }
- // That account is already present in the specified destination.
- type DuplicateAccountException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DuplicateAccountException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DuplicateAccountException) GoString() string {
- return s.String()
- }
- func newErrorDuplicateAccountException(v protocol.ResponseMetadata) error {
- return &DuplicateAccountException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *DuplicateAccountException) Code() string {
- return "DuplicateAccountException"
- }
- // Message returns the exception's message.
- func (s *DuplicateAccountException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *DuplicateAccountException) OrigErr() error {
- return nil
- }
- func (s *DuplicateAccountException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *DuplicateAccountException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *DuplicateAccountException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // A handshake with the same action and target already exists. For example,
- // if you invited an account to join your organization, the invited account
- // might already have a pending invitation from this organization. If you intend
- // to resend an invitation to an account, ensure that existing handshakes that
- // might be considered duplicates are canceled or declined.
- type DuplicateHandshakeException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DuplicateHandshakeException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DuplicateHandshakeException) GoString() string {
- return s.String()
- }
- func newErrorDuplicateHandshakeException(v protocol.ResponseMetadata) error {
- return &DuplicateHandshakeException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *DuplicateHandshakeException) Code() string {
- return "DuplicateHandshakeException"
- }
- // Message returns the exception's message.
- func (s *DuplicateHandshakeException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *DuplicateHandshakeException) OrigErr() error {
- return nil
- }
- func (s *DuplicateHandshakeException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *DuplicateHandshakeException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *DuplicateHandshakeException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // An OU with the same name already exists.
- type DuplicateOrganizationalUnitException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DuplicateOrganizationalUnitException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DuplicateOrganizationalUnitException) GoString() string {
- return s.String()
- }
- func newErrorDuplicateOrganizationalUnitException(v protocol.ResponseMetadata) error {
- return &DuplicateOrganizationalUnitException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *DuplicateOrganizationalUnitException) Code() string {
- return "DuplicateOrganizationalUnitException"
- }
- // Message returns the exception's message.
- func (s *DuplicateOrganizationalUnitException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *DuplicateOrganizationalUnitException) OrigErr() error {
- return nil
- }
- func (s *DuplicateOrganizationalUnitException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *DuplicateOrganizationalUnitException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *DuplicateOrganizationalUnitException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // The selected policy is already attached to the specified target.
- type DuplicatePolicyAttachmentException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DuplicatePolicyAttachmentException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DuplicatePolicyAttachmentException) GoString() string {
- return s.String()
- }
- func newErrorDuplicatePolicyAttachmentException(v protocol.ResponseMetadata) error {
- return &DuplicatePolicyAttachmentException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *DuplicatePolicyAttachmentException) Code() string {
- return "DuplicatePolicyAttachmentException"
- }
- // Message returns the exception's message.
- func (s *DuplicatePolicyAttachmentException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *DuplicatePolicyAttachmentException) OrigErr() error {
- return nil
- }
- func (s *DuplicatePolicyAttachmentException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *DuplicatePolicyAttachmentException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *DuplicatePolicyAttachmentException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // A policy with the same name already exists.
- type DuplicatePolicyException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DuplicatePolicyException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s DuplicatePolicyException) GoString() string {
- return s.String()
- }
- func newErrorDuplicatePolicyException(v protocol.ResponseMetadata) error {
- return &DuplicatePolicyException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *DuplicatePolicyException) Code() string {
- return "DuplicatePolicyException"
- }
- // Message returns the exception's message.
- func (s *DuplicatePolicyException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *DuplicatePolicyException) OrigErr() error {
- return nil
- }
- func (s *DuplicatePolicyException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *DuplicatePolicyException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *DuplicatePolicyException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // Contains rules to be applied to the affected accounts. The effective policy
- // is the aggregation of any policies the account inherits, plus any policy
- // directly attached to the account.
- type EffectivePolicy struct {
- _ struct{} `type:"structure"`
- // The time of the last update to this policy.
- LastUpdatedTimestamp *time.Time `type:"timestamp"`
- // The text content of the policy.
- PolicyContent *string `min:"1" type:"string"`
- // The policy type.
- PolicyType *string `type:"string" enum:"EffectivePolicyType"`
- // The account ID of the policy target.
- TargetId *string `type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s EffectivePolicy) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s EffectivePolicy) GoString() string {
- return s.String()
- }
- // SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
- func (s *EffectivePolicy) SetLastUpdatedTimestamp(v time.Time) *EffectivePolicy {
- s.LastUpdatedTimestamp = &v
- return s
- }
- // SetPolicyContent sets the PolicyContent field's value.
- func (s *EffectivePolicy) SetPolicyContent(v string) *EffectivePolicy {
- s.PolicyContent = &v
- return s
- }
- // SetPolicyType sets the PolicyType field's value.
- func (s *EffectivePolicy) SetPolicyType(v string) *EffectivePolicy {
- s.PolicyType = &v
- return s
- }
- // SetTargetId sets the TargetId field's value.
- func (s *EffectivePolicy) SetTargetId(v string) *EffectivePolicy {
- s.TargetId = &v
- return s
- }
- // If you ran this action on the management account, this policy type is not
- // enabled. If you ran the action on a member account, the account doesn't have
- // an effective policy of this type. Contact the administrator of your organization
- // about attaching a policy of this type to the account.
- type EffectivePolicyNotFoundException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s EffectivePolicyNotFoundException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s EffectivePolicyNotFoundException) GoString() string {
- return s.String()
- }
- func newErrorEffectivePolicyNotFoundException(v protocol.ResponseMetadata) error {
- return &EffectivePolicyNotFoundException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *EffectivePolicyNotFoundException) Code() string {
- return "EffectivePolicyNotFoundException"
- }
- // Message returns the exception's message.
- func (s *EffectivePolicyNotFoundException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *EffectivePolicyNotFoundException) OrigErr() error {
- return nil
- }
- func (s *EffectivePolicyNotFoundException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *EffectivePolicyNotFoundException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *EffectivePolicyNotFoundException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- type EnableAWSServiceAccessInput struct {
- _ struct{} `type:"structure"`
- // The service principal name of the Amazon Web Services service for which you
- // want to enable integration with your organization. This is typically in the
- // form of a URL, such as service-abbreviation.amazonaws.com.
- //
- // ServicePrincipal is a required field
- ServicePrincipal *string `min:"1" type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s EnableAWSServiceAccessInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s EnableAWSServiceAccessInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *EnableAWSServiceAccessInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "EnableAWSServiceAccessInput"}
- if s.ServicePrincipal == nil {
- invalidParams.Add(request.NewErrParamRequired("ServicePrincipal"))
- }
- if s.ServicePrincipal != nil && len(*s.ServicePrincipal) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ServicePrincipal", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetServicePrincipal sets the ServicePrincipal field's value.
- func (s *EnableAWSServiceAccessInput) SetServicePrincipal(v string) *EnableAWSServiceAccessInput {
- s.ServicePrincipal = &v
- return s
- }
- type EnableAWSServiceAccessOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s EnableAWSServiceAccessOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s EnableAWSServiceAccessOutput) GoString() string {
- return s.String()
- }
- type EnableAllFeaturesInput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s EnableAllFeaturesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s EnableAllFeaturesInput) GoString() string {
- return s.String()
- }
- type EnableAllFeaturesOutput struct {
- _ struct{} `type:"structure"`
- // A structure that contains details about the handshake created to support
- // this request to enable all features in the organization.
- Handshake *Handshake `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s EnableAllFeaturesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s EnableAllFeaturesOutput) GoString() string {
- return s.String()
- }
- // SetHandshake sets the Handshake field's value.
- func (s *EnableAllFeaturesOutput) SetHandshake(v *Handshake) *EnableAllFeaturesOutput {
- s.Handshake = v
- return s
- }
- type EnablePolicyTypeInput struct {
- _ struct{} `type:"structure"`
- // The policy type that you want to enable. You can specify one of the following
- // values:
- //
- // * AISERVICES_OPT_OUT_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html)
- //
- // * BACKUP_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html)
- //
- // * SERVICE_CONTROL_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html)
- //
- // * TAG_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html)
- //
- // PolicyType is a required field
- PolicyType *string `type:"string" required:"true" enum:"PolicyType"`
- // The unique identifier (ID) of the root in which you want to enable a policy
- // type. You can get the ID from the ListRoots operation.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for a root ID string
- // requires "r-" followed by from 4 to 32 lowercase letters or digits.
- //
- // RootId is a required field
- RootId *string `type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s EnablePolicyTypeInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s EnablePolicyTypeInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *EnablePolicyTypeInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "EnablePolicyTypeInput"}
- if s.PolicyType == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyType"))
- }
- if s.RootId == nil {
- invalidParams.Add(request.NewErrParamRequired("RootId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetPolicyType sets the PolicyType field's value.
- func (s *EnablePolicyTypeInput) SetPolicyType(v string) *EnablePolicyTypeInput {
- s.PolicyType = &v
- return s
- }
- // SetRootId sets the RootId field's value.
- func (s *EnablePolicyTypeInput) SetRootId(v string) *EnablePolicyTypeInput {
- s.RootId = &v
- return s
- }
- type EnablePolicyTypeOutput struct {
- _ struct{} `type:"structure"`
- // A structure that shows the root with the updated list of enabled policy types.
- Root *Root `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s EnablePolicyTypeOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s EnablePolicyTypeOutput) GoString() string {
- return s.String()
- }
- // SetRoot sets the Root field's value.
- func (s *EnablePolicyTypeOutput) SetRoot(v *Root) *EnablePolicyTypeOutput {
- s.Root = v
- return s
- }
- // A structure that contains details of a service principal that represents
- // an Amazon Web Services service that is enabled to integrate with Organizations.
- type EnabledServicePrincipal struct {
- _ struct{} `type:"structure"`
- // The date that the service principal was enabled for integration with Organizations.
- DateEnabled *time.Time `type:"timestamp"`
- // The name of the service principal. This is typically in the form of a URL,
- // such as: servicename.amazonaws.com.
- ServicePrincipal *string `min:"1" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s EnabledServicePrincipal) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s EnabledServicePrincipal) GoString() string {
- return s.String()
- }
- // SetDateEnabled sets the DateEnabled field's value.
- func (s *EnabledServicePrincipal) SetDateEnabled(v time.Time) *EnabledServicePrincipal {
- s.DateEnabled = &v
- return s
- }
- // SetServicePrincipal sets the ServicePrincipal field's value.
- func (s *EnabledServicePrincipal) SetServicePrincipal(v string) *EnabledServicePrincipal {
- s.ServicePrincipal = &v
- return s
- }
- // Organizations couldn't perform the operation because your organization hasn't
- // finished initializing. This can take up to an hour. Try again later. If after
- // one hour you continue to receive this error, contact Amazon Web Services
- // Support (https://console.aws.amazon.com/support/home#/).
- type FinalizingOrganizationException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s FinalizingOrganizationException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s FinalizingOrganizationException) GoString() string {
- return s.String()
- }
- func newErrorFinalizingOrganizationException(v protocol.ResponseMetadata) error {
- return &FinalizingOrganizationException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *FinalizingOrganizationException) Code() string {
- return "FinalizingOrganizationException"
- }
- // Message returns the exception's message.
- func (s *FinalizingOrganizationException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *FinalizingOrganizationException) OrigErr() error {
- return nil
- }
- func (s *FinalizingOrganizationException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *FinalizingOrganizationException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *FinalizingOrganizationException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // Contains information that must be exchanged to securely establish a relationship
- // between two accounts (an originator and a recipient). For example, when a
- // management account (the originator) invites another account (the recipient)
- // to join its organization, the two accounts exchange information as a series
- // of handshake requests and responses.
- //
- // Note: Handshakes that are CANCELED, ACCEPTED, DECLINED, or EXPIRED show up
- // in lists for only 30 days after entering that state After that they are deleted.
- type Handshake struct {
- _ struct{} `type:"structure"`
- // The type of handshake, indicating what action occurs when the recipient accepts
- // the handshake. The following handshake types are supported:
- //
- // * INVITE: This type of handshake represents a request to join an organization.
- // It is always sent from the management account to only non-member accounts.
- //
- // * ENABLE_ALL_FEATURES: This type of handshake represents a request to
- // enable all features in an organization. It is always sent from the management
- // account to only invited member accounts. Created accounts do not receive
- // this because those accounts were created by the organization's management
- // account and approval is inferred.
- //
- // * APPROVE_ALL_FEATURES: This type of handshake is sent from the Organizations
- // service when all member accounts have approved the ENABLE_ALL_FEATURES
- // invitation. It is sent only to the management account and signals the
- // master that it can finalize the process to enable all features.
- Action *string `type:"string" enum:"ActionType"`
- // The Amazon Resource Name (ARN) of a handshake.
- //
- // For more information about ARNs in Organizations, see ARN Formats Supported
- // by Organizations (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsorganizations.html#awsorganizations-resources-for-iam-policies)
- // in the Amazon Web Services Service Authorization Reference.
- Arn *string `type:"string"`
- // The date and time that the handshake expires. If the recipient of the handshake
- // request fails to respond before the specified date and time, the handshake
- // becomes inactive and is no longer valid.
- ExpirationTimestamp *time.Time `type:"timestamp"`
- // The unique identifier (ID) of a handshake. The originating account creates
- // the ID when it initiates the handshake.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for handshake ID string
- // requires "h-" followed by from 8 to 32 lowercase letters or digits.
- Id *string `type:"string"`
- // Information about the two accounts that are participating in the handshake.
- Parties []*HandshakeParty `type:"list"`
- // The date and time that the handshake request was made.
- RequestedTimestamp *time.Time `type:"timestamp"`
- // Additional information that is needed to process the handshake.
- Resources []*HandshakeResource `type:"list"`
- // The current state of the handshake. Use the state to trace the flow of the
- // handshake through the process from its creation to its acceptance. The meaning
- // of each of the valid values is as follows:
- //
- // * REQUESTED: This handshake was sent to multiple recipients (applicable
- // to only some handshake types) and not all recipients have responded yet.
- // The request stays in this state until all recipients respond.
- //
- // * OPEN: This handshake was sent to multiple recipients (applicable to
- // only some policy types) and all recipients have responded, allowing the
- // originator to complete the handshake action.
- //
- // * CANCELED: This handshake is no longer active because it was canceled
- // by the originating account.
- //
- // * ACCEPTED: This handshake is complete because it has been accepted by
- // the recipient.
- //
- // * DECLINED: This handshake is no longer active because it was declined
- // by the recipient account.
- //
- // * EXPIRED: This handshake is no longer active because the originator did
- // not receive a response of any kind from the recipient before the expiration
- // time (15 days).
- State *string `type:"string" enum:"HandshakeState"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s Handshake) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s Handshake) GoString() string {
- return s.String()
- }
- // SetAction sets the Action field's value.
- func (s *Handshake) SetAction(v string) *Handshake {
- s.Action = &v
- return s
- }
- // SetArn sets the Arn field's value.
- func (s *Handshake) SetArn(v string) *Handshake {
- s.Arn = &v
- return s
- }
- // SetExpirationTimestamp sets the ExpirationTimestamp field's value.
- func (s *Handshake) SetExpirationTimestamp(v time.Time) *Handshake {
- s.ExpirationTimestamp = &v
- return s
- }
- // SetId sets the Id field's value.
- func (s *Handshake) SetId(v string) *Handshake {
- s.Id = &v
- return s
- }
- // SetParties sets the Parties field's value.
- func (s *Handshake) SetParties(v []*HandshakeParty) *Handshake {
- s.Parties = v
- return s
- }
- // SetRequestedTimestamp sets the RequestedTimestamp field's value.
- func (s *Handshake) SetRequestedTimestamp(v time.Time) *Handshake {
- s.RequestedTimestamp = &v
- return s
- }
- // SetResources sets the Resources field's value.
- func (s *Handshake) SetResources(v []*HandshakeResource) *Handshake {
- s.Resources = v
- return s
- }
- // SetState sets the State field's value.
- func (s *Handshake) SetState(v string) *Handshake {
- s.State = &v
- return s
- }
- // The specified handshake is already in the requested state. For example, you
- // can't accept a handshake that was already accepted.
- type HandshakeAlreadyInStateException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s HandshakeAlreadyInStateException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s HandshakeAlreadyInStateException) GoString() string {
- return s.String()
- }
- func newErrorHandshakeAlreadyInStateException(v protocol.ResponseMetadata) error {
- return &HandshakeAlreadyInStateException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *HandshakeAlreadyInStateException) Code() string {
- return "HandshakeAlreadyInStateException"
- }
- // Message returns the exception's message.
- func (s *HandshakeAlreadyInStateException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *HandshakeAlreadyInStateException) OrigErr() error {
- return nil
- }
- func (s *HandshakeAlreadyInStateException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *HandshakeAlreadyInStateException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *HandshakeAlreadyInStateException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // The requested operation would violate the constraint identified in the reason
- // code.
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation:
- //
- // - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
- // the number of accounts in an organization. Note that deleted and closed
- // accounts still count toward your limit. If you get this exception immediately
- // after creating the organization, wait one hour and try again. If after
- // an hour it continues to fail with this error, contact Amazon Web Services
- // Support (https://docs.aws.amazon.com/support/home#/).
- //
- // - ALREADY_IN_AN_ORGANIZATION: The handshake request is invalid because
- // the invited account is already a member of an organization.
- //
- // - HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of
- // handshakes that you can send in one day.
- //
- // - INVITE_DISABLED_DURING_ENABLE_ALL_FEATURES: You can't issue new invitations
- // to join an organization while it's in the process of enabling all features.
- // You can resume inviting accounts after you finalize the process when all
- // accounts have agreed to the change.
- //
- // - ORGANIZATION_ALREADY_HAS_ALL_FEATURES: The handshake request is invalid
- // because the organization has already enabled all features.
- //
- // - ORGANIZATION_IS_ALREADY_PENDING_ALL_FEATURES_MIGRATION: The handshake
- // request is invalid because the organization has already started the process
- // to enable all features.
- //
- // - ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD: The request failed because
- // the account is from a different marketplace than the accounts in the organization.
- // For example, accounts with India addresses must be associated with the
- // AISPL marketplace. All accounts in an organization must be from the same
- // marketplace.
- //
- // - ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED: You attempted to
- // change the membership of an account too quickly after its previous change.
- //
- // - PAYMENT_INSTRUMENT_REQUIRED: You can't complete the operation with an
- // account that doesn't have a payment instrument, such as a credit card,
- // associated with it.
- type HandshakeConstraintViolationException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- Reason *string `type:"string" enum:"HandshakeConstraintViolationExceptionReason"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s HandshakeConstraintViolationException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s HandshakeConstraintViolationException) GoString() string {
- return s.String()
- }
- func newErrorHandshakeConstraintViolationException(v protocol.ResponseMetadata) error {
- return &HandshakeConstraintViolationException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *HandshakeConstraintViolationException) Code() string {
- return "HandshakeConstraintViolationException"
- }
- // Message returns the exception's message.
- func (s *HandshakeConstraintViolationException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *HandshakeConstraintViolationException) OrigErr() error {
- return nil
- }
- func (s *HandshakeConstraintViolationException) Error() string {
- return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *HandshakeConstraintViolationException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *HandshakeConstraintViolationException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // Specifies the criteria that are used to select the handshakes for the operation.
- type HandshakeFilter struct {
- _ struct{} `type:"structure"`
- // Specifies the type of handshake action.
- //
- // If you specify ActionType, you cannot also specify ParentHandshakeId.
- ActionType *string `type:"string" enum:"ActionType"`
- // Specifies the parent handshake. Only used for handshake types that are a
- // child of another type.
- //
- // If you specify ParentHandshakeId, you cannot also specify ActionType.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for handshake ID string
- // requires "h-" followed by from 8 to 32 lowercase letters or digits.
- ParentHandshakeId *string `type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s HandshakeFilter) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s HandshakeFilter) GoString() string {
- return s.String()
- }
- // SetActionType sets the ActionType field's value.
- func (s *HandshakeFilter) SetActionType(v string) *HandshakeFilter {
- s.ActionType = &v
- return s
- }
- // SetParentHandshakeId sets the ParentHandshakeId field's value.
- func (s *HandshakeFilter) SetParentHandshakeId(v string) *HandshakeFilter {
- s.ParentHandshakeId = &v
- return s
- }
- // We can't find a handshake with the HandshakeId that you specified.
- type HandshakeNotFoundException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s HandshakeNotFoundException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s HandshakeNotFoundException) GoString() string {
- return s.String()
- }
- func newErrorHandshakeNotFoundException(v protocol.ResponseMetadata) error {
- return &HandshakeNotFoundException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *HandshakeNotFoundException) Code() string {
- return "HandshakeNotFoundException"
- }
- // Message returns the exception's message.
- func (s *HandshakeNotFoundException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *HandshakeNotFoundException) OrigErr() error {
- return nil
- }
- func (s *HandshakeNotFoundException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *HandshakeNotFoundException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *HandshakeNotFoundException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // Identifies a participant in a handshake.
- type HandshakeParty struct {
- _ struct{} `type:"structure"`
- // The unique identifier (ID) for the party.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for handshake ID string
- // requires "h-" followed by from 8 to 32 lowercase letters or digits.
- //
- // Id is a sensitive parameter and its value will be
- // replaced with "sensitive" in string returned by HandshakeParty's
- // String and GoString methods.
- //
- // Id is a required field
- Id *string `min:"1" type:"string" required:"true" sensitive:"true"`
- // The type of party.
- //
- // Type is a required field
- Type *string `type:"string" required:"true" enum:"HandshakePartyType"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s HandshakeParty) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s HandshakeParty) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *HandshakeParty) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "HandshakeParty"}
- if s.Id == nil {
- invalidParams.Add(request.NewErrParamRequired("Id"))
- }
- if s.Id != nil && len(*s.Id) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Id", 1))
- }
- if s.Type == nil {
- invalidParams.Add(request.NewErrParamRequired("Type"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetId sets the Id field's value.
- func (s *HandshakeParty) SetId(v string) *HandshakeParty {
- s.Id = &v
- return s
- }
- // SetType sets the Type field's value.
- func (s *HandshakeParty) SetType(v string) *HandshakeParty {
- s.Type = &v
- return s
- }
- // Contains additional data that is needed to process a handshake.
- type HandshakeResource struct {
- _ struct{} `type:"structure"`
- // When needed, contains an additional array of HandshakeResource objects.
- Resources []*HandshakeResource `type:"list"`
- // The type of information being passed, specifying how the value is to be interpreted
- // by the other party:
- //
- // * ACCOUNT - Specifies an Amazon Web Services account ID number.
- //
- // * ORGANIZATION - Specifies an organization ID number.
- //
- // * EMAIL - Specifies the email address that is associated with the account
- // that receives the handshake.
- //
- // * OWNER_EMAIL - Specifies the email address associated with the management
- // account. Included as information about an organization.
- //
- // * OWNER_NAME - Specifies the name associated with the management account.
- // Included as information about an organization.
- //
- // * NOTES - Additional text provided by the handshake initiator and intended
- // for the recipient to read.
- Type *string `type:"string" enum:"HandshakeResourceType"`
- // The information that is passed to the other party in the handshake. The format
- // of the value string must match the requirements of the specified type.
- //
- // Value is a sensitive parameter and its value will be
- // replaced with "sensitive" in string returned by HandshakeResource's
- // String and GoString methods.
- Value *string `type:"string" sensitive:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s HandshakeResource) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s HandshakeResource) GoString() string {
- return s.String()
- }
- // SetResources sets the Resources field's value.
- func (s *HandshakeResource) SetResources(v []*HandshakeResource) *HandshakeResource {
- s.Resources = v
- return s
- }
- // SetType sets the Type field's value.
- func (s *HandshakeResource) SetType(v string) *HandshakeResource {
- s.Type = &v
- return s
- }
- // SetValue sets the Value field's value.
- func (s *HandshakeResource) SetValue(v string) *HandshakeResource {
- s.Value = &v
- return s
- }
- // You can't perform the operation on the handshake in its current state. For
- // example, you can't cancel a handshake that was already accepted or accept
- // a handshake that was already declined.
- type InvalidHandshakeTransitionException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s InvalidHandshakeTransitionException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s InvalidHandshakeTransitionException) GoString() string {
- return s.String()
- }
- func newErrorInvalidHandshakeTransitionException(v protocol.ResponseMetadata) error {
- return &InvalidHandshakeTransitionException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *InvalidHandshakeTransitionException) Code() string {
- return "InvalidHandshakeTransitionException"
- }
- // Message returns the exception's message.
- func (s *InvalidHandshakeTransitionException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *InvalidHandshakeTransitionException) OrigErr() error {
- return nil
- }
- func (s *InvalidHandshakeTransitionException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *InvalidHandshakeTransitionException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *InvalidHandshakeTransitionException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // The requested operation failed because you provided invalid values for one
- // or more of the request parameters. This exception includes a reason that
- // contains additional information about the violated limit:
- //
- // Some of the reasons in the following list might not be applicable to this
- // specific API or operation.
- //
- // - DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to
- // the same entity.
- //
- // - IMMUTABLE_POLICY: You specified a policy that is managed by Amazon Web
- // Services and can't be modified.
- //
- // - INPUT_REQUIRED: You must include a value for all required parameters.
- //
- // - INVALID_EMAIL_ADDRESS_TARGET: You specified an invalid email address
- // for the invited account owner.
- //
- // - INVALID_ENUM: You specified an invalid value.
- //
- // - INVALID_ENUM_POLICY_TYPE: You specified an invalid policy type string.
- //
- // - INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid
- // characters.
- //
- // - INVALID_LIST_MEMBER: You provided a list to a parameter that contains
- // at least one invalid value.
- //
- // - INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter
- // from the response to a previous call of the operation.
- //
- // - INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account,
- // organization, or email) as a party.
- //
- // - INVALID_PATTERN: You provided a value that doesn't match the required
- // pattern.
- //
- // - INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't
- // match the required pattern.
- //
- // - INVALID_ROLE_NAME: You provided a role name that isn't valid. A role
- // name can't begin with the reserved prefix AWSServiceRoleFor.
- //
- // - INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource
- // Name (ARN) for the organization.
- //
- // - INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.
- //
- // - INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system
- // tag. You can’t add, edit, or delete system tag keys because they're
- // reserved for Amazon Web Services use. System tags don’t count against
- // your tags per resource limit.
- //
- // - MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter
- // for the operation.
- //
- // - MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer
- // than allowed.
- //
- // - MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger
- // value than allowed.
- //
- // - MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter
- // than allowed.
- //
- // - MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller
- // value than allowed.
- //
- // - MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only
- // between entities in the same root.
- //
- // - TARGET_NOT_SUPPORTED: You can't perform the specified operation on that
- // target entity.
- //
- // - UNRECOGNIZED_SERVICE_PRINCIPAL: You specified a service principal that
- // isn't recognized.
- type InvalidInputException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- Reason *string `type:"string" enum:"InvalidInputExceptionReason"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s InvalidInputException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s InvalidInputException) GoString() string {
- return s.String()
- }
- func newErrorInvalidInputException(v protocol.ResponseMetadata) error {
- return &InvalidInputException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *InvalidInputException) Code() string {
- return "InvalidInputException"
- }
- // Message returns the exception's message.
- func (s *InvalidInputException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *InvalidInputException) OrigErr() error {
- return nil
- }
- func (s *InvalidInputException) Error() string {
- return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *InvalidInputException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *InvalidInputException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- type InviteAccountToOrganizationInput struct {
- _ struct{} `type:"structure"`
- // Additional information that you want to include in the generated email to
- // the recipient account owner.
- //
- // Notes is a sensitive parameter and its value will be
- // replaced with "sensitive" in string returned by InviteAccountToOrganizationInput's
- // String and GoString methods.
- Notes *string `type:"string" sensitive:"true"`
- // A list of tags that you want to attach to the account when it becomes a member
- // of the organization. For each tag in the list, you must specify both a tag
- // key and a value. You can set the value to an empty string, but you can't
- // set it to null. For more information about tagging, see Tagging Organizations
- // resources (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html)
- // in the Organizations User Guide.
- //
- // Any tags in the request are checked for compliance with any applicable tag
- // policies when the request is made. The request is rejected if the tags in
- // the request don't match the requirements of the policy at that time. Tag
- // policy compliance is not checked again when the invitation is accepted and
- // the tags are actually attached to the account. That means that if the tag
- // policy changes between the invitation and the acceptance, then that tags
- // could potentially be non-compliant.
- //
- // If any one of the tags is invalid or if you exceed the allowed number of
- // tags for an account, then the entire request fails and invitations are not
- // sent.
- Tags []*Tag `type:"list"`
- // The identifier (ID) of the Amazon Web Services account that you want to invite
- // to join your organization. This is a JSON object that contains the following
- // elements:
- //
- // { "Type": "ACCOUNT", "Id": "< account id number >" }
- //
- // If you use the CLI, you can submit this as a single string, similar to the
- // following example:
- //
- // --target Id=123456789012,Type=ACCOUNT
- //
- // If you specify "Type": "ACCOUNT", you must provide the Amazon Web Services
- // account ID number as the Id. If you specify "Type": "EMAIL", you must specify
- // the email address that is associated with the account.
- //
- // --target Id=diego@example.com,Type=EMAIL
- //
- // Target is a required field
- Target *HandshakeParty `type:"structure" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s InviteAccountToOrganizationInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s InviteAccountToOrganizationInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *InviteAccountToOrganizationInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "InviteAccountToOrganizationInput"}
- if s.Target == nil {
- invalidParams.Add(request.NewErrParamRequired("Target"))
- }
- 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 s.Target != nil {
- if err := s.Target.Validate(); err != nil {
- invalidParams.AddNested("Target", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetNotes sets the Notes field's value.
- func (s *InviteAccountToOrganizationInput) SetNotes(v string) *InviteAccountToOrganizationInput {
- s.Notes = &v
- return s
- }
- // SetTags sets the Tags field's value.
- func (s *InviteAccountToOrganizationInput) SetTags(v []*Tag) *InviteAccountToOrganizationInput {
- s.Tags = v
- return s
- }
- // SetTarget sets the Target field's value.
- func (s *InviteAccountToOrganizationInput) SetTarget(v *HandshakeParty) *InviteAccountToOrganizationInput {
- s.Target = v
- return s
- }
- type InviteAccountToOrganizationOutput struct {
- _ struct{} `type:"structure"`
- // A structure that contains details about the handshake that is created to
- // support this invitation request.
- Handshake *Handshake `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s InviteAccountToOrganizationOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s InviteAccountToOrganizationOutput) GoString() string {
- return s.String()
- }
- // SetHandshake sets the Handshake field's value.
- func (s *InviteAccountToOrganizationOutput) SetHandshake(v *Handshake) *InviteAccountToOrganizationOutput {
- s.Handshake = v
- return s
- }
- type LeaveOrganizationInput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s LeaveOrganizationInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s LeaveOrganizationInput) GoString() string {
- return s.String()
- }
- type LeaveOrganizationOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s LeaveOrganizationOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s LeaveOrganizationOutput) GoString() string {
- return s.String()
- }
- type ListAWSServiceAccessForOrganizationInput struct {
- _ struct{} `type:"structure"`
- // The total number of results that you want included on each page of the response.
- // If you do not include this parameter, it defaults to a value that is specific
- // to the operation. If additional items exist beyond the maximum you specify,
- // the NextToken response element is present and has a value (is not null).
- // Include that value as the NextToken request parameter in the next call to
- // the operation to get the next part of the results. Note that Organizations
- // might return fewer results than the maximum even when there are more results
- // available. You should check NextToken after every operation to ensure that
- // you receive all of the results.
- MaxResults *int64 `min:"1" type:"integer"`
- // The parameter for receiving additional results if you receive a NextToken
- // response in a previous request. A NextToken response indicates that more
- // output is available. Set this parameter to the value of the previous call's
- // NextToken response to indicate where the output should continue from.
- NextToken *string `type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListAWSServiceAccessForOrganizationInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListAWSServiceAccessForOrganizationInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListAWSServiceAccessForOrganizationInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListAWSServiceAccessForOrganizationInput"}
- if s.MaxResults != nil && *s.MaxResults < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetMaxResults sets the MaxResults field's value.
- func (s *ListAWSServiceAccessForOrganizationInput) SetMaxResults(v int64) *ListAWSServiceAccessForOrganizationInput {
- s.MaxResults = &v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListAWSServiceAccessForOrganizationInput) SetNextToken(v string) *ListAWSServiceAccessForOrganizationInput {
- s.NextToken = &v
- return s
- }
- type ListAWSServiceAccessForOrganizationOutput struct {
- _ struct{} `type:"structure"`
- // A list of the service principals for the services that are enabled to integrate
- // with your organization. Each principal is a structure that includes the name
- // and the date that it was enabled for integration with Organizations.
- EnabledServicePrincipals []*EnabledServicePrincipal `type:"list"`
- // If present, indicates that more output is available than is included in the
- // current response. Use this value in the NextToken request parameter in a
- // subsequent call to the operation to get the next part of the output. You
- // should repeat this until the NextToken response element comes back as null.
- NextToken *string `type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListAWSServiceAccessForOrganizationOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListAWSServiceAccessForOrganizationOutput) GoString() string {
- return s.String()
- }
- // SetEnabledServicePrincipals sets the EnabledServicePrincipals field's value.
- func (s *ListAWSServiceAccessForOrganizationOutput) SetEnabledServicePrincipals(v []*EnabledServicePrincipal) *ListAWSServiceAccessForOrganizationOutput {
- s.EnabledServicePrincipals = v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListAWSServiceAccessForOrganizationOutput) SetNextToken(v string) *ListAWSServiceAccessForOrganizationOutput {
- s.NextToken = &v
- return s
- }
- type ListAccountsForParentInput struct {
- _ struct{} `type:"structure"`
- // The total number of results that you want included on each page of the response.
- // If you do not include this parameter, it defaults to a value that is specific
- // to the operation. If additional items exist beyond the maximum you specify,
- // the NextToken response element is present and has a value (is not null).
- // Include that value as the NextToken request parameter in the next call to
- // the operation to get the next part of the results. Note that Organizations
- // might return fewer results than the maximum even when there are more results
- // available. You should check NextToken after every operation to ensure that
- // you receive all of the results.
- MaxResults *int64 `min:"1" type:"integer"`
- // The parameter for receiving additional results if you receive a NextToken
- // response in a previous request. A NextToken response indicates that more
- // output is available. Set this parameter to the value of the previous call's
- // NextToken response to indicate where the output should continue from.
- NextToken *string `type:"string"`
- // The unique identifier (ID) for the parent root or organization unit (OU)
- // whose accounts you want to list.
- //
- // ParentId is a required field
- ParentId *string `type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListAccountsForParentInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListAccountsForParentInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListAccountsForParentInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListAccountsForParentInput"}
- if s.MaxResults != nil && *s.MaxResults < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
- }
- if s.ParentId == nil {
- invalidParams.Add(request.NewErrParamRequired("ParentId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetMaxResults sets the MaxResults field's value.
- func (s *ListAccountsForParentInput) SetMaxResults(v int64) *ListAccountsForParentInput {
- s.MaxResults = &v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListAccountsForParentInput) SetNextToken(v string) *ListAccountsForParentInput {
- s.NextToken = &v
- return s
- }
- // SetParentId sets the ParentId field's value.
- func (s *ListAccountsForParentInput) SetParentId(v string) *ListAccountsForParentInput {
- s.ParentId = &v
- return s
- }
- type ListAccountsForParentOutput struct {
- _ struct{} `type:"structure"`
- // A list of the accounts in the specified root or OU.
- Accounts []*Account `type:"list"`
- // If present, indicates that more output is available than is included in the
- // current response. Use this value in the NextToken request parameter in a
- // subsequent call to the operation to get the next part of the output. You
- // should repeat this until the NextToken response element comes back as null.
- NextToken *string `type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListAccountsForParentOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListAccountsForParentOutput) GoString() string {
- return s.String()
- }
- // SetAccounts sets the Accounts field's value.
- func (s *ListAccountsForParentOutput) SetAccounts(v []*Account) *ListAccountsForParentOutput {
- s.Accounts = v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListAccountsForParentOutput) SetNextToken(v string) *ListAccountsForParentOutput {
- s.NextToken = &v
- return s
- }
- type ListAccountsInput struct {
- _ struct{} `type:"structure"`
- // The total number of results that you want included on each page of the response.
- // If you do not include this parameter, it defaults to a value that is specific
- // to the operation. If additional items exist beyond the maximum you specify,
- // the NextToken response element is present and has a value (is not null).
- // Include that value as the NextToken request parameter in the next call to
- // the operation to get the next part of the results. Note that Organizations
- // might return fewer results than the maximum even when there are more results
- // available. You should check NextToken after every operation to ensure that
- // you receive all of the results.
- MaxResults *int64 `min:"1" type:"integer"`
- // The parameter for receiving additional results if you receive a NextToken
- // response in a previous request. A NextToken response indicates that more
- // output is available. Set this parameter to the value of the previous call's
- // NextToken response to indicate where the output should continue from.
- NextToken *string `type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListAccountsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListAccountsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListAccountsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListAccountsInput"}
- if s.MaxResults != nil && *s.MaxResults < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetMaxResults sets the MaxResults field's value.
- func (s *ListAccountsInput) SetMaxResults(v int64) *ListAccountsInput {
- s.MaxResults = &v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListAccountsInput) SetNextToken(v string) *ListAccountsInput {
- s.NextToken = &v
- return s
- }
- type ListAccountsOutput struct {
- _ struct{} `type:"structure"`
- // A list of objects in the organization.
- Accounts []*Account `type:"list"`
- // If present, indicates that more output is available than is included in the
- // current response. Use this value in the NextToken request parameter in a
- // subsequent call to the operation to get the next part of the output. You
- // should repeat this until the NextToken response element comes back as null.
- NextToken *string `type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListAccountsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListAccountsOutput) GoString() string {
- return s.String()
- }
- // SetAccounts sets the Accounts field's value.
- func (s *ListAccountsOutput) SetAccounts(v []*Account) *ListAccountsOutput {
- s.Accounts = v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListAccountsOutput) SetNextToken(v string) *ListAccountsOutput {
- s.NextToken = &v
- return s
- }
- type ListChildrenInput struct {
- _ struct{} `type:"structure"`
- // Filters the output to include only the specified child type.
- //
- // ChildType is a required field
- ChildType *string `type:"string" required:"true" enum:"ChildType"`
- // The total number of results that you want included on each page of the response.
- // If you do not include this parameter, it defaults to a value that is specific
- // to the operation. If additional items exist beyond the maximum you specify,
- // the NextToken response element is present and has a value (is not null).
- // Include that value as the NextToken request parameter in the next call to
- // the operation to get the next part of the results. Note that Organizations
- // might return fewer results than the maximum even when there are more results
- // available. You should check NextToken after every operation to ensure that
- // you receive all of the results.
- MaxResults *int64 `min:"1" type:"integer"`
- // The parameter for receiving additional results if you receive a NextToken
- // response in a previous request. A NextToken response indicates that more
- // output is available. Set this parameter to the value of the previous call's
- // NextToken response to indicate where the output should continue from.
- NextToken *string `type:"string"`
- // The unique identifier (ID) for the parent root or OU whose children you want
- // to list.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for a parent ID string
- // requires one of the following:
- //
- // * Root - A string that begins with "r-" followed by from 4 to 32 lowercase
- // letters or digits.
- //
- // * Organizational unit (OU) - A string that begins with "ou-" followed
- // by from 4 to 32 lowercase letters or digits (the ID of the root that the
- // OU is in). This string is followed by a second "-" dash and from 8 to
- // 32 additional lowercase letters or digits.
- //
- // ParentId is a required field
- ParentId *string `type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListChildrenInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListChildrenInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListChildrenInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListChildrenInput"}
- if s.ChildType == nil {
- invalidParams.Add(request.NewErrParamRequired("ChildType"))
- }
- if s.MaxResults != nil && *s.MaxResults < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
- }
- if s.ParentId == nil {
- invalidParams.Add(request.NewErrParamRequired("ParentId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetChildType sets the ChildType field's value.
- func (s *ListChildrenInput) SetChildType(v string) *ListChildrenInput {
- s.ChildType = &v
- return s
- }
- // SetMaxResults sets the MaxResults field's value.
- func (s *ListChildrenInput) SetMaxResults(v int64) *ListChildrenInput {
- s.MaxResults = &v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListChildrenInput) SetNextToken(v string) *ListChildrenInput {
- s.NextToken = &v
- return s
- }
- // SetParentId sets the ParentId field's value.
- func (s *ListChildrenInput) SetParentId(v string) *ListChildrenInput {
- s.ParentId = &v
- return s
- }
- type ListChildrenOutput struct {
- _ struct{} `type:"structure"`
- // The list of children of the specified parent container.
- Children []*Child `type:"list"`
- // If present, indicates that more output is available than is included in the
- // current response. Use this value in the NextToken request parameter in a
- // subsequent call to the operation to get the next part of the output. You
- // should repeat this until the NextToken response element comes back as null.
- NextToken *string `type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListChildrenOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListChildrenOutput) GoString() string {
- return s.String()
- }
- // SetChildren sets the Children field's value.
- func (s *ListChildrenOutput) SetChildren(v []*Child) *ListChildrenOutput {
- s.Children = v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListChildrenOutput) SetNextToken(v string) *ListChildrenOutput {
- s.NextToken = &v
- return s
- }
- type ListCreateAccountStatusInput struct {
- _ struct{} `type:"structure"`
- // The total number of results that you want included on each page of the response.
- // If you do not include this parameter, it defaults to a value that is specific
- // to the operation. If additional items exist beyond the maximum you specify,
- // the NextToken response element is present and has a value (is not null).
- // Include that value as the NextToken request parameter in the next call to
- // the operation to get the next part of the results. Note that Organizations
- // might return fewer results than the maximum even when there are more results
- // available. You should check NextToken after every operation to ensure that
- // you receive all of the results.
- MaxResults *int64 `min:"1" type:"integer"`
- // The parameter for receiving additional results if you receive a NextToken
- // response in a previous request. A NextToken response indicates that more
- // output is available. Set this parameter to the value of the previous call's
- // NextToken response to indicate where the output should continue from.
- NextToken *string `type:"string"`
- // A list of one or more states that you want included in the response. If this
- // parameter isn't present, all requests are included in the response.
- States []*string `type:"list" enum:"CreateAccountState"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListCreateAccountStatusInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListCreateAccountStatusInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListCreateAccountStatusInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListCreateAccountStatusInput"}
- if s.MaxResults != nil && *s.MaxResults < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetMaxResults sets the MaxResults field's value.
- func (s *ListCreateAccountStatusInput) SetMaxResults(v int64) *ListCreateAccountStatusInput {
- s.MaxResults = &v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListCreateAccountStatusInput) SetNextToken(v string) *ListCreateAccountStatusInput {
- s.NextToken = &v
- return s
- }
- // SetStates sets the States field's value.
- func (s *ListCreateAccountStatusInput) SetStates(v []*string) *ListCreateAccountStatusInput {
- s.States = v
- return s
- }
- type ListCreateAccountStatusOutput struct {
- _ struct{} `type:"structure"`
- // A list of objects with details about the requests. Certain elements, such
- // as the accountId number, are present in the output only after the account
- // has been successfully created.
- CreateAccountStatuses []*CreateAccountStatus `type:"list"`
- // If present, indicates that more output is available than is included in the
- // current response. Use this value in the NextToken request parameter in a
- // subsequent call to the operation to get the next part of the output. You
- // should repeat this until the NextToken response element comes back as null.
- NextToken *string `type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListCreateAccountStatusOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListCreateAccountStatusOutput) GoString() string {
- return s.String()
- }
- // SetCreateAccountStatuses sets the CreateAccountStatuses field's value.
- func (s *ListCreateAccountStatusOutput) SetCreateAccountStatuses(v []*CreateAccountStatus) *ListCreateAccountStatusOutput {
- s.CreateAccountStatuses = v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListCreateAccountStatusOutput) SetNextToken(v string) *ListCreateAccountStatusOutput {
- s.NextToken = &v
- return s
- }
- type ListDelegatedAdministratorsInput struct {
- _ struct{} `type:"structure"`
- // The total number of results that you want included on each page of the response.
- // If you do not include this parameter, it defaults to a value that is specific
- // to the operation. If additional items exist beyond the maximum you specify,
- // the NextToken response element is present and has a value (is not null).
- // Include that value as the NextToken request parameter in the next call to
- // the operation to get the next part of the results. Note that Organizations
- // might return fewer results than the maximum even when there are more results
- // available. You should check NextToken after every operation to ensure that
- // you receive all of the results.
- MaxResults *int64 `min:"1" type:"integer"`
- // The parameter for receiving additional results if you receive a NextToken
- // response in a previous request. A NextToken response indicates that more
- // output is available. Set this parameter to the value of the previous call's
- // NextToken response to indicate where the output should continue from.
- NextToken *string `type:"string"`
- // Specifies a service principal name. If specified, then the operation lists
- // the delegated administrators only for the specified service.
- //
- // If you don't specify a service principal, the operation lists all delegated
- // administrators for all services in your organization.
- ServicePrincipal *string `min:"1" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListDelegatedAdministratorsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListDelegatedAdministratorsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListDelegatedAdministratorsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListDelegatedAdministratorsInput"}
- if s.MaxResults != nil && *s.MaxResults < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
- }
- if s.ServicePrincipal != nil && len(*s.ServicePrincipal) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ServicePrincipal", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetMaxResults sets the MaxResults field's value.
- func (s *ListDelegatedAdministratorsInput) SetMaxResults(v int64) *ListDelegatedAdministratorsInput {
- s.MaxResults = &v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListDelegatedAdministratorsInput) SetNextToken(v string) *ListDelegatedAdministratorsInput {
- s.NextToken = &v
- return s
- }
- // SetServicePrincipal sets the ServicePrincipal field's value.
- func (s *ListDelegatedAdministratorsInput) SetServicePrincipal(v string) *ListDelegatedAdministratorsInput {
- s.ServicePrincipal = &v
- return s
- }
- type ListDelegatedAdministratorsOutput struct {
- _ struct{} `type:"structure"`
- // The list of delegated administrators in your organization.
- DelegatedAdministrators []*DelegatedAdministrator `type:"list"`
- // If present, indicates that more output is available than is included in the
- // current response. Use this value in the NextToken request parameter in a
- // subsequent call to the operation to get the next part of the output. You
- // should repeat this until the NextToken response element comes back as null.
- NextToken *string `type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListDelegatedAdministratorsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListDelegatedAdministratorsOutput) GoString() string {
- return s.String()
- }
- // SetDelegatedAdministrators sets the DelegatedAdministrators field's value.
- func (s *ListDelegatedAdministratorsOutput) SetDelegatedAdministrators(v []*DelegatedAdministrator) *ListDelegatedAdministratorsOutput {
- s.DelegatedAdministrators = v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListDelegatedAdministratorsOutput) SetNextToken(v string) *ListDelegatedAdministratorsOutput {
- s.NextToken = &v
- return s
- }
- type ListDelegatedServicesForAccountInput struct {
- _ struct{} `type:"structure"`
- // The account ID number of a delegated administrator account in the organization.
- //
- // AccountId is a required field
- AccountId *string `type:"string" required:"true"`
- // The total number of results that you want included on each page of the response.
- // If you do not include this parameter, it defaults to a value that is specific
- // to the operation. If additional items exist beyond the maximum you specify,
- // the NextToken response element is present and has a value (is not null).
- // Include that value as the NextToken request parameter in the next call to
- // the operation to get the next part of the results. Note that Organizations
- // might return fewer results than the maximum even when there are more results
- // available. You should check NextToken after every operation to ensure that
- // you receive all of the results.
- MaxResults *int64 `min:"1" type:"integer"`
- // The parameter for receiving additional results if you receive a NextToken
- // response in a previous request. A NextToken response indicates that more
- // output is available. Set this parameter to the value of the previous call's
- // NextToken response to indicate where the output should continue from.
- NextToken *string `type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListDelegatedServicesForAccountInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListDelegatedServicesForAccountInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListDelegatedServicesForAccountInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListDelegatedServicesForAccountInput"}
- if s.AccountId == nil {
- invalidParams.Add(request.NewErrParamRequired("AccountId"))
- }
- if s.MaxResults != nil && *s.MaxResults < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAccountId sets the AccountId field's value.
- func (s *ListDelegatedServicesForAccountInput) SetAccountId(v string) *ListDelegatedServicesForAccountInput {
- s.AccountId = &v
- return s
- }
- // SetMaxResults sets the MaxResults field's value.
- func (s *ListDelegatedServicesForAccountInput) SetMaxResults(v int64) *ListDelegatedServicesForAccountInput {
- s.MaxResults = &v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListDelegatedServicesForAccountInput) SetNextToken(v string) *ListDelegatedServicesForAccountInput {
- s.NextToken = &v
- return s
- }
- type ListDelegatedServicesForAccountOutput struct {
- _ struct{} `type:"structure"`
- // The services for which the account is a delegated administrator.
- DelegatedServices []*DelegatedService `type:"list"`
- // If present, indicates that more output is available than is included in the
- // current response. Use this value in the NextToken request parameter in a
- // subsequent call to the operation to get the next part of the output. You
- // should repeat this until the NextToken response element comes back as null.
- NextToken *string `type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListDelegatedServicesForAccountOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListDelegatedServicesForAccountOutput) GoString() string {
- return s.String()
- }
- // SetDelegatedServices sets the DelegatedServices field's value.
- func (s *ListDelegatedServicesForAccountOutput) SetDelegatedServices(v []*DelegatedService) *ListDelegatedServicesForAccountOutput {
- s.DelegatedServices = v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListDelegatedServicesForAccountOutput) SetNextToken(v string) *ListDelegatedServicesForAccountOutput {
- s.NextToken = &v
- return s
- }
- type ListHandshakesForAccountInput struct {
- _ struct{} `type:"structure"`
- // Filters the handshakes that you want included in the response. The default
- // is all types. Use the ActionType element to limit the output to only a specified
- // type, such as INVITE, ENABLE_ALL_FEATURES, or APPROVE_ALL_FEATURES. Alternatively,
- // for the ENABLE_ALL_FEATURES handshake that generates a separate child handshake
- // for each member account, you can specify ParentHandshakeId to see only the
- // handshakes that were generated by that parent request.
- Filter *HandshakeFilter `type:"structure"`
- // The total number of results that you want included on each page of the response.
- // If you do not include this parameter, it defaults to a value that is specific
- // to the operation. If additional items exist beyond the maximum you specify,
- // the NextToken response element is present and has a value (is not null).
- // Include that value as the NextToken request parameter in the next call to
- // the operation to get the next part of the results. Note that Organizations
- // might return fewer results than the maximum even when there are more results
- // available. You should check NextToken after every operation to ensure that
- // you receive all of the results.
- MaxResults *int64 `min:"1" type:"integer"`
- // The parameter for receiving additional results if you receive a NextToken
- // response in a previous request. A NextToken response indicates that more
- // output is available. Set this parameter to the value of the previous call's
- // NextToken response to indicate where the output should continue from.
- NextToken *string `type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListHandshakesForAccountInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListHandshakesForAccountInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListHandshakesForAccountInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListHandshakesForAccountInput"}
- if s.MaxResults != nil && *s.MaxResults < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetFilter sets the Filter field's value.
- func (s *ListHandshakesForAccountInput) SetFilter(v *HandshakeFilter) *ListHandshakesForAccountInput {
- s.Filter = v
- return s
- }
- // SetMaxResults sets the MaxResults field's value.
- func (s *ListHandshakesForAccountInput) SetMaxResults(v int64) *ListHandshakesForAccountInput {
- s.MaxResults = &v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListHandshakesForAccountInput) SetNextToken(v string) *ListHandshakesForAccountInput {
- s.NextToken = &v
- return s
- }
- type ListHandshakesForAccountOutput struct {
- _ struct{} `type:"structure"`
- // A list of Handshake objects with details about each of the handshakes that
- // is associated with the specified account.
- Handshakes []*Handshake `type:"list"`
- // If present, indicates that more output is available than is included in the
- // current response. Use this value in the NextToken request parameter in a
- // subsequent call to the operation to get the next part of the output. You
- // should repeat this until the NextToken response element comes back as null.
- NextToken *string `type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListHandshakesForAccountOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListHandshakesForAccountOutput) GoString() string {
- return s.String()
- }
- // SetHandshakes sets the Handshakes field's value.
- func (s *ListHandshakesForAccountOutput) SetHandshakes(v []*Handshake) *ListHandshakesForAccountOutput {
- s.Handshakes = v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListHandshakesForAccountOutput) SetNextToken(v string) *ListHandshakesForAccountOutput {
- s.NextToken = &v
- return s
- }
- type ListHandshakesForOrganizationInput struct {
- _ struct{} `type:"structure"`
- // A filter of the handshakes that you want included in the response. The default
- // is all types. Use the ActionType element to limit the output to only a specified
- // type, such as INVITE, ENABLE-ALL-FEATURES, or APPROVE-ALL-FEATURES. Alternatively,
- // for the ENABLE-ALL-FEATURES handshake that generates a separate child handshake
- // for each member account, you can specify the ParentHandshakeId to see only
- // the handshakes that were generated by that parent request.
- Filter *HandshakeFilter `type:"structure"`
- // The total number of results that you want included on each page of the response.
- // If you do not include this parameter, it defaults to a value that is specific
- // to the operation. If additional items exist beyond the maximum you specify,
- // the NextToken response element is present and has a value (is not null).
- // Include that value as the NextToken request parameter in the next call to
- // the operation to get the next part of the results. Note that Organizations
- // might return fewer results than the maximum even when there are more results
- // available. You should check NextToken after every operation to ensure that
- // you receive all of the results.
- MaxResults *int64 `min:"1" type:"integer"`
- // The parameter for receiving additional results if you receive a NextToken
- // response in a previous request. A NextToken response indicates that more
- // output is available. Set this parameter to the value of the previous call's
- // NextToken response to indicate where the output should continue from.
- NextToken *string `type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListHandshakesForOrganizationInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListHandshakesForOrganizationInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListHandshakesForOrganizationInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListHandshakesForOrganizationInput"}
- if s.MaxResults != nil && *s.MaxResults < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetFilter sets the Filter field's value.
- func (s *ListHandshakesForOrganizationInput) SetFilter(v *HandshakeFilter) *ListHandshakesForOrganizationInput {
- s.Filter = v
- return s
- }
- // SetMaxResults sets the MaxResults field's value.
- func (s *ListHandshakesForOrganizationInput) SetMaxResults(v int64) *ListHandshakesForOrganizationInput {
- s.MaxResults = &v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListHandshakesForOrganizationInput) SetNextToken(v string) *ListHandshakesForOrganizationInput {
- s.NextToken = &v
- return s
- }
- type ListHandshakesForOrganizationOutput struct {
- _ struct{} `type:"structure"`
- // A list of Handshake objects with details about each of the handshakes that
- // are associated with an organization.
- Handshakes []*Handshake `type:"list"`
- // If present, indicates that more output is available than is included in the
- // current response. Use this value in the NextToken request parameter in a
- // subsequent call to the operation to get the next part of the output. You
- // should repeat this until the NextToken response element comes back as null.
- NextToken *string `type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListHandshakesForOrganizationOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListHandshakesForOrganizationOutput) GoString() string {
- return s.String()
- }
- // SetHandshakes sets the Handshakes field's value.
- func (s *ListHandshakesForOrganizationOutput) SetHandshakes(v []*Handshake) *ListHandshakesForOrganizationOutput {
- s.Handshakes = v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListHandshakesForOrganizationOutput) SetNextToken(v string) *ListHandshakesForOrganizationOutput {
- s.NextToken = &v
- return s
- }
- type ListOrganizationalUnitsForParentInput struct {
- _ struct{} `type:"structure"`
- // The total number of results that you want included on each page of the response.
- // If you do not include this parameter, it defaults to a value that is specific
- // to the operation. If additional items exist beyond the maximum you specify,
- // the NextToken response element is present and has a value (is not null).
- // Include that value as the NextToken request parameter in the next call to
- // the operation to get the next part of the results. Note that Organizations
- // might return fewer results than the maximum even when there are more results
- // available. You should check NextToken after every operation to ensure that
- // you receive all of the results.
- MaxResults *int64 `min:"1" type:"integer"`
- // The parameter for receiving additional results if you receive a NextToken
- // response in a previous request. A NextToken response indicates that more
- // output is available. Set this parameter to the value of the previous call's
- // NextToken response to indicate where the output should continue from.
- NextToken *string `type:"string"`
- // The unique identifier (ID) of the root or OU whose child OUs you want to
- // list.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for a parent ID string
- // requires one of the following:
- //
- // * Root - A string that begins with "r-" followed by from 4 to 32 lowercase
- // letters or digits.
- //
- // * Organizational unit (OU) - A string that begins with "ou-" followed
- // by from 4 to 32 lowercase letters or digits (the ID of the root that the
- // OU is in). This string is followed by a second "-" dash and from 8 to
- // 32 additional lowercase letters or digits.
- //
- // ParentId is a required field
- ParentId *string `type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListOrganizationalUnitsForParentInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListOrganizationalUnitsForParentInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListOrganizationalUnitsForParentInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListOrganizationalUnitsForParentInput"}
- if s.MaxResults != nil && *s.MaxResults < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
- }
- if s.ParentId == nil {
- invalidParams.Add(request.NewErrParamRequired("ParentId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetMaxResults sets the MaxResults field's value.
- func (s *ListOrganizationalUnitsForParentInput) SetMaxResults(v int64) *ListOrganizationalUnitsForParentInput {
- s.MaxResults = &v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListOrganizationalUnitsForParentInput) SetNextToken(v string) *ListOrganizationalUnitsForParentInput {
- s.NextToken = &v
- return s
- }
- // SetParentId sets the ParentId field's value.
- func (s *ListOrganizationalUnitsForParentInput) SetParentId(v string) *ListOrganizationalUnitsForParentInput {
- s.ParentId = &v
- return s
- }
- type ListOrganizationalUnitsForParentOutput struct {
- _ struct{} `type:"structure"`
- // If present, indicates that more output is available than is included in the
- // current response. Use this value in the NextToken request parameter in a
- // subsequent call to the operation to get the next part of the output. You
- // should repeat this until the NextToken response element comes back as null.
- NextToken *string `type:"string"`
- // A list of the OUs in the specified root or parent OU.
- OrganizationalUnits []*OrganizationalUnit `type:"list"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListOrganizationalUnitsForParentOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListOrganizationalUnitsForParentOutput) GoString() string {
- return s.String()
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListOrganizationalUnitsForParentOutput) SetNextToken(v string) *ListOrganizationalUnitsForParentOutput {
- s.NextToken = &v
- return s
- }
- // SetOrganizationalUnits sets the OrganizationalUnits field's value.
- func (s *ListOrganizationalUnitsForParentOutput) SetOrganizationalUnits(v []*OrganizationalUnit) *ListOrganizationalUnitsForParentOutput {
- s.OrganizationalUnits = v
- return s
- }
- type ListParentsInput struct {
- _ struct{} `type:"structure"`
- // The unique identifier (ID) of the OU or account whose parent containers you
- // want to list. Don't specify a root.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for a child ID string
- // requires one of the following:
- //
- // * Account - A string that consists of exactly 12 digits.
- //
- // * Organizational unit (OU) - A string that begins with "ou-" followed
- // by from 4 to 32 lowercase letters or digits (the ID of the root that contains
- // the OU). This string is followed by a second "-" dash and from 8 to 32
- // additional lowercase letters or digits.
- //
- // ChildId is a required field
- ChildId *string `type:"string" required:"true"`
- // The total number of results that you want included on each page of the response.
- // If you do not include this parameter, it defaults to a value that is specific
- // to the operation. If additional items exist beyond the maximum you specify,
- // the NextToken response element is present and has a value (is not null).
- // Include that value as the NextToken request parameter in the next call to
- // the operation to get the next part of the results. Note that Organizations
- // might return fewer results than the maximum even when there are more results
- // available. You should check NextToken after every operation to ensure that
- // you receive all of the results.
- MaxResults *int64 `min:"1" type:"integer"`
- // The parameter for receiving additional results if you receive a NextToken
- // response in a previous request. A NextToken response indicates that more
- // output is available. Set this parameter to the value of the previous call's
- // NextToken response to indicate where the output should continue from.
- NextToken *string `type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListParentsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListParentsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListParentsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListParentsInput"}
- if s.ChildId == nil {
- invalidParams.Add(request.NewErrParamRequired("ChildId"))
- }
- if s.MaxResults != nil && *s.MaxResults < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetChildId sets the ChildId field's value.
- func (s *ListParentsInput) SetChildId(v string) *ListParentsInput {
- s.ChildId = &v
- return s
- }
- // SetMaxResults sets the MaxResults field's value.
- func (s *ListParentsInput) SetMaxResults(v int64) *ListParentsInput {
- s.MaxResults = &v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListParentsInput) SetNextToken(v string) *ListParentsInput {
- s.NextToken = &v
- return s
- }
- type ListParentsOutput struct {
- _ struct{} `type:"structure"`
- // If present, indicates that more output is available than is included in the
- // current response. Use this value in the NextToken request parameter in a
- // subsequent call to the operation to get the next part of the output. You
- // should repeat this until the NextToken response element comes back as null.
- NextToken *string `type:"string"`
- // A list of parents for the specified child account or OU.
- Parents []*Parent `type:"list"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListParentsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListParentsOutput) GoString() string {
- return s.String()
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListParentsOutput) SetNextToken(v string) *ListParentsOutput {
- s.NextToken = &v
- return s
- }
- // SetParents sets the Parents field's value.
- func (s *ListParentsOutput) SetParents(v []*Parent) *ListParentsOutput {
- s.Parents = v
- return s
- }
- type ListPoliciesForTargetInput struct {
- _ struct{} `type:"structure"`
- // The type of policy that you want to include in the returned list. You must
- // specify one of the following values:
- //
- // * AISERVICES_OPT_OUT_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html)
- //
- // * BACKUP_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html)
- //
- // * SERVICE_CONTROL_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html)
- //
- // * TAG_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html)
- //
- // Filter is a required field
- Filter *string `type:"string" required:"true" enum:"PolicyType"`
- // The total number of results that you want included on each page of the response.
- // If you do not include this parameter, it defaults to a value that is specific
- // to the operation. If additional items exist beyond the maximum you specify,
- // the NextToken response element is present and has a value (is not null).
- // Include that value as the NextToken request parameter in the next call to
- // the operation to get the next part of the results. Note that Organizations
- // might return fewer results than the maximum even when there are more results
- // available. You should check NextToken after every operation to ensure that
- // you receive all of the results.
- MaxResults *int64 `min:"1" type:"integer"`
- // The parameter for receiving additional results if you receive a NextToken
- // response in a previous request. A NextToken response indicates that more
- // output is available. Set this parameter to the value of the previous call's
- // NextToken response to indicate where the output should continue from.
- NextToken *string `type:"string"`
- // The unique identifier (ID) of the root, organizational unit, or account whose
- // policies you want to list.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for a target ID string
- // requires one of the following:
- //
- // * Root - A string that begins with "r-" followed by from 4 to 32 lowercase
- // letters or digits.
- //
- // * Account - A string that consists of exactly 12 digits.
- //
- // * Organizational unit (OU) - A string that begins with "ou-" followed
- // by from 4 to 32 lowercase letters or digits (the ID of the root that the
- // OU is in). This string is followed by a second "-" dash and from 8 to
- // 32 additional lowercase letters or digits.
- //
- // TargetId is a required field
- TargetId *string `type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListPoliciesForTargetInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListPoliciesForTargetInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListPoliciesForTargetInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListPoliciesForTargetInput"}
- if s.Filter == nil {
- invalidParams.Add(request.NewErrParamRequired("Filter"))
- }
- if s.MaxResults != nil && *s.MaxResults < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
- }
- if s.TargetId == nil {
- invalidParams.Add(request.NewErrParamRequired("TargetId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetFilter sets the Filter field's value.
- func (s *ListPoliciesForTargetInput) SetFilter(v string) *ListPoliciesForTargetInput {
- s.Filter = &v
- return s
- }
- // SetMaxResults sets the MaxResults field's value.
- func (s *ListPoliciesForTargetInput) SetMaxResults(v int64) *ListPoliciesForTargetInput {
- s.MaxResults = &v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListPoliciesForTargetInput) SetNextToken(v string) *ListPoliciesForTargetInput {
- s.NextToken = &v
- return s
- }
- // SetTargetId sets the TargetId field's value.
- func (s *ListPoliciesForTargetInput) SetTargetId(v string) *ListPoliciesForTargetInput {
- s.TargetId = &v
- return s
- }
- type ListPoliciesForTargetOutput struct {
- _ struct{} `type:"structure"`
- // If present, indicates that more output is available than is included in the
- // current response. Use this value in the NextToken request parameter in a
- // subsequent call to the operation to get the next part of the output. You
- // should repeat this until the NextToken response element comes back as null.
- NextToken *string `type:"string"`
- // The list of policies that match the criteria in the request.
- Policies []*PolicySummary `type:"list"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListPoliciesForTargetOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListPoliciesForTargetOutput) GoString() string {
- return s.String()
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListPoliciesForTargetOutput) SetNextToken(v string) *ListPoliciesForTargetOutput {
- s.NextToken = &v
- return s
- }
- // SetPolicies sets the Policies field's value.
- func (s *ListPoliciesForTargetOutput) SetPolicies(v []*PolicySummary) *ListPoliciesForTargetOutput {
- s.Policies = v
- return s
- }
- type ListPoliciesInput struct {
- _ struct{} `type:"structure"`
- // Specifies the type of policy that you want to include in the response. You
- // must specify one of the following values:
- //
- // * AISERVICES_OPT_OUT_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html)
- //
- // * BACKUP_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html)
- //
- // * SERVICE_CONTROL_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html)
- //
- // * TAG_POLICY (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html)
- //
- // Filter is a required field
- Filter *string `type:"string" required:"true" enum:"PolicyType"`
- // The total number of results that you want included on each page of the response.
- // If you do not include this parameter, it defaults to a value that is specific
- // to the operation. If additional items exist beyond the maximum you specify,
- // the NextToken response element is present and has a value (is not null).
- // Include that value as the NextToken request parameter in the next call to
- // the operation to get the next part of the results. Note that Organizations
- // might return fewer results than the maximum even when there are more results
- // available. You should check NextToken after every operation to ensure that
- // you receive all of the results.
- MaxResults *int64 `min:"1" type:"integer"`
- // The parameter for receiving additional results if you receive a NextToken
- // response in a previous request. A NextToken response indicates that more
- // output is available. Set this parameter to the value of the previous call's
- // NextToken response to indicate where the output should continue from.
- NextToken *string `type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListPoliciesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListPoliciesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListPoliciesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListPoliciesInput"}
- if s.Filter == nil {
- invalidParams.Add(request.NewErrParamRequired("Filter"))
- }
- if s.MaxResults != nil && *s.MaxResults < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetFilter sets the Filter field's value.
- func (s *ListPoliciesInput) SetFilter(v string) *ListPoliciesInput {
- s.Filter = &v
- return s
- }
- // SetMaxResults sets the MaxResults field's value.
- func (s *ListPoliciesInput) SetMaxResults(v int64) *ListPoliciesInput {
- s.MaxResults = &v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListPoliciesInput) SetNextToken(v string) *ListPoliciesInput {
- s.NextToken = &v
- return s
- }
- type ListPoliciesOutput struct {
- _ struct{} `type:"structure"`
- // If present, indicates that more output is available than is included in the
- // current response. Use this value in the NextToken request parameter in a
- // subsequent call to the operation to get the next part of the output. You
- // should repeat this until the NextToken response element comes back as null.
- NextToken *string `type:"string"`
- // A list of policies that match the filter criteria in the request. The output
- // list doesn't include the policy contents. To see the content for a policy,
- // see DescribePolicy.
- Policies []*PolicySummary `type:"list"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListPoliciesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListPoliciesOutput) GoString() string {
- return s.String()
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListPoliciesOutput) SetNextToken(v string) *ListPoliciesOutput {
- s.NextToken = &v
- return s
- }
- // SetPolicies sets the Policies field's value.
- func (s *ListPoliciesOutput) SetPolicies(v []*PolicySummary) *ListPoliciesOutput {
- s.Policies = v
- return s
- }
- type ListRootsInput struct {
- _ struct{} `type:"structure"`
- // The total number of results that you want included on each page of the response.
- // If you do not include this parameter, it defaults to a value that is specific
- // to the operation. If additional items exist beyond the maximum you specify,
- // the NextToken response element is present and has a value (is not null).
- // Include that value as the NextToken request parameter in the next call to
- // the operation to get the next part of the results. Note that Organizations
- // might return fewer results than the maximum even when there are more results
- // available. You should check NextToken after every operation to ensure that
- // you receive all of the results.
- MaxResults *int64 `min:"1" type:"integer"`
- // The parameter for receiving additional results if you receive a NextToken
- // response in a previous request. A NextToken response indicates that more
- // output is available. Set this parameter to the value of the previous call's
- // NextToken response to indicate where the output should continue from.
- NextToken *string `type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListRootsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListRootsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListRootsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListRootsInput"}
- if s.MaxResults != nil && *s.MaxResults < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetMaxResults sets the MaxResults field's value.
- func (s *ListRootsInput) SetMaxResults(v int64) *ListRootsInput {
- s.MaxResults = &v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListRootsInput) SetNextToken(v string) *ListRootsInput {
- s.NextToken = &v
- return s
- }
- type ListRootsOutput struct {
- _ struct{} `type:"structure"`
- // If present, indicates that more output is available than is included in the
- // current response. Use this value in the NextToken request parameter in a
- // subsequent call to the operation to get the next part of the output. You
- // should repeat this until the NextToken response element comes back as null.
- NextToken *string `type:"string"`
- // A list of roots that are defined in an organization.
- Roots []*Root `type:"list"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListRootsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListRootsOutput) GoString() string {
- return s.String()
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListRootsOutput) SetNextToken(v string) *ListRootsOutput {
- s.NextToken = &v
- return s
- }
- // SetRoots sets the Roots field's value.
- func (s *ListRootsOutput) SetRoots(v []*Root) *ListRootsOutput {
- s.Roots = v
- return s
- }
- type ListTagsForResourceInput struct {
- _ struct{} `type:"structure"`
- // The parameter for receiving additional results if you receive a NextToken
- // response in a previous request. A NextToken response indicates that more
- // output is available. Set this parameter to the value of the previous call's
- // NextToken response to indicate where the output should continue from.
- NextToken *string `type:"string"`
- // The ID of the resource with the tags to list.
- //
- // You can specify any of the following taggable resources.
- //
- // * Amazon Web Services account – specify the account ID number.
- //
- // * Organizational unit – specify the OU ID that begins with ou- and looks
- // similar to: ou-1a2b-34uvwxyz
- //
- // * Root – specify the root ID that begins with r- and looks similar to:
- // r-1a2b
- //
- // * Policy – specify the policy ID that begins with p- andlooks similar
- // to: p-12abcdefg3
- //
- // ResourceId is a required field
- ResourceId *string `type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListTagsForResourceInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListTagsForResourceInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListTagsForResourceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
- if s.ResourceId == nil {
- invalidParams.Add(request.NewErrParamRequired("ResourceId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
- s.NextToken = &v
- return s
- }
- // SetResourceId sets the ResourceId field's value.
- func (s *ListTagsForResourceInput) SetResourceId(v string) *ListTagsForResourceInput {
- s.ResourceId = &v
- return s
- }
- type ListTagsForResourceOutput struct {
- _ struct{} `type:"structure"`
- // If present, indicates that more output is available than is included in the
- // current response. Use this value in the NextToken request parameter in a
- // subsequent call to the operation to get the next part of the output. You
- // should repeat this until the NextToken response element comes back as null.
- NextToken *string `type:"string"`
- // The tags that are assigned to the resource.
- Tags []*Tag `type:"list"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListTagsForResourceOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListTagsForResourceOutput) GoString() string {
- return s.String()
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
- s.NextToken = &v
- return s
- }
- // SetTags sets the Tags field's value.
- func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
- s.Tags = v
- return s
- }
- type ListTargetsForPolicyInput struct {
- _ struct{} `type:"structure"`
- // The total number of results that you want included on each page of the response.
- // If you do not include this parameter, it defaults to a value that is specific
- // to the operation. If additional items exist beyond the maximum you specify,
- // the NextToken response element is present and has a value (is not null).
- // Include that value as the NextToken request parameter in the next call to
- // the operation to get the next part of the results. Note that Organizations
- // might return fewer results than the maximum even when there are more results
- // available. You should check NextToken after every operation to ensure that
- // you receive all of the results.
- MaxResults *int64 `min:"1" type:"integer"`
- // The parameter for receiving additional results if you receive a NextToken
- // response in a previous request. A NextToken response indicates that more
- // output is available. Set this parameter to the value of the previous call's
- // NextToken response to indicate where the output should continue from.
- NextToken *string `type:"string"`
- // The unique identifier (ID) of the policy whose attachments you want to know.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for a policy ID string
- // requires "p-" followed by from 8 to 128 lowercase or uppercase letters, digits,
- // or the underscore character (_).
- //
- // PolicyId is a required field
- PolicyId *string `type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListTargetsForPolicyInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListTargetsForPolicyInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListTargetsForPolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListTargetsForPolicyInput"}
- if s.MaxResults != nil && *s.MaxResults < 1 {
- invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
- }
- if s.PolicyId == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetMaxResults sets the MaxResults field's value.
- func (s *ListTargetsForPolicyInput) SetMaxResults(v int64) *ListTargetsForPolicyInput {
- s.MaxResults = &v
- return s
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListTargetsForPolicyInput) SetNextToken(v string) *ListTargetsForPolicyInput {
- s.NextToken = &v
- return s
- }
- // SetPolicyId sets the PolicyId field's value.
- func (s *ListTargetsForPolicyInput) SetPolicyId(v string) *ListTargetsForPolicyInput {
- s.PolicyId = &v
- return s
- }
- type ListTargetsForPolicyOutput struct {
- _ struct{} `type:"structure"`
- // If present, indicates that more output is available than is included in the
- // current response. Use this value in the NextToken request parameter in a
- // subsequent call to the operation to get the next part of the output. You
- // should repeat this until the NextToken response element comes back as null.
- NextToken *string `type:"string"`
- // A list of structures, each of which contains details about one of the entities
- // to which the specified policy is attached.
- Targets []*PolicyTargetSummary `type:"list"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListTargetsForPolicyOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ListTargetsForPolicyOutput) GoString() string {
- return s.String()
- }
- // SetNextToken sets the NextToken field's value.
- func (s *ListTargetsForPolicyOutput) SetNextToken(v string) *ListTargetsForPolicyOutput {
- s.NextToken = &v
- return s
- }
- // SetTargets sets the Targets field's value.
- func (s *ListTargetsForPolicyOutput) SetTargets(v []*PolicyTargetSummary) *ListTargetsForPolicyOutput {
- s.Targets = v
- return s
- }
- // The provided policy document doesn't meet the requirements of the specified
- // policy type. For example, the syntax might be incorrect. For details about
- // service control policy syntax, see Service Control Policy Syntax (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_scp-syntax.html)
- // in the Organizations User Guide.
- type MalformedPolicyDocumentException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s MalformedPolicyDocumentException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s MalformedPolicyDocumentException) GoString() string {
- return s.String()
- }
- func newErrorMalformedPolicyDocumentException(v protocol.ResponseMetadata) error {
- return &MalformedPolicyDocumentException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *MalformedPolicyDocumentException) Code() string {
- return "MalformedPolicyDocumentException"
- }
- // Message returns the exception's message.
- func (s *MalformedPolicyDocumentException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *MalformedPolicyDocumentException) OrigErr() error {
- return nil
- }
- func (s *MalformedPolicyDocumentException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *MalformedPolicyDocumentException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *MalformedPolicyDocumentException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // You can't remove a management account from an organization. If you want the
- // management account to become a member account in another organization, you
- // must first delete the current organization of the management account.
- type MasterCannotLeaveOrganizationException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s MasterCannotLeaveOrganizationException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s MasterCannotLeaveOrganizationException) GoString() string {
- return s.String()
- }
- func newErrorMasterCannotLeaveOrganizationException(v protocol.ResponseMetadata) error {
- return &MasterCannotLeaveOrganizationException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *MasterCannotLeaveOrganizationException) Code() string {
- return "MasterCannotLeaveOrganizationException"
- }
- // Message returns the exception's message.
- func (s *MasterCannotLeaveOrganizationException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *MasterCannotLeaveOrganizationException) OrigErr() error {
- return nil
- }
- func (s *MasterCannotLeaveOrganizationException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *MasterCannotLeaveOrganizationException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *MasterCannotLeaveOrganizationException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- type MoveAccountInput struct {
- _ struct{} `type:"structure"`
- // The unique identifier (ID) of the account that you want to move.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for an account ID string
- // requires exactly 12 digits.
- //
- // AccountId is a required field
- AccountId *string `type:"string" required:"true"`
- // The unique identifier (ID) of the root or organizational unit that you want
- // to move the account to.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for a parent ID string
- // requires one of the following:
- //
- // * Root - A string that begins with "r-" followed by from 4 to 32 lowercase
- // letters or digits.
- //
- // * Organizational unit (OU) - A string that begins with "ou-" followed
- // by from 4 to 32 lowercase letters or digits (the ID of the root that the
- // OU is in). This string is followed by a second "-" dash and from 8 to
- // 32 additional lowercase letters or digits.
- //
- // DestinationParentId is a required field
- DestinationParentId *string `type:"string" required:"true"`
- // The unique identifier (ID) of the root or organizational unit that you want
- // to move the account from.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for a parent ID string
- // requires one of the following:
- //
- // * Root - A string that begins with "r-" followed by from 4 to 32 lowercase
- // letters or digits.
- //
- // * Organizational unit (OU) - A string that begins with "ou-" followed
- // by from 4 to 32 lowercase letters or digits (the ID of the root that the
- // OU is in). This string is followed by a second "-" dash and from 8 to
- // 32 additional lowercase letters or digits.
- //
- // SourceParentId is a required field
- SourceParentId *string `type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s MoveAccountInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s MoveAccountInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *MoveAccountInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "MoveAccountInput"}
- if s.AccountId == nil {
- invalidParams.Add(request.NewErrParamRequired("AccountId"))
- }
- if s.DestinationParentId == nil {
- invalidParams.Add(request.NewErrParamRequired("DestinationParentId"))
- }
- if s.SourceParentId == nil {
- invalidParams.Add(request.NewErrParamRequired("SourceParentId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAccountId sets the AccountId field's value.
- func (s *MoveAccountInput) SetAccountId(v string) *MoveAccountInput {
- s.AccountId = &v
- return s
- }
- // SetDestinationParentId sets the DestinationParentId field's value.
- func (s *MoveAccountInput) SetDestinationParentId(v string) *MoveAccountInput {
- s.DestinationParentId = &v
- return s
- }
- // SetSourceParentId sets the SourceParentId field's value.
- func (s *MoveAccountInput) SetSourceParentId(v string) *MoveAccountInput {
- s.SourceParentId = &v
- return s
- }
- type MoveAccountOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s MoveAccountOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s MoveAccountOutput) GoString() string {
- return s.String()
- }
- // Contains details about an organization. An organization is a collection of
- // accounts that are centrally managed together using consolidated billing,
- // organized hierarchically with organizational units (OUs), and controlled
- // with policies .
- type Organization struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of an organization.
- //
- // For more information about ARNs in Organizations, see ARN Formats Supported
- // by Organizations (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsorganizations.html#awsorganizations-resources-for-iam-policies)
- // in the Amazon Web Services Service Authorization Reference.
- Arn *string `type:"string"`
- //
- // Do not use. This field is deprecated and doesn't provide complete information
- // about the policies in your organization.
- //
- // To determine the policies that are enabled and available for use in your
- // organization, use the ListRoots operation instead.
- AvailablePolicyTypes []*PolicyTypeSummary `type:"list"`
- // Specifies the functionality that currently is available to the organization.
- // If set to "ALL", then all features are enabled and policies can be applied
- // to accounts in the organization. If set to "CONSOLIDATED_BILLING", then only
- // consolidated billing functionality is available. For more information, see
- // Enabling All Features in Your Organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html)
- // in the Organizations User Guide.
- FeatureSet *string `type:"string" enum:"OrganizationFeatureSet"`
- // The unique identifier (ID) of an organization.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for an organization ID
- // string requires "o-" followed by from 10 to 32 lowercase letters or digits.
- Id *string `type:"string"`
- // The Amazon Resource Name (ARN) of the account that is designated as the management
- // account for the organization.
- //
- // For more information about ARNs in Organizations, see ARN Formats Supported
- // by Organizations (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsorganizations.html#awsorganizations-resources-for-iam-policies)
- // in the Amazon Web Services Service Authorization Reference.
- MasterAccountArn *string `type:"string"`
- // The email address that is associated with the Amazon Web Services account
- // that is designated as the management account for the organization.
- //
- // MasterAccountEmail is a sensitive parameter and its value will be
- // replaced with "sensitive" in string returned by Organization's
- // String and GoString methods.
- MasterAccountEmail *string `min:"6" type:"string" sensitive:"true"`
- // The unique identifier (ID) of the management account of an organization.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for an account ID string
- // requires exactly 12 digits.
- MasterAccountId *string `type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s Organization) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s Organization) GoString() string {
- return s.String()
- }
- // SetArn sets the Arn field's value.
- func (s *Organization) SetArn(v string) *Organization {
- s.Arn = &v
- return s
- }
- // SetAvailablePolicyTypes sets the AvailablePolicyTypes field's value.
- func (s *Organization) SetAvailablePolicyTypes(v []*PolicyTypeSummary) *Organization {
- s.AvailablePolicyTypes = v
- return s
- }
- // SetFeatureSet sets the FeatureSet field's value.
- func (s *Organization) SetFeatureSet(v string) *Organization {
- s.FeatureSet = &v
- return s
- }
- // SetId sets the Id field's value.
- func (s *Organization) SetId(v string) *Organization {
- s.Id = &v
- return s
- }
- // SetMasterAccountArn sets the MasterAccountArn field's value.
- func (s *Organization) SetMasterAccountArn(v string) *Organization {
- s.MasterAccountArn = &v
- return s
- }
- // SetMasterAccountEmail sets the MasterAccountEmail field's value.
- func (s *Organization) SetMasterAccountEmail(v string) *Organization {
- s.MasterAccountEmail = &v
- return s
- }
- // SetMasterAccountId sets the MasterAccountId field's value.
- func (s *Organization) SetMasterAccountId(v string) *Organization {
- s.MasterAccountId = &v
- return s
- }
- // The organization isn't empty. To delete an organization, you must first remove
- // all accounts except the management account, delete all OUs, and delete all
- // policies.
- type OrganizationNotEmptyException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s OrganizationNotEmptyException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s OrganizationNotEmptyException) GoString() string {
- return s.String()
- }
- func newErrorOrganizationNotEmptyException(v protocol.ResponseMetadata) error {
- return &OrganizationNotEmptyException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *OrganizationNotEmptyException) Code() string {
- return "OrganizationNotEmptyException"
- }
- // Message returns the exception's message.
- func (s *OrganizationNotEmptyException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *OrganizationNotEmptyException) OrigErr() error {
- return nil
- }
- func (s *OrganizationNotEmptyException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *OrganizationNotEmptyException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *OrganizationNotEmptyException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // Contains details about an organizational unit (OU). An OU is a container
- // of Amazon Web Services accounts within a root of an organization. Policies
- // that are attached to an OU apply to all accounts contained in that OU and
- // in any child OUs.
- type OrganizationalUnit struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of this OU.
- //
- // For more information about ARNs in Organizations, see ARN Formats Supported
- // by Organizations (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsorganizations.html#awsorganizations-resources-for-iam-policies)
- // in the Amazon Web Services Service Authorization Reference.
- Arn *string `type:"string"`
- // The unique identifier (ID) associated with this OU.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for an organizational
- // unit ID string requires "ou-" followed by from 4 to 32 lowercase letters
- // or digits (the ID of the root that contains the OU). This string is followed
- // by a second "-" dash and from 8 to 32 additional lowercase letters or digits.
- Id *string `type:"string"`
- // The friendly name of this OU.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) that is used to validate
- // this parameter is a string of any of the characters in the ASCII character
- // range.
- Name *string `min:"1" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s OrganizationalUnit) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s OrganizationalUnit) GoString() string {
- return s.String()
- }
- // SetArn sets the Arn field's value.
- func (s *OrganizationalUnit) SetArn(v string) *OrganizationalUnit {
- s.Arn = &v
- return s
- }
- // SetId sets the Id field's value.
- func (s *OrganizationalUnit) SetId(v string) *OrganizationalUnit {
- s.Id = &v
- return s
- }
- // SetName sets the Name field's value.
- func (s *OrganizationalUnit) SetName(v string) *OrganizationalUnit {
- s.Name = &v
- return s
- }
- // The specified OU is not empty. Move all accounts to another root or to other
- // OUs, remove all child OUs, and try the operation again.
- type OrganizationalUnitNotEmptyException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s OrganizationalUnitNotEmptyException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s OrganizationalUnitNotEmptyException) GoString() string {
- return s.String()
- }
- func newErrorOrganizationalUnitNotEmptyException(v protocol.ResponseMetadata) error {
- return &OrganizationalUnitNotEmptyException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *OrganizationalUnitNotEmptyException) Code() string {
- return "OrganizationalUnitNotEmptyException"
- }
- // Message returns the exception's message.
- func (s *OrganizationalUnitNotEmptyException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *OrganizationalUnitNotEmptyException) OrigErr() error {
- return nil
- }
- func (s *OrganizationalUnitNotEmptyException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *OrganizationalUnitNotEmptyException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *OrganizationalUnitNotEmptyException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // We can't find an OU with the OrganizationalUnitId that you specified.
- type OrganizationalUnitNotFoundException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s OrganizationalUnitNotFoundException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s OrganizationalUnitNotFoundException) GoString() string {
- return s.String()
- }
- func newErrorOrganizationalUnitNotFoundException(v protocol.ResponseMetadata) error {
- return &OrganizationalUnitNotFoundException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *OrganizationalUnitNotFoundException) Code() string {
- return "OrganizationalUnitNotFoundException"
- }
- // Message returns the exception's message.
- func (s *OrganizationalUnitNotFoundException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *OrganizationalUnitNotFoundException) OrigErr() error {
- return nil
- }
- func (s *OrganizationalUnitNotFoundException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *OrganizationalUnitNotFoundException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *OrganizationalUnitNotFoundException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // Contains information about either a root or an organizational unit (OU) that
- // can contain OUs or accounts in an organization.
- type Parent struct {
- _ struct{} `type:"structure"`
- // The unique identifier (ID) of the parent entity.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for a parent ID string
- // requires one of the following:
- //
- // * Root - A string that begins with "r-" followed by from 4 to 32 lowercase
- // letters or digits.
- //
- // * Organizational unit (OU) - A string that begins with "ou-" followed
- // by from 4 to 32 lowercase letters or digits (the ID of the root that the
- // OU is in). This string is followed by a second "-" dash and from 8 to
- // 32 additional lowercase letters or digits.
- Id *string `type:"string"`
- // The type of the parent entity.
- Type *string `type:"string" enum:"ParentType"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s Parent) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s Parent) GoString() string {
- return s.String()
- }
- // SetId sets the Id field's value.
- func (s *Parent) SetId(v string) *Parent {
- s.Id = &v
- return s
- }
- // SetType sets the Type field's value.
- func (s *Parent) SetType(v string) *Parent {
- s.Type = &v
- return s
- }
- // We can't find a root or OU with the ParentId that you specified.
- type ParentNotFoundException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ParentNotFoundException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ParentNotFoundException) GoString() string {
- return s.String()
- }
- func newErrorParentNotFoundException(v protocol.ResponseMetadata) error {
- return &ParentNotFoundException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *ParentNotFoundException) Code() string {
- return "ParentNotFoundException"
- }
- // Message returns the exception's message.
- func (s *ParentNotFoundException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *ParentNotFoundException) OrigErr() error {
- return nil
- }
- func (s *ParentNotFoundException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *ParentNotFoundException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *ParentNotFoundException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // Contains rules to be applied to the affected accounts. Policies can be attached
- // directly to accounts, or to roots and OUs to affect all accounts in those
- // hierarchies.
- type Policy struct {
- _ struct{} `type:"structure"`
- // The text content of the policy.
- Content *string `min:"1" type:"string"`
- // A structure that contains additional details about the policy.
- PolicySummary *PolicySummary `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s Policy) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s Policy) GoString() string {
- return s.String()
- }
- // SetContent sets the Content field's value.
- func (s *Policy) SetContent(v string) *Policy {
- s.Content = &v
- return s
- }
- // SetPolicySummary sets the PolicySummary field's value.
- func (s *Policy) SetPolicySummary(v *PolicySummary) *Policy {
- s.PolicySummary = v
- return s
- }
- // Changes to the effective policy are in progress, and its contents can't be
- // returned. Try the operation again later.
- type PolicyChangesInProgressException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s PolicyChangesInProgressException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s PolicyChangesInProgressException) GoString() string {
- return s.String()
- }
- func newErrorPolicyChangesInProgressException(v protocol.ResponseMetadata) error {
- return &PolicyChangesInProgressException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *PolicyChangesInProgressException) Code() string {
- return "PolicyChangesInProgressException"
- }
- // Message returns the exception's message.
- func (s *PolicyChangesInProgressException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *PolicyChangesInProgressException) OrigErr() error {
- return nil
- }
- func (s *PolicyChangesInProgressException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *PolicyChangesInProgressException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *PolicyChangesInProgressException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // The policy is attached to one or more entities. You must detach it from all
- // roots, OUs, and accounts before performing this operation.
- type PolicyInUseException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s PolicyInUseException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s PolicyInUseException) GoString() string {
- return s.String()
- }
- func newErrorPolicyInUseException(v protocol.ResponseMetadata) error {
- return &PolicyInUseException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *PolicyInUseException) Code() string {
- return "PolicyInUseException"
- }
- // Message returns the exception's message.
- func (s *PolicyInUseException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *PolicyInUseException) OrigErr() error {
- return nil
- }
- func (s *PolicyInUseException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *PolicyInUseException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *PolicyInUseException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // The policy isn't attached to the specified target in the specified root.
- type PolicyNotAttachedException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s PolicyNotAttachedException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s PolicyNotAttachedException) GoString() string {
- return s.String()
- }
- func newErrorPolicyNotAttachedException(v protocol.ResponseMetadata) error {
- return &PolicyNotAttachedException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *PolicyNotAttachedException) Code() string {
- return "PolicyNotAttachedException"
- }
- // Message returns the exception's message.
- func (s *PolicyNotAttachedException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *PolicyNotAttachedException) OrigErr() error {
- return nil
- }
- func (s *PolicyNotAttachedException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *PolicyNotAttachedException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *PolicyNotAttachedException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // We can't find a policy with the PolicyId that you specified.
- type PolicyNotFoundException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s PolicyNotFoundException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s PolicyNotFoundException) GoString() string {
- return s.String()
- }
- func newErrorPolicyNotFoundException(v protocol.ResponseMetadata) error {
- return &PolicyNotFoundException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *PolicyNotFoundException) Code() string {
- return "PolicyNotFoundException"
- }
- // Message returns the exception's message.
- func (s *PolicyNotFoundException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *PolicyNotFoundException) OrigErr() error {
- return nil
- }
- func (s *PolicyNotFoundException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *PolicyNotFoundException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *PolicyNotFoundException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // Contains information about a policy, but does not include the content. To
- // see the content of a policy, see DescribePolicy.
- type PolicySummary struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the policy.
- //
- // For more information about ARNs in Organizations, see ARN Formats Supported
- // by Organizations (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsorganizations.html#awsorganizations-resources-for-iam-policies)
- // in the Amazon Web Services Service Authorization Reference.
- Arn *string `type:"string"`
- // A boolean value that indicates whether the specified policy is an Amazon
- // Web Services managed policy. If true, then you can attach the policy to roots,
- // OUs, or accounts, but you cannot edit it.
- AwsManaged *bool `type:"boolean"`
- // The description of the policy.
- Description *string `type:"string"`
- // The unique identifier (ID) of the policy.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for a policy ID string
- // requires "p-" followed by from 8 to 128 lowercase or uppercase letters, digits,
- // or the underscore character (_).
- Id *string `type:"string"`
- // The friendly name of the policy.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) that is used to validate
- // this parameter is a string of any of the characters in the ASCII character
- // range.
- Name *string `min:"1" type:"string"`
- // The type of policy.
- Type *string `type:"string" enum:"PolicyType"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s PolicySummary) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s PolicySummary) GoString() string {
- return s.String()
- }
- // SetArn sets the Arn field's value.
- func (s *PolicySummary) SetArn(v string) *PolicySummary {
- s.Arn = &v
- return s
- }
- // SetAwsManaged sets the AwsManaged field's value.
- func (s *PolicySummary) SetAwsManaged(v bool) *PolicySummary {
- s.AwsManaged = &v
- return s
- }
- // SetDescription sets the Description field's value.
- func (s *PolicySummary) SetDescription(v string) *PolicySummary {
- s.Description = &v
- return s
- }
- // SetId sets the Id field's value.
- func (s *PolicySummary) SetId(v string) *PolicySummary {
- s.Id = &v
- return s
- }
- // SetName sets the Name field's value.
- func (s *PolicySummary) SetName(v string) *PolicySummary {
- s.Name = &v
- return s
- }
- // SetType sets the Type field's value.
- func (s *PolicySummary) SetType(v string) *PolicySummary {
- s.Type = &v
- return s
- }
- // Contains information about a root, OU, or account that a policy is attached
- // to.
- type PolicyTargetSummary struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the policy target.
- //
- // For more information about ARNs in Organizations, see ARN Formats Supported
- // by Organizations (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsorganizations.html#awsorganizations-resources-for-iam-policies)
- // in the Amazon Web Services Service Authorization Reference.
- Arn *string `type:"string"`
- // The friendly name of the policy target.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) that is used to validate
- // this parameter is a string of any of the characters in the ASCII character
- // range.
- Name *string `min:"1" type:"string"`
- // The unique identifier (ID) of the policy target.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for a target ID string
- // requires one of the following:
- //
- // * Root - A string that begins with "r-" followed by from 4 to 32 lowercase
- // letters or digits.
- //
- // * Account - A string that consists of exactly 12 digits.
- //
- // * Organizational unit (OU) - A string that begins with "ou-" followed
- // by from 4 to 32 lowercase letters or digits (the ID of the root that the
- // OU is in). This string is followed by a second "-" dash and from 8 to
- // 32 additional lowercase letters or digits.
- TargetId *string `type:"string"`
- // The type of the policy target.
- Type *string `type:"string" enum:"TargetType"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s PolicyTargetSummary) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s PolicyTargetSummary) GoString() string {
- return s.String()
- }
- // SetArn sets the Arn field's value.
- func (s *PolicyTargetSummary) SetArn(v string) *PolicyTargetSummary {
- s.Arn = &v
- return s
- }
- // SetName sets the Name field's value.
- func (s *PolicyTargetSummary) SetName(v string) *PolicyTargetSummary {
- s.Name = &v
- return s
- }
- // SetTargetId sets the TargetId field's value.
- func (s *PolicyTargetSummary) SetTargetId(v string) *PolicyTargetSummary {
- s.TargetId = &v
- return s
- }
- // SetType sets the Type field's value.
- func (s *PolicyTargetSummary) SetType(v string) *PolicyTargetSummary {
- s.Type = &v
- return s
- }
- // The specified policy type is already enabled in the specified root.
- type PolicyTypeAlreadyEnabledException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s PolicyTypeAlreadyEnabledException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s PolicyTypeAlreadyEnabledException) GoString() string {
- return s.String()
- }
- func newErrorPolicyTypeAlreadyEnabledException(v protocol.ResponseMetadata) error {
- return &PolicyTypeAlreadyEnabledException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *PolicyTypeAlreadyEnabledException) Code() string {
- return "PolicyTypeAlreadyEnabledException"
- }
- // Message returns the exception's message.
- func (s *PolicyTypeAlreadyEnabledException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *PolicyTypeAlreadyEnabledException) OrigErr() error {
- return nil
- }
- func (s *PolicyTypeAlreadyEnabledException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *PolicyTypeAlreadyEnabledException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *PolicyTypeAlreadyEnabledException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // You can't use the specified policy type with the feature set currently enabled
- // for this organization. For example, you can enable SCPs only after you enable
- // all features in the organization. For more information, see Managing Organizations
- // Policies (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html#enable_policies_on_root)in
- // the Organizations User Guide.
- type PolicyTypeNotAvailableForOrganizationException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s PolicyTypeNotAvailableForOrganizationException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s PolicyTypeNotAvailableForOrganizationException) GoString() string {
- return s.String()
- }
- func newErrorPolicyTypeNotAvailableForOrganizationException(v protocol.ResponseMetadata) error {
- return &PolicyTypeNotAvailableForOrganizationException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *PolicyTypeNotAvailableForOrganizationException) Code() string {
- return "PolicyTypeNotAvailableForOrganizationException"
- }
- // Message returns the exception's message.
- func (s *PolicyTypeNotAvailableForOrganizationException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *PolicyTypeNotAvailableForOrganizationException) OrigErr() error {
- return nil
- }
- func (s *PolicyTypeNotAvailableForOrganizationException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *PolicyTypeNotAvailableForOrganizationException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *PolicyTypeNotAvailableForOrganizationException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // The specified policy type isn't currently enabled in this root. You can't
- // attach policies of the specified type to entities in a root until you enable
- // that type in the root. For more information, see Enabling All Features in
- // Your Organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html)
- // in the Organizations User Guide.
- type PolicyTypeNotEnabledException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s PolicyTypeNotEnabledException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s PolicyTypeNotEnabledException) GoString() string {
- return s.String()
- }
- func newErrorPolicyTypeNotEnabledException(v protocol.ResponseMetadata) error {
- return &PolicyTypeNotEnabledException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *PolicyTypeNotEnabledException) Code() string {
- return "PolicyTypeNotEnabledException"
- }
- // Message returns the exception's message.
- func (s *PolicyTypeNotEnabledException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *PolicyTypeNotEnabledException) OrigErr() error {
- return nil
- }
- func (s *PolicyTypeNotEnabledException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *PolicyTypeNotEnabledException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *PolicyTypeNotEnabledException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // Contains information about a policy type and its status in the associated
- // root.
- type PolicyTypeSummary struct {
- _ struct{} `type:"structure"`
- // The status of the policy type as it relates to the associated root. To attach
- // a policy of the specified type to a root or to an OU or account in that root,
- // it must be available in the organization and enabled for that root.
- Status *string `type:"string" enum:"PolicyTypeStatus"`
- // The name of the policy type.
- Type *string `type:"string" enum:"PolicyType"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s PolicyTypeSummary) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s PolicyTypeSummary) GoString() string {
- return s.String()
- }
- // SetStatus sets the Status field's value.
- func (s *PolicyTypeSummary) SetStatus(v string) *PolicyTypeSummary {
- s.Status = &v
- return s
- }
- // SetType sets the Type field's value.
- func (s *PolicyTypeSummary) SetType(v string) *PolicyTypeSummary {
- s.Type = &v
- return s
- }
- type PutResourcePolicyInput struct {
- _ struct{} `type:"structure"`
- // If provided, the new content for the resource policy. The text must be correctly
- // formatted JSON that complies with the syntax for the resource policy's type.
- // For more information, see Service Control Policy Syntax (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_scp-syntax.html)
- // in the Organizations User Guide.
- //
- // Content is a required field
- Content *string `min:"1" type:"string" required:"true"`
- // Updates the list of tags that you want to attach to the newly-created resource
- // policy. For each tag in the list, you must specify both a tag key and a value.
- // You can set the value to an empty string, but you can't set it to null. For
- // more information about tagging, see Tagging Organizations resources (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html)
- // in the Organizations User Guide.
- //
- // Calls with tags apply to the initial creation of the resource policy, otherwise
- // an exception is thrown. If any one of the tags is invalid or if you exceed
- // the allowed number of tags for the resource policy, then the entire request
- // fails and the resource policy is not created.
- Tags []*Tag `type:"list"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s PutResourcePolicyInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s PutResourcePolicyInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *PutResourcePolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "PutResourcePolicyInput"}
- if s.Content == nil {
- invalidParams.Add(request.NewErrParamRequired("Content"))
- }
- if s.Content != nil && len(*s.Content) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Content", 1))
- }
- 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
- }
- // SetContent sets the Content field's value.
- func (s *PutResourcePolicyInput) SetContent(v string) *PutResourcePolicyInput {
- s.Content = &v
- return s
- }
- // SetTags sets the Tags field's value.
- func (s *PutResourcePolicyInput) SetTags(v []*Tag) *PutResourcePolicyInput {
- s.Tags = v
- return s
- }
- type PutResourcePolicyOutput struct {
- _ struct{} `type:"structure"`
- // A structure that contains details about the resource policy.
- ResourcePolicy *ResourcePolicy `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s PutResourcePolicyOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s PutResourcePolicyOutput) GoString() string {
- return s.String()
- }
- // SetResourcePolicy sets the ResourcePolicy field's value.
- func (s *PutResourcePolicyOutput) SetResourcePolicy(v *ResourcePolicy) *PutResourcePolicyOutput {
- s.ResourcePolicy = v
- return s
- }
- type RegisterDelegatedAdministratorInput struct {
- _ struct{} `type:"structure"`
- // The account ID number of the member account in the organization to register
- // as a delegated administrator.
- //
- // AccountId is a required field
- AccountId *string `type:"string" required:"true"`
- // The service principal of the Amazon Web Services service for which you want
- // to make the member account a delegated administrator.
- //
- // ServicePrincipal is a required field
- ServicePrincipal *string `min:"1" type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s RegisterDelegatedAdministratorInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s RegisterDelegatedAdministratorInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *RegisterDelegatedAdministratorInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "RegisterDelegatedAdministratorInput"}
- if s.AccountId == nil {
- invalidParams.Add(request.NewErrParamRequired("AccountId"))
- }
- if s.ServicePrincipal == nil {
- invalidParams.Add(request.NewErrParamRequired("ServicePrincipal"))
- }
- if s.ServicePrincipal != nil && len(*s.ServicePrincipal) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ServicePrincipal", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAccountId sets the AccountId field's value.
- func (s *RegisterDelegatedAdministratorInput) SetAccountId(v string) *RegisterDelegatedAdministratorInput {
- s.AccountId = &v
- return s
- }
- // SetServicePrincipal sets the ServicePrincipal field's value.
- func (s *RegisterDelegatedAdministratorInput) SetServicePrincipal(v string) *RegisterDelegatedAdministratorInput {
- s.ServicePrincipal = &v
- return s
- }
- type RegisterDelegatedAdministratorOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s RegisterDelegatedAdministratorOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s RegisterDelegatedAdministratorOutput) GoString() string {
- return s.String()
- }
- type RemoveAccountFromOrganizationInput struct {
- _ struct{} `type:"structure"`
- // The unique identifier (ID) of the member account that you want to remove
- // from the organization.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for an account ID string
- // requires exactly 12 digits.
- //
- // AccountId is a required field
- AccountId *string `type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s RemoveAccountFromOrganizationInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s RemoveAccountFromOrganizationInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *RemoveAccountFromOrganizationInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "RemoveAccountFromOrganizationInput"}
- if s.AccountId == nil {
- invalidParams.Add(request.NewErrParamRequired("AccountId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetAccountId sets the AccountId field's value.
- func (s *RemoveAccountFromOrganizationInput) SetAccountId(v string) *RemoveAccountFromOrganizationInput {
- s.AccountId = &v
- return s
- }
- type RemoveAccountFromOrganizationOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s RemoveAccountFromOrganizationOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s RemoveAccountFromOrganizationOutput) GoString() string {
- return s.String()
- }
- // A structure that contains details about a resource policy.
- type ResourcePolicy struct {
- _ struct{} `type:"structure"`
- // The policy text of the resource policy.
- Content *string `min:"1" type:"string"`
- // A structure that contains resource policy ID and Amazon Resource Name (ARN).
- ResourcePolicySummary *ResourcePolicySummary `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ResourcePolicy) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ResourcePolicy) GoString() string {
- return s.String()
- }
- // SetContent sets the Content field's value.
- func (s *ResourcePolicy) SetContent(v string) *ResourcePolicy {
- s.Content = &v
- return s
- }
- // SetResourcePolicySummary sets the ResourcePolicySummary field's value.
- func (s *ResourcePolicy) SetResourcePolicySummary(v *ResourcePolicySummary) *ResourcePolicy {
- s.ResourcePolicySummary = v
- return s
- }
- // We can't find a resource policy request with the parameter that you specified.
- type ResourcePolicyNotFoundException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ResourcePolicyNotFoundException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ResourcePolicyNotFoundException) GoString() string {
- return s.String()
- }
- func newErrorResourcePolicyNotFoundException(v protocol.ResponseMetadata) error {
- return &ResourcePolicyNotFoundException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *ResourcePolicyNotFoundException) Code() string {
- return "ResourcePolicyNotFoundException"
- }
- // Message returns the exception's message.
- func (s *ResourcePolicyNotFoundException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *ResourcePolicyNotFoundException) OrigErr() error {
- return nil
- }
- func (s *ResourcePolicyNotFoundException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *ResourcePolicyNotFoundException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *ResourcePolicyNotFoundException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // A structure that contains resource policy ID and Amazon Resource Name (ARN).
- type ResourcePolicySummary struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the resource policy.
- Arn *string `type:"string"`
- // The unique identifier (ID) of the resource policy.
- Id *string `type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ResourcePolicySummary) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ResourcePolicySummary) GoString() string {
- return s.String()
- }
- // SetArn sets the Arn field's value.
- func (s *ResourcePolicySummary) SetArn(v string) *ResourcePolicySummary {
- s.Arn = &v
- return s
- }
- // SetId sets the Id field's value.
- func (s *ResourcePolicySummary) SetId(v string) *ResourcePolicySummary {
- s.Id = &v
- return s
- }
- // Contains details about a root. A root is a top-level parent node in the hierarchy
- // of an organization that can contain organizational units (OUs) and accounts.
- // The root contains every Amazon Web Services account in the organization.
- type Root struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the root.
- //
- // For more information about ARNs in Organizations, see ARN Formats Supported
- // by Organizations (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsorganizations.html#awsorganizations-resources-for-iam-policies)
- // in the Amazon Web Services Service Authorization Reference.
- Arn *string `type:"string"`
- // The unique identifier (ID) for the root.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for a root ID string
- // requires "r-" followed by from 4 to 32 lowercase letters or digits.
- Id *string `type:"string"`
- // The friendly name of the root.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) that is used to validate
- // this parameter is a string of any of the characters in the ASCII character
- // range.
- Name *string `min:"1" type:"string"`
- // The types of policies that are currently enabled for the root and therefore
- // can be attached to the root or to its OUs or accounts.
- //
- // Even if a policy type is shown as available in the organization, you can
- // separately enable and disable them at the root level by using EnablePolicyType
- // and DisablePolicyType. Use DescribeOrganization to see the availability of
- // the policy types in that organization.
- PolicyTypes []*PolicyTypeSummary `type:"list"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s Root) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s Root) GoString() string {
- return s.String()
- }
- // SetArn sets the Arn field's value.
- func (s *Root) SetArn(v string) *Root {
- s.Arn = &v
- return s
- }
- // SetId sets the Id field's value.
- func (s *Root) SetId(v string) *Root {
- s.Id = &v
- return s
- }
- // SetName sets the Name field's value.
- func (s *Root) SetName(v string) *Root {
- s.Name = &v
- return s
- }
- // SetPolicyTypes sets the PolicyTypes field's value.
- func (s *Root) SetPolicyTypes(v []*PolicyTypeSummary) *Root {
- s.PolicyTypes = v
- return s
- }
- // We can't find a root with the RootId that you specified.
- type RootNotFoundException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s RootNotFoundException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s RootNotFoundException) GoString() string {
- return s.String()
- }
- func newErrorRootNotFoundException(v protocol.ResponseMetadata) error {
- return &RootNotFoundException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *RootNotFoundException) Code() string {
- return "RootNotFoundException"
- }
- // Message returns the exception's message.
- func (s *RootNotFoundException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *RootNotFoundException) OrigErr() error {
- return nil
- }
- func (s *RootNotFoundException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *RootNotFoundException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *RootNotFoundException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // Organizations can't complete your request because of an internal service
- // error. Try again later.
- type ServiceException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ServiceException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s ServiceException) GoString() string {
- return s.String()
- }
- func newErrorServiceException(v protocol.ResponseMetadata) error {
- return &ServiceException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *ServiceException) Code() string {
- return "ServiceException"
- }
- // Message returns the exception's message.
- func (s *ServiceException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *ServiceException) OrigErr() error {
- return nil
- }
- func (s *ServiceException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *ServiceException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *ServiceException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // We can't find a source root or OU with the ParentId that you specified.
- type SourceParentNotFoundException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s SourceParentNotFoundException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s SourceParentNotFoundException) GoString() string {
- return s.String()
- }
- func newErrorSourceParentNotFoundException(v protocol.ResponseMetadata) error {
- return &SourceParentNotFoundException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *SourceParentNotFoundException) Code() string {
- return "SourceParentNotFoundException"
- }
- // Message returns the exception's message.
- func (s *SourceParentNotFoundException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *SourceParentNotFoundException) OrigErr() error {
- return nil
- }
- func (s *SourceParentNotFoundException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *SourceParentNotFoundException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *SourceParentNotFoundException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // A custom key-value pair associated with a resource within your organization.
- //
- // You can attach tags to any of the following organization resources.
- //
- // - Amazon Web Services account
- //
- // - Organizational unit (OU)
- //
- // - Organization root
- //
- // - Policy
- type Tag struct {
- _ struct{} `type:"structure"`
- // The key identifier, or name, of the tag.
- //
- // Key is a required field
- Key *string `min:"1" type:"string" required:"true"`
- // The string value that's associated with the key of the tag. You can set the
- // value of a tag to an empty string, but you can't set the value of a tag to
- // null.
- //
- // Value is a required field
- Value *string `type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s Tag) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- 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"`
- // The ID of the resource to add a tag to.
- //
- // You can specify any of the following taggable resources.
- //
- // * Amazon Web Services account – specify the account ID number.
- //
- // * Organizational unit – specify the OU ID that begins with ou- and looks
- // similar to: ou-1a2b-34uvwxyz
- //
- // * Root – specify the root ID that begins with r- and looks similar to:
- // r-1a2b
- //
- // * Policy – specify the policy ID that begins with p- andlooks similar
- // to: p-12abcdefg3
- //
- // ResourceId is a required field
- ResourceId *string `type:"string" required:"true"`
- // A list of tags to add to the specified resource.
- //
- // For each tag in the list, you must specify both a tag key and a value. The
- // value can be an empty string, but you can't set it to null.
- //
- // If any one of the tags is invalid or if you exceed the maximum allowed number
- // of tags for a resource, then the entire request fails.
- //
- // Tags is a required field
- Tags []*Tag `type:"list" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s TagResourceInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- 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.ResourceId == nil {
- invalidParams.Add(request.NewErrParamRequired("ResourceId"))
- }
- 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
- }
- // SetResourceId sets the ResourceId field's value.
- func (s *TagResourceInput) SetResourceId(v string) *TagResourceInput {
- s.ResourceId = &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.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s TagResourceOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s TagResourceOutput) GoString() string {
- return s.String()
- }
- // We can't find a root, OU, account, or policy with the TargetId that you specified.
- type TargetNotFoundException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s TargetNotFoundException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s TargetNotFoundException) GoString() string {
- return s.String()
- }
- func newErrorTargetNotFoundException(v protocol.ResponseMetadata) error {
- return &TargetNotFoundException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *TargetNotFoundException) Code() string {
- return "TargetNotFoundException"
- }
- // Message returns the exception's message.
- func (s *TargetNotFoundException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *TargetNotFoundException) OrigErr() error {
- return nil
- }
- func (s *TargetNotFoundException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *TargetNotFoundException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *TargetNotFoundException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // You have sent too many requests in too short a period of time. The quota
- // helps protect against denial-of-service attacks. Try again later.
- //
- // For information about quotas that affect Organizations, see Quotas for Organizations
- // (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html)in
- // the Organizations User Guide.
- type TooManyRequestsException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- Type *string `type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s TooManyRequestsException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s TooManyRequestsException) GoString() string {
- return s.String()
- }
- func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
- return &TooManyRequestsException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *TooManyRequestsException) Code() string {
- return "TooManyRequestsException"
- }
- // Message returns the exception's message.
- func (s *TooManyRequestsException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *TooManyRequestsException) OrigErr() error {
- return nil
- }
- func (s *TooManyRequestsException) Error() string {
- return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *TooManyRequestsException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *TooManyRequestsException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- // This action isn't available in the current Amazon Web Services Region.
- type UnsupportedAPIEndpointException struct {
- _ struct{} `type:"structure"`
- RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
- Message_ *string `locationName:"Message" type:"string"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s UnsupportedAPIEndpointException) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s UnsupportedAPIEndpointException) GoString() string {
- return s.String()
- }
- func newErrorUnsupportedAPIEndpointException(v protocol.ResponseMetadata) error {
- return &UnsupportedAPIEndpointException{
- RespMetadata: v,
- }
- }
- // Code returns the exception type name.
- func (s *UnsupportedAPIEndpointException) Code() string {
- return "UnsupportedAPIEndpointException"
- }
- // Message returns the exception's message.
- func (s *UnsupportedAPIEndpointException) Message() string {
- if s.Message_ != nil {
- return *s.Message_
- }
- return ""
- }
- // OrigErr always returns nil, satisfies awserr.Error interface.
- func (s *UnsupportedAPIEndpointException) OrigErr() error {
- return nil
- }
- func (s *UnsupportedAPIEndpointException) Error() string {
- return fmt.Sprintf("%s: %s", s.Code(), s.Message())
- }
- // Status code returns the HTTP status code for the request's response error.
- func (s *UnsupportedAPIEndpointException) StatusCode() int {
- return s.RespMetadata.StatusCode
- }
- // RequestID returns the service's response RequestID for request.
- func (s *UnsupportedAPIEndpointException) RequestID() string {
- return s.RespMetadata.RequestID
- }
- type UntagResourceInput struct {
- _ struct{} `type:"structure"`
- // The ID of the resource to remove a tag from.
- //
- // You can specify any of the following taggable resources.
- //
- // * Amazon Web Services account – specify the account ID number.
- //
- // * Organizational unit – specify the OU ID that begins with ou- and looks
- // similar to: ou-1a2b-34uvwxyz
- //
- // * Root – specify the root ID that begins with r- and looks similar to:
- // r-1a2b
- //
- // * Policy – specify the policy ID that begins with p- andlooks similar
- // to: p-12abcdefg3
- //
- // ResourceId is a required field
- ResourceId *string `type:"string" required:"true"`
- // The list of keys for tags to remove from the specified resource.
- //
- // TagKeys is a required field
- TagKeys []*string `type:"list" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s UntagResourceInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- 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.ResourceId == nil {
- invalidParams.Add(request.NewErrParamRequired("ResourceId"))
- }
- if s.TagKeys == nil {
- invalidParams.Add(request.NewErrParamRequired("TagKeys"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetResourceId sets the ResourceId field's value.
- func (s *UntagResourceInput) SetResourceId(v string) *UntagResourceInput {
- s.ResourceId = &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.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s UntagResourceOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s UntagResourceOutput) GoString() string {
- return s.String()
- }
- type UpdateOrganizationalUnitInput struct {
- _ struct{} `type:"structure"`
- // The new name that you want to assign to the OU.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) that is used to validate
- // this parameter is a string of any of the characters in the ASCII character
- // range.
- Name *string `min:"1" type:"string"`
- // The unique identifier (ID) of the OU that you want to rename. You can get
- // the ID from the ListOrganizationalUnitsForParent operation.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for an organizational
- // unit ID string requires "ou-" followed by from 4 to 32 lowercase letters
- // or digits (the ID of the root that contains the OU). This string is followed
- // by a second "-" dash and from 8 to 32 additional lowercase letters or digits.
- //
- // OrganizationalUnitId is a required field
- OrganizationalUnitId *string `type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s UpdateOrganizationalUnitInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s UpdateOrganizationalUnitInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *UpdateOrganizationalUnitInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdateOrganizationalUnitInput"}
- if s.Name != nil && len(*s.Name) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Name", 1))
- }
- if s.OrganizationalUnitId == nil {
- invalidParams.Add(request.NewErrParamRequired("OrganizationalUnitId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetName sets the Name field's value.
- func (s *UpdateOrganizationalUnitInput) SetName(v string) *UpdateOrganizationalUnitInput {
- s.Name = &v
- return s
- }
- // SetOrganizationalUnitId sets the OrganizationalUnitId field's value.
- func (s *UpdateOrganizationalUnitInput) SetOrganizationalUnitId(v string) *UpdateOrganizationalUnitInput {
- s.OrganizationalUnitId = &v
- return s
- }
- type UpdateOrganizationalUnitOutput struct {
- _ struct{} `type:"structure"`
- // A structure that contains the details about the specified OU, including its
- // new name.
- OrganizationalUnit *OrganizationalUnit `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s UpdateOrganizationalUnitOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s UpdateOrganizationalUnitOutput) GoString() string {
- return s.String()
- }
- // SetOrganizationalUnit sets the OrganizationalUnit field's value.
- func (s *UpdateOrganizationalUnitOutput) SetOrganizationalUnit(v *OrganizationalUnit) *UpdateOrganizationalUnitOutput {
- s.OrganizationalUnit = v
- return s
- }
- type UpdatePolicyInput struct {
- _ struct{} `type:"structure"`
- // If provided, the new content for the policy. The text must be correctly formatted
- // JSON that complies with the syntax for the policy's type. For more information,
- // see Service Control Policy Syntax (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_scp-syntax.html)
- // in the Organizations User Guide.
- Content *string `min:"1" type:"string"`
- // If provided, the new description for the policy.
- Description *string `type:"string"`
- // If provided, the new name for the policy.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) that is used to validate
- // this parameter is a string of any of the characters in the ASCII character
- // range.
- Name *string `min:"1" type:"string"`
- // The unique identifier (ID) of the policy that you want to update.
- //
- // The regex pattern (http://wikipedia.org/wiki/regex) for a policy ID string
- // requires "p-" followed by from 8 to 128 lowercase or uppercase letters, digits,
- // or the underscore character (_).
- //
- // PolicyId is a required field
- PolicyId *string `type:"string" required:"true"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s UpdatePolicyInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s UpdatePolicyInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *UpdatePolicyInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UpdatePolicyInput"}
- if s.Content != nil && len(*s.Content) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Content", 1))
- }
- if s.Name != nil && len(*s.Name) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Name", 1))
- }
- if s.PolicyId == nil {
- invalidParams.Add(request.NewErrParamRequired("PolicyId"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // SetContent sets the Content field's value.
- func (s *UpdatePolicyInput) SetContent(v string) *UpdatePolicyInput {
- s.Content = &v
- return s
- }
- // SetDescription sets the Description field's value.
- func (s *UpdatePolicyInput) SetDescription(v string) *UpdatePolicyInput {
- s.Description = &v
- return s
- }
- // SetName sets the Name field's value.
- func (s *UpdatePolicyInput) SetName(v string) *UpdatePolicyInput {
- s.Name = &v
- return s
- }
- // SetPolicyId sets the PolicyId field's value.
- func (s *UpdatePolicyInput) SetPolicyId(v string) *UpdatePolicyInput {
- s.PolicyId = &v
- return s
- }
- type UpdatePolicyOutput struct {
- _ struct{} `type:"structure"`
- // A structure that contains details about the updated policy, showing the requested
- // changes.
- Policy *Policy `type:"structure"`
- }
- // String returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s UpdatePolicyOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation.
- //
- // API parameter values that are decorated as "sensitive" in the API will not
- // be included in the string output. The member name will be present, but the
- // value will be replaced with "sensitive".
- func (s UpdatePolicyOutput) GoString() string {
- return s.String()
- }
- // SetPolicy sets the Policy field's value.
- func (s *UpdatePolicyOutput) SetPolicy(v *Policy) *UpdatePolicyOutput {
- s.Policy = v
- return s
- }
- const (
- // AccessDeniedForDependencyExceptionReasonAccessDeniedDuringCreateServiceLinkedRole is a AccessDeniedForDependencyExceptionReason enum value
- AccessDeniedForDependencyExceptionReasonAccessDeniedDuringCreateServiceLinkedRole = "ACCESS_DENIED_DURING_CREATE_SERVICE_LINKED_ROLE"
- )
- // AccessDeniedForDependencyExceptionReason_Values returns all elements of the AccessDeniedForDependencyExceptionReason enum
- func AccessDeniedForDependencyExceptionReason_Values() []string {
- return []string{
- AccessDeniedForDependencyExceptionReasonAccessDeniedDuringCreateServiceLinkedRole,
- }
- }
- const (
- // AccountJoinedMethodInvited is a AccountJoinedMethod enum value
- AccountJoinedMethodInvited = "INVITED"
- // AccountJoinedMethodCreated is a AccountJoinedMethod enum value
- AccountJoinedMethodCreated = "CREATED"
- )
- // AccountJoinedMethod_Values returns all elements of the AccountJoinedMethod enum
- func AccountJoinedMethod_Values() []string {
- return []string{
- AccountJoinedMethodInvited,
- AccountJoinedMethodCreated,
- }
- }
- const (
- // AccountStatusActive is a AccountStatus enum value
- AccountStatusActive = "ACTIVE"
- // AccountStatusSuspended is a AccountStatus enum value
- AccountStatusSuspended = "SUSPENDED"
- // AccountStatusPendingClosure is a AccountStatus enum value
- AccountStatusPendingClosure = "PENDING_CLOSURE"
- )
- // AccountStatus_Values returns all elements of the AccountStatus enum
- func AccountStatus_Values() []string {
- return []string{
- AccountStatusActive,
- AccountStatusSuspended,
- AccountStatusPendingClosure,
- }
- }
- const (
- // ActionTypeInvite is a ActionType enum value
- ActionTypeInvite = "INVITE"
- // ActionTypeEnableAllFeatures is a ActionType enum value
- ActionTypeEnableAllFeatures = "ENABLE_ALL_FEATURES"
- // ActionTypeApproveAllFeatures is a ActionType enum value
- ActionTypeApproveAllFeatures = "APPROVE_ALL_FEATURES"
- // ActionTypeAddOrganizationsServiceLinkedRole is a ActionType enum value
- ActionTypeAddOrganizationsServiceLinkedRole = "ADD_ORGANIZATIONS_SERVICE_LINKED_ROLE"
- )
- // ActionType_Values returns all elements of the ActionType enum
- func ActionType_Values() []string {
- return []string{
- ActionTypeInvite,
- ActionTypeEnableAllFeatures,
- ActionTypeApproveAllFeatures,
- ActionTypeAddOrganizationsServiceLinkedRole,
- }
- }
- const (
- // ChildTypeAccount is a ChildType enum value
- ChildTypeAccount = "ACCOUNT"
- // ChildTypeOrganizationalUnit is a ChildType enum value
- ChildTypeOrganizationalUnit = "ORGANIZATIONAL_UNIT"
- )
- // ChildType_Values returns all elements of the ChildType enum
- func ChildType_Values() []string {
- return []string{
- ChildTypeAccount,
- ChildTypeOrganizationalUnit,
- }
- }
- const (
- // ConstraintViolationExceptionReasonAccountNumberLimitExceeded is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonAccountNumberLimitExceeded = "ACCOUNT_NUMBER_LIMIT_EXCEEDED"
- // ConstraintViolationExceptionReasonHandshakeRateLimitExceeded is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonHandshakeRateLimitExceeded = "HANDSHAKE_RATE_LIMIT_EXCEEDED"
- // ConstraintViolationExceptionReasonOuNumberLimitExceeded is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonOuNumberLimitExceeded = "OU_NUMBER_LIMIT_EXCEEDED"
- // ConstraintViolationExceptionReasonOuDepthLimitExceeded is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonOuDepthLimitExceeded = "OU_DEPTH_LIMIT_EXCEEDED"
- // ConstraintViolationExceptionReasonPolicyNumberLimitExceeded is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonPolicyNumberLimitExceeded = "POLICY_NUMBER_LIMIT_EXCEEDED"
- // ConstraintViolationExceptionReasonPolicyContentLimitExceeded is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonPolicyContentLimitExceeded = "POLICY_CONTENT_LIMIT_EXCEEDED"
- // ConstraintViolationExceptionReasonMaxPolicyTypeAttachmentLimitExceeded is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonMaxPolicyTypeAttachmentLimitExceeded = "MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED"
- // ConstraintViolationExceptionReasonMinPolicyTypeAttachmentLimitExceeded is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonMinPolicyTypeAttachmentLimitExceeded = "MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED"
- // ConstraintViolationExceptionReasonAccountCannotLeaveOrganization is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonAccountCannotLeaveOrganization = "ACCOUNT_CANNOT_LEAVE_ORGANIZATION"
- // ConstraintViolationExceptionReasonAccountCannotLeaveWithoutEula is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonAccountCannotLeaveWithoutEula = "ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA"
- // ConstraintViolationExceptionReasonAccountCannotLeaveWithoutPhoneVerification is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonAccountCannotLeaveWithoutPhoneVerification = "ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION"
- // ConstraintViolationExceptionReasonMasterAccountPaymentInstrumentRequired is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonMasterAccountPaymentInstrumentRequired = "MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED"
- // ConstraintViolationExceptionReasonMemberAccountPaymentInstrumentRequired is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonMemberAccountPaymentInstrumentRequired = "MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED"
- // ConstraintViolationExceptionReasonAccountCreationRateLimitExceeded is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonAccountCreationRateLimitExceeded = "ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED"
- // ConstraintViolationExceptionReasonMasterAccountAddressDoesNotMatchMarketplace is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonMasterAccountAddressDoesNotMatchMarketplace = "MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE"
- // ConstraintViolationExceptionReasonMasterAccountMissingContactInfo is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonMasterAccountMissingContactInfo = "MASTER_ACCOUNT_MISSING_CONTACT_INFO"
- // ConstraintViolationExceptionReasonMasterAccountNotGovcloudEnabled is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonMasterAccountNotGovcloudEnabled = "MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED"
- // ConstraintViolationExceptionReasonOrganizationNotInAllFeaturesMode is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonOrganizationNotInAllFeaturesMode = "ORGANIZATION_NOT_IN_ALL_FEATURES_MODE"
- // ConstraintViolationExceptionReasonCreateOrganizationInBillingModeUnsupportedRegion is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonCreateOrganizationInBillingModeUnsupportedRegion = "CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION"
- // ConstraintViolationExceptionReasonEmailVerificationCodeExpired is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonEmailVerificationCodeExpired = "EMAIL_VERIFICATION_CODE_EXPIRED"
- // ConstraintViolationExceptionReasonWaitPeriodActive is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonWaitPeriodActive = "WAIT_PERIOD_ACTIVE"
- // ConstraintViolationExceptionReasonMaxTagLimitExceeded is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonMaxTagLimitExceeded = "MAX_TAG_LIMIT_EXCEEDED"
- // ConstraintViolationExceptionReasonTagPolicyViolation is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonTagPolicyViolation = "TAG_POLICY_VIOLATION"
- // ConstraintViolationExceptionReasonMaxDelegatedAdministratorsForServiceLimitExceeded is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonMaxDelegatedAdministratorsForServiceLimitExceeded = "MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED"
- // ConstraintViolationExceptionReasonCannotRegisterMasterAsDelegatedAdministrator is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonCannotRegisterMasterAsDelegatedAdministrator = "CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR"
- // ConstraintViolationExceptionReasonCannotRemoveDelegatedAdministratorFromOrg is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonCannotRemoveDelegatedAdministratorFromOrg = "CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG"
- // ConstraintViolationExceptionReasonDelegatedAdministratorExistsForThisService is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonDelegatedAdministratorExistsForThisService = "DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE"
- // ConstraintViolationExceptionReasonMasterAccountMissingBusinessLicense is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonMasterAccountMissingBusinessLicense = "MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE"
- // ConstraintViolationExceptionReasonCannotCloseManagementAccount is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonCannotCloseManagementAccount = "CANNOT_CLOSE_MANAGEMENT_ACCOUNT"
- // ConstraintViolationExceptionReasonCloseAccountQuotaExceeded is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonCloseAccountQuotaExceeded = "CLOSE_ACCOUNT_QUOTA_EXCEEDED"
- // ConstraintViolationExceptionReasonCloseAccountRequestsLimitExceeded is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonCloseAccountRequestsLimitExceeded = "CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED"
- // ConstraintViolationExceptionReasonServiceAccessNotEnabled is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonServiceAccessNotEnabled = "SERVICE_ACCESS_NOT_ENABLED"
- // ConstraintViolationExceptionReasonInvalidPaymentInstrument is a ConstraintViolationExceptionReason enum value
- ConstraintViolationExceptionReasonInvalidPaymentInstrument = "INVALID_PAYMENT_INSTRUMENT"
- )
- // ConstraintViolationExceptionReason_Values returns all elements of the ConstraintViolationExceptionReason enum
- func ConstraintViolationExceptionReason_Values() []string {
- return []string{
- ConstraintViolationExceptionReasonAccountNumberLimitExceeded,
- ConstraintViolationExceptionReasonHandshakeRateLimitExceeded,
- ConstraintViolationExceptionReasonOuNumberLimitExceeded,
- ConstraintViolationExceptionReasonOuDepthLimitExceeded,
- ConstraintViolationExceptionReasonPolicyNumberLimitExceeded,
- ConstraintViolationExceptionReasonPolicyContentLimitExceeded,
- ConstraintViolationExceptionReasonMaxPolicyTypeAttachmentLimitExceeded,
- ConstraintViolationExceptionReasonMinPolicyTypeAttachmentLimitExceeded,
- ConstraintViolationExceptionReasonAccountCannotLeaveOrganization,
- ConstraintViolationExceptionReasonAccountCannotLeaveWithoutEula,
- ConstraintViolationExceptionReasonAccountCannotLeaveWithoutPhoneVerification,
- ConstraintViolationExceptionReasonMasterAccountPaymentInstrumentRequired,
- ConstraintViolationExceptionReasonMemberAccountPaymentInstrumentRequired,
- ConstraintViolationExceptionReasonAccountCreationRateLimitExceeded,
- ConstraintViolationExceptionReasonMasterAccountAddressDoesNotMatchMarketplace,
- ConstraintViolationExceptionReasonMasterAccountMissingContactInfo,
- ConstraintViolationExceptionReasonMasterAccountNotGovcloudEnabled,
- ConstraintViolationExceptionReasonOrganizationNotInAllFeaturesMode,
- ConstraintViolationExceptionReasonCreateOrganizationInBillingModeUnsupportedRegion,
- ConstraintViolationExceptionReasonEmailVerificationCodeExpired,
- ConstraintViolationExceptionReasonWaitPeriodActive,
- ConstraintViolationExceptionReasonMaxTagLimitExceeded,
- ConstraintViolationExceptionReasonTagPolicyViolation,
- ConstraintViolationExceptionReasonMaxDelegatedAdministratorsForServiceLimitExceeded,
- ConstraintViolationExceptionReasonCannotRegisterMasterAsDelegatedAdministrator,
- ConstraintViolationExceptionReasonCannotRemoveDelegatedAdministratorFromOrg,
- ConstraintViolationExceptionReasonDelegatedAdministratorExistsForThisService,
- ConstraintViolationExceptionReasonMasterAccountMissingBusinessLicense,
- ConstraintViolationExceptionReasonCannotCloseManagementAccount,
- ConstraintViolationExceptionReasonCloseAccountQuotaExceeded,
- ConstraintViolationExceptionReasonCloseAccountRequestsLimitExceeded,
- ConstraintViolationExceptionReasonServiceAccessNotEnabled,
- ConstraintViolationExceptionReasonInvalidPaymentInstrument,
- }
- }
- const (
- // CreateAccountFailureReasonAccountLimitExceeded is a CreateAccountFailureReason enum value
- CreateAccountFailureReasonAccountLimitExceeded = "ACCOUNT_LIMIT_EXCEEDED"
- // CreateAccountFailureReasonEmailAlreadyExists is a CreateAccountFailureReason enum value
- CreateAccountFailureReasonEmailAlreadyExists = "EMAIL_ALREADY_EXISTS"
- // CreateAccountFailureReasonInvalidAddress is a CreateAccountFailureReason enum value
- CreateAccountFailureReasonInvalidAddress = "INVALID_ADDRESS"
- // CreateAccountFailureReasonInvalidEmail is a CreateAccountFailureReason enum value
- CreateAccountFailureReasonInvalidEmail = "INVALID_EMAIL"
- // CreateAccountFailureReasonConcurrentAccountModification is a CreateAccountFailureReason enum value
- CreateAccountFailureReasonConcurrentAccountModification = "CONCURRENT_ACCOUNT_MODIFICATION"
- // CreateAccountFailureReasonInternalFailure is a CreateAccountFailureReason enum value
- CreateAccountFailureReasonInternalFailure = "INTERNAL_FAILURE"
- // CreateAccountFailureReasonGovcloudAccountAlreadyExists is a CreateAccountFailureReason enum value
- CreateAccountFailureReasonGovcloudAccountAlreadyExists = "GOVCLOUD_ACCOUNT_ALREADY_EXISTS"
- // CreateAccountFailureReasonMissingBusinessValidation is a CreateAccountFailureReason enum value
- CreateAccountFailureReasonMissingBusinessValidation = "MISSING_BUSINESS_VALIDATION"
- // CreateAccountFailureReasonFailedBusinessValidation is a CreateAccountFailureReason enum value
- CreateAccountFailureReasonFailedBusinessValidation = "FAILED_BUSINESS_VALIDATION"
- // CreateAccountFailureReasonPendingBusinessValidation is a CreateAccountFailureReason enum value
- CreateAccountFailureReasonPendingBusinessValidation = "PENDING_BUSINESS_VALIDATION"
- // CreateAccountFailureReasonInvalidIdentityForBusinessValidation is a CreateAccountFailureReason enum value
- CreateAccountFailureReasonInvalidIdentityForBusinessValidation = "INVALID_IDENTITY_FOR_BUSINESS_VALIDATION"
- // CreateAccountFailureReasonUnknownBusinessValidation is a CreateAccountFailureReason enum value
- CreateAccountFailureReasonUnknownBusinessValidation = "UNKNOWN_BUSINESS_VALIDATION"
- // CreateAccountFailureReasonMissingPaymentInstrument is a CreateAccountFailureReason enum value
- CreateAccountFailureReasonMissingPaymentInstrument = "MISSING_PAYMENT_INSTRUMENT"
- // CreateAccountFailureReasonInvalidPaymentInstrument is a CreateAccountFailureReason enum value
- CreateAccountFailureReasonInvalidPaymentInstrument = "INVALID_PAYMENT_INSTRUMENT"
- // CreateAccountFailureReasonUpdateExistingResourcePolicyWithTagsNotSupported is a CreateAccountFailureReason enum value
- CreateAccountFailureReasonUpdateExistingResourcePolicyWithTagsNotSupported = "UPDATE_EXISTING_RESOURCE_POLICY_WITH_TAGS_NOT_SUPPORTED"
- )
- // CreateAccountFailureReason_Values returns all elements of the CreateAccountFailureReason enum
- func CreateAccountFailureReason_Values() []string {
- return []string{
- CreateAccountFailureReasonAccountLimitExceeded,
- CreateAccountFailureReasonEmailAlreadyExists,
- CreateAccountFailureReasonInvalidAddress,
- CreateAccountFailureReasonInvalidEmail,
- CreateAccountFailureReasonConcurrentAccountModification,
- CreateAccountFailureReasonInternalFailure,
- CreateAccountFailureReasonGovcloudAccountAlreadyExists,
- CreateAccountFailureReasonMissingBusinessValidation,
- CreateAccountFailureReasonFailedBusinessValidation,
- CreateAccountFailureReasonPendingBusinessValidation,
- CreateAccountFailureReasonInvalidIdentityForBusinessValidation,
- CreateAccountFailureReasonUnknownBusinessValidation,
- CreateAccountFailureReasonMissingPaymentInstrument,
- CreateAccountFailureReasonInvalidPaymentInstrument,
- CreateAccountFailureReasonUpdateExistingResourcePolicyWithTagsNotSupported,
- }
- }
- const (
- // CreateAccountStateInProgress is a CreateAccountState enum value
- CreateAccountStateInProgress = "IN_PROGRESS"
- // CreateAccountStateSucceeded is a CreateAccountState enum value
- CreateAccountStateSucceeded = "SUCCEEDED"
- // CreateAccountStateFailed is a CreateAccountState enum value
- CreateAccountStateFailed = "FAILED"
- )
- // CreateAccountState_Values returns all elements of the CreateAccountState enum
- func CreateAccountState_Values() []string {
- return []string{
- CreateAccountStateInProgress,
- CreateAccountStateSucceeded,
- CreateAccountStateFailed,
- }
- }
- const (
- // EffectivePolicyTypeTagPolicy is a EffectivePolicyType enum value
- EffectivePolicyTypeTagPolicy = "TAG_POLICY"
- // EffectivePolicyTypeBackupPolicy is a EffectivePolicyType enum value
- EffectivePolicyTypeBackupPolicy = "BACKUP_POLICY"
- // EffectivePolicyTypeAiservicesOptOutPolicy is a EffectivePolicyType enum value
- EffectivePolicyTypeAiservicesOptOutPolicy = "AISERVICES_OPT_OUT_POLICY"
- )
- // EffectivePolicyType_Values returns all elements of the EffectivePolicyType enum
- func EffectivePolicyType_Values() []string {
- return []string{
- EffectivePolicyTypeTagPolicy,
- EffectivePolicyTypeBackupPolicy,
- EffectivePolicyTypeAiservicesOptOutPolicy,
- }
- }
- const (
- // HandshakeConstraintViolationExceptionReasonAccountNumberLimitExceeded is a HandshakeConstraintViolationExceptionReason enum value
- HandshakeConstraintViolationExceptionReasonAccountNumberLimitExceeded = "ACCOUNT_NUMBER_LIMIT_EXCEEDED"
- // HandshakeConstraintViolationExceptionReasonHandshakeRateLimitExceeded is a HandshakeConstraintViolationExceptionReason enum value
- HandshakeConstraintViolationExceptionReasonHandshakeRateLimitExceeded = "HANDSHAKE_RATE_LIMIT_EXCEEDED"
- // HandshakeConstraintViolationExceptionReasonAlreadyInAnOrganization is a HandshakeConstraintViolationExceptionReason enum value
- HandshakeConstraintViolationExceptionReasonAlreadyInAnOrganization = "ALREADY_IN_AN_ORGANIZATION"
- // HandshakeConstraintViolationExceptionReasonOrganizationAlreadyHasAllFeatures is a HandshakeConstraintViolationExceptionReason enum value
- HandshakeConstraintViolationExceptionReasonOrganizationAlreadyHasAllFeatures = "ORGANIZATION_ALREADY_HAS_ALL_FEATURES"
- // HandshakeConstraintViolationExceptionReasonOrganizationIsAlreadyPendingAllFeaturesMigration is a HandshakeConstraintViolationExceptionReason enum value
- HandshakeConstraintViolationExceptionReasonOrganizationIsAlreadyPendingAllFeaturesMigration = "ORGANIZATION_IS_ALREADY_PENDING_ALL_FEATURES_MIGRATION"
- // HandshakeConstraintViolationExceptionReasonInviteDisabledDuringEnableAllFeatures is a HandshakeConstraintViolationExceptionReason enum value
- HandshakeConstraintViolationExceptionReasonInviteDisabledDuringEnableAllFeatures = "INVITE_DISABLED_DURING_ENABLE_ALL_FEATURES"
- // HandshakeConstraintViolationExceptionReasonPaymentInstrumentRequired is a HandshakeConstraintViolationExceptionReason enum value
- HandshakeConstraintViolationExceptionReasonPaymentInstrumentRequired = "PAYMENT_INSTRUMENT_REQUIRED"
- // HandshakeConstraintViolationExceptionReasonOrganizationFromDifferentSellerOfRecord is a HandshakeConstraintViolationExceptionReason enum value
- HandshakeConstraintViolationExceptionReasonOrganizationFromDifferentSellerOfRecord = "ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD"
- // HandshakeConstraintViolationExceptionReasonOrganizationMembershipChangeRateLimitExceeded is a HandshakeConstraintViolationExceptionReason enum value
- HandshakeConstraintViolationExceptionReasonOrganizationMembershipChangeRateLimitExceeded = "ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED"
- // HandshakeConstraintViolationExceptionReasonManagementAccountEmailNotVerified is a HandshakeConstraintViolationExceptionReason enum value
- HandshakeConstraintViolationExceptionReasonManagementAccountEmailNotVerified = "MANAGEMENT_ACCOUNT_EMAIL_NOT_VERIFIED"
- )
- // HandshakeConstraintViolationExceptionReason_Values returns all elements of the HandshakeConstraintViolationExceptionReason enum
- func HandshakeConstraintViolationExceptionReason_Values() []string {
- return []string{
- HandshakeConstraintViolationExceptionReasonAccountNumberLimitExceeded,
- HandshakeConstraintViolationExceptionReasonHandshakeRateLimitExceeded,
- HandshakeConstraintViolationExceptionReasonAlreadyInAnOrganization,
- HandshakeConstraintViolationExceptionReasonOrganizationAlreadyHasAllFeatures,
- HandshakeConstraintViolationExceptionReasonOrganizationIsAlreadyPendingAllFeaturesMigration,
- HandshakeConstraintViolationExceptionReasonInviteDisabledDuringEnableAllFeatures,
- HandshakeConstraintViolationExceptionReasonPaymentInstrumentRequired,
- HandshakeConstraintViolationExceptionReasonOrganizationFromDifferentSellerOfRecord,
- HandshakeConstraintViolationExceptionReasonOrganizationMembershipChangeRateLimitExceeded,
- HandshakeConstraintViolationExceptionReasonManagementAccountEmailNotVerified,
- }
- }
- const (
- // HandshakePartyTypeAccount is a HandshakePartyType enum value
- HandshakePartyTypeAccount = "ACCOUNT"
- // HandshakePartyTypeOrganization is a HandshakePartyType enum value
- HandshakePartyTypeOrganization = "ORGANIZATION"
- // HandshakePartyTypeEmail is a HandshakePartyType enum value
- HandshakePartyTypeEmail = "EMAIL"
- )
- // HandshakePartyType_Values returns all elements of the HandshakePartyType enum
- func HandshakePartyType_Values() []string {
- return []string{
- HandshakePartyTypeAccount,
- HandshakePartyTypeOrganization,
- HandshakePartyTypeEmail,
- }
- }
- const (
- // HandshakeResourceTypeAccount is a HandshakeResourceType enum value
- HandshakeResourceTypeAccount = "ACCOUNT"
- // HandshakeResourceTypeOrganization is a HandshakeResourceType enum value
- HandshakeResourceTypeOrganization = "ORGANIZATION"
- // HandshakeResourceTypeOrganizationFeatureSet is a HandshakeResourceType enum value
- HandshakeResourceTypeOrganizationFeatureSet = "ORGANIZATION_FEATURE_SET"
- // HandshakeResourceTypeEmail is a HandshakeResourceType enum value
- HandshakeResourceTypeEmail = "EMAIL"
- // HandshakeResourceTypeMasterEmail is a HandshakeResourceType enum value
- HandshakeResourceTypeMasterEmail = "MASTER_EMAIL"
- // HandshakeResourceTypeMasterName is a HandshakeResourceType enum value
- HandshakeResourceTypeMasterName = "MASTER_NAME"
- // HandshakeResourceTypeNotes is a HandshakeResourceType enum value
- HandshakeResourceTypeNotes = "NOTES"
- // HandshakeResourceTypeParentHandshake is a HandshakeResourceType enum value
- HandshakeResourceTypeParentHandshake = "PARENT_HANDSHAKE"
- )
- // HandshakeResourceType_Values returns all elements of the HandshakeResourceType enum
- func HandshakeResourceType_Values() []string {
- return []string{
- HandshakeResourceTypeAccount,
- HandshakeResourceTypeOrganization,
- HandshakeResourceTypeOrganizationFeatureSet,
- HandshakeResourceTypeEmail,
- HandshakeResourceTypeMasterEmail,
- HandshakeResourceTypeMasterName,
- HandshakeResourceTypeNotes,
- HandshakeResourceTypeParentHandshake,
- }
- }
- const (
- // HandshakeStateRequested is a HandshakeState enum value
- HandshakeStateRequested = "REQUESTED"
- // HandshakeStateOpen is a HandshakeState enum value
- HandshakeStateOpen = "OPEN"
- // HandshakeStateCanceled is a HandshakeState enum value
- HandshakeStateCanceled = "CANCELED"
- // HandshakeStateAccepted is a HandshakeState enum value
- HandshakeStateAccepted = "ACCEPTED"
- // HandshakeStateDeclined is a HandshakeState enum value
- HandshakeStateDeclined = "DECLINED"
- // HandshakeStateExpired is a HandshakeState enum value
- HandshakeStateExpired = "EXPIRED"
- )
- // HandshakeState_Values returns all elements of the HandshakeState enum
- func HandshakeState_Values() []string {
- return []string{
- HandshakeStateRequested,
- HandshakeStateOpen,
- HandshakeStateCanceled,
- HandshakeStateAccepted,
- HandshakeStateDeclined,
- HandshakeStateExpired,
- }
- }
- const (
- // IAMUserAccessToBillingAllow is a IAMUserAccessToBilling enum value
- IAMUserAccessToBillingAllow = "ALLOW"
- // IAMUserAccessToBillingDeny is a IAMUserAccessToBilling enum value
- IAMUserAccessToBillingDeny = "DENY"
- )
- // IAMUserAccessToBilling_Values returns all elements of the IAMUserAccessToBilling enum
- func IAMUserAccessToBilling_Values() []string {
- return []string{
- IAMUserAccessToBillingAllow,
- IAMUserAccessToBillingDeny,
- }
- }
- const (
- // InvalidInputExceptionReasonInvalidPartyTypeTarget is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonInvalidPartyTypeTarget = "INVALID_PARTY_TYPE_TARGET"
- // InvalidInputExceptionReasonInvalidSyntaxOrganizationArn is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonInvalidSyntaxOrganizationArn = "INVALID_SYNTAX_ORGANIZATION_ARN"
- // InvalidInputExceptionReasonInvalidSyntaxPolicyId is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonInvalidSyntaxPolicyId = "INVALID_SYNTAX_POLICY_ID"
- // InvalidInputExceptionReasonInvalidEnum is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonInvalidEnum = "INVALID_ENUM"
- // InvalidInputExceptionReasonInvalidEnumPolicyType is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonInvalidEnumPolicyType = "INVALID_ENUM_POLICY_TYPE"
- // InvalidInputExceptionReasonInvalidListMember is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonInvalidListMember = "INVALID_LIST_MEMBER"
- // InvalidInputExceptionReasonMaxLengthExceeded is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonMaxLengthExceeded = "MAX_LENGTH_EXCEEDED"
- // InvalidInputExceptionReasonMaxValueExceeded is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonMaxValueExceeded = "MAX_VALUE_EXCEEDED"
- // InvalidInputExceptionReasonMinLengthExceeded is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonMinLengthExceeded = "MIN_LENGTH_EXCEEDED"
- // InvalidInputExceptionReasonMinValueExceeded is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonMinValueExceeded = "MIN_VALUE_EXCEEDED"
- // InvalidInputExceptionReasonImmutablePolicy is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonImmutablePolicy = "IMMUTABLE_POLICY"
- // InvalidInputExceptionReasonInvalidPattern is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonInvalidPattern = "INVALID_PATTERN"
- // InvalidInputExceptionReasonInvalidPatternTargetId is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonInvalidPatternTargetId = "INVALID_PATTERN_TARGET_ID"
- // InvalidInputExceptionReasonInputRequired is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonInputRequired = "INPUT_REQUIRED"
- // InvalidInputExceptionReasonInvalidNextToken is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonInvalidNextToken = "INVALID_NEXT_TOKEN"
- // InvalidInputExceptionReasonMaxLimitExceededFilter is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonMaxLimitExceededFilter = "MAX_LIMIT_EXCEEDED_FILTER"
- // InvalidInputExceptionReasonMovingAccountBetweenDifferentRoots is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonMovingAccountBetweenDifferentRoots = "MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS"
- // InvalidInputExceptionReasonInvalidFullNameTarget is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonInvalidFullNameTarget = "INVALID_FULL_NAME_TARGET"
- // InvalidInputExceptionReasonUnrecognizedServicePrincipal is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonUnrecognizedServicePrincipal = "UNRECOGNIZED_SERVICE_PRINCIPAL"
- // InvalidInputExceptionReasonInvalidRoleName is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonInvalidRoleName = "INVALID_ROLE_NAME"
- // InvalidInputExceptionReasonInvalidSystemTagsParameter is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonInvalidSystemTagsParameter = "INVALID_SYSTEM_TAGS_PARAMETER"
- // InvalidInputExceptionReasonDuplicateTagKey is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonDuplicateTagKey = "DUPLICATE_TAG_KEY"
- // InvalidInputExceptionReasonTargetNotSupported is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonTargetNotSupported = "TARGET_NOT_SUPPORTED"
- // InvalidInputExceptionReasonInvalidEmailAddressTarget is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonInvalidEmailAddressTarget = "INVALID_EMAIL_ADDRESS_TARGET"
- // InvalidInputExceptionReasonInvalidResourcePolicyJson is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonInvalidResourcePolicyJson = "INVALID_RESOURCE_POLICY_JSON"
- // InvalidInputExceptionReasonUnsupportedActionInResourcePolicy is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonUnsupportedActionInResourcePolicy = "UNSUPPORTED_ACTION_IN_RESOURCE_POLICY"
- // InvalidInputExceptionReasonUnsupportedPolicyTypeInResourcePolicy is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonUnsupportedPolicyTypeInResourcePolicy = "UNSUPPORTED_POLICY_TYPE_IN_RESOURCE_POLICY"
- // InvalidInputExceptionReasonUnsupportedResourceInResourcePolicy is a InvalidInputExceptionReason enum value
- InvalidInputExceptionReasonUnsupportedResourceInResourcePolicy = "UNSUPPORTED_RESOURCE_IN_RESOURCE_POLICY"
- )
- // InvalidInputExceptionReason_Values returns all elements of the InvalidInputExceptionReason enum
- func InvalidInputExceptionReason_Values() []string {
- return []string{
- InvalidInputExceptionReasonInvalidPartyTypeTarget,
- InvalidInputExceptionReasonInvalidSyntaxOrganizationArn,
- InvalidInputExceptionReasonInvalidSyntaxPolicyId,
- InvalidInputExceptionReasonInvalidEnum,
- InvalidInputExceptionReasonInvalidEnumPolicyType,
- InvalidInputExceptionReasonInvalidListMember,
- InvalidInputExceptionReasonMaxLengthExceeded,
- InvalidInputExceptionReasonMaxValueExceeded,
- InvalidInputExceptionReasonMinLengthExceeded,
- InvalidInputExceptionReasonMinValueExceeded,
- InvalidInputExceptionReasonImmutablePolicy,
- InvalidInputExceptionReasonInvalidPattern,
- InvalidInputExceptionReasonInvalidPatternTargetId,
- InvalidInputExceptionReasonInputRequired,
- InvalidInputExceptionReasonInvalidNextToken,
- InvalidInputExceptionReasonMaxLimitExceededFilter,
- InvalidInputExceptionReasonMovingAccountBetweenDifferentRoots,
- InvalidInputExceptionReasonInvalidFullNameTarget,
- InvalidInputExceptionReasonUnrecognizedServicePrincipal,
- InvalidInputExceptionReasonInvalidRoleName,
- InvalidInputExceptionReasonInvalidSystemTagsParameter,
- InvalidInputExceptionReasonDuplicateTagKey,
- InvalidInputExceptionReasonTargetNotSupported,
- InvalidInputExceptionReasonInvalidEmailAddressTarget,
- InvalidInputExceptionReasonInvalidResourcePolicyJson,
- InvalidInputExceptionReasonUnsupportedActionInResourcePolicy,
- InvalidInputExceptionReasonUnsupportedPolicyTypeInResourcePolicy,
- InvalidInputExceptionReasonUnsupportedResourceInResourcePolicy,
- }
- }
- const (
- // OrganizationFeatureSetAll is a OrganizationFeatureSet enum value
- OrganizationFeatureSetAll = "ALL"
- // OrganizationFeatureSetConsolidatedBilling is a OrganizationFeatureSet enum value
- OrganizationFeatureSetConsolidatedBilling = "CONSOLIDATED_BILLING"
- )
- // OrganizationFeatureSet_Values returns all elements of the OrganizationFeatureSet enum
- func OrganizationFeatureSet_Values() []string {
- return []string{
- OrganizationFeatureSetAll,
- OrganizationFeatureSetConsolidatedBilling,
- }
- }
- const (
- // ParentTypeRoot is a ParentType enum value
- ParentTypeRoot = "ROOT"
- // ParentTypeOrganizationalUnit is a ParentType enum value
- ParentTypeOrganizationalUnit = "ORGANIZATIONAL_UNIT"
- )
- // ParentType_Values returns all elements of the ParentType enum
- func ParentType_Values() []string {
- return []string{
- ParentTypeRoot,
- ParentTypeOrganizationalUnit,
- }
- }
- const (
- // PolicyTypeServiceControlPolicy is a PolicyType enum value
- PolicyTypeServiceControlPolicy = "SERVICE_CONTROL_POLICY"
- // PolicyTypeTagPolicy is a PolicyType enum value
- PolicyTypeTagPolicy = "TAG_POLICY"
- // PolicyTypeBackupPolicy is a PolicyType enum value
- PolicyTypeBackupPolicy = "BACKUP_POLICY"
- // PolicyTypeAiservicesOptOutPolicy is a PolicyType enum value
- PolicyTypeAiservicesOptOutPolicy = "AISERVICES_OPT_OUT_POLICY"
- )
- // PolicyType_Values returns all elements of the PolicyType enum
- func PolicyType_Values() []string {
- return []string{
- PolicyTypeServiceControlPolicy,
- PolicyTypeTagPolicy,
- PolicyTypeBackupPolicy,
- PolicyTypeAiservicesOptOutPolicy,
- }
- }
- const (
- // PolicyTypeStatusEnabled is a PolicyTypeStatus enum value
- PolicyTypeStatusEnabled = "ENABLED"
- // PolicyTypeStatusPendingEnable is a PolicyTypeStatus enum value
- PolicyTypeStatusPendingEnable = "PENDING_ENABLE"
- // PolicyTypeStatusPendingDisable is a PolicyTypeStatus enum value
- PolicyTypeStatusPendingDisable = "PENDING_DISABLE"
- )
- // PolicyTypeStatus_Values returns all elements of the PolicyTypeStatus enum
- func PolicyTypeStatus_Values() []string {
- return []string{
- PolicyTypeStatusEnabled,
- PolicyTypeStatusPendingEnable,
- PolicyTypeStatusPendingDisable,
- }
- }
- const (
- // TargetTypeAccount is a TargetType enum value
- TargetTypeAccount = "ACCOUNT"
- // TargetTypeOrganizationalUnit is a TargetType enum value
- TargetTypeOrganizationalUnit = "ORGANIZATIONAL_UNIT"
- // TargetTypeRoot is a TargetType enum value
- TargetTypeRoot = "ROOT"
- )
- // TargetType_Values returns all elements of the TargetType enum
- func TargetType_Values() []string {
- return []string{
- TargetTypeAccount,
- TargetTypeOrganizationalUnit,
- TargetTypeRoot,
- }
- }
|