api.go 354 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136
  1. // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
  2. // Package iam provides a client for AWS Identity and Access Management.
  3. package iam
  4. import (
  5. "time"
  6. "github.com/aws/aws-sdk-go/aws/awsutil"
  7. "github.com/aws/aws-sdk-go/aws/request"
  8. )
  9. const opAddClientIDToOpenIDConnectProvider = "AddClientIDToOpenIDConnectProvider"
  10. // AddClientIDToOpenIDConnectProviderRequest generates a request for the AddClientIDToOpenIDConnectProvider operation.
  11. func (c *IAM) AddClientIDToOpenIDConnectProviderRequest(input *AddClientIDToOpenIDConnectProviderInput) (req *request.Request, output *AddClientIDToOpenIDConnectProviderOutput) {
  12. op := &request.Operation{
  13. Name: opAddClientIDToOpenIDConnectProvider,
  14. HTTPMethod: "POST",
  15. HTTPPath: "/",
  16. }
  17. if input == nil {
  18. input = &AddClientIDToOpenIDConnectProviderInput{}
  19. }
  20. req = c.newRequest(op, input, output)
  21. output = &AddClientIDToOpenIDConnectProviderOutput{}
  22. req.Data = output
  23. return
  24. }
  25. // Adds a new client ID (also known as audience) to the list of client IDs already
  26. // registered for the specified IAM OpenID Connect provider.
  27. //
  28. // This action is idempotent; it does not fail or return an error if you add
  29. // an existing client ID to the provider.
  30. func (c *IAM) AddClientIDToOpenIDConnectProvider(input *AddClientIDToOpenIDConnectProviderInput) (*AddClientIDToOpenIDConnectProviderOutput, error) {
  31. req, out := c.AddClientIDToOpenIDConnectProviderRequest(input)
  32. err := req.Send()
  33. return out, err
  34. }
  35. const opAddRoleToInstanceProfile = "AddRoleToInstanceProfile"
  36. // AddRoleToInstanceProfileRequest generates a request for the AddRoleToInstanceProfile operation.
  37. func (c *IAM) AddRoleToInstanceProfileRequest(input *AddRoleToInstanceProfileInput) (req *request.Request, output *AddRoleToInstanceProfileOutput) {
  38. op := &request.Operation{
  39. Name: opAddRoleToInstanceProfile,
  40. HTTPMethod: "POST",
  41. HTTPPath: "/",
  42. }
  43. if input == nil {
  44. input = &AddRoleToInstanceProfileInput{}
  45. }
  46. req = c.newRequest(op, input, output)
  47. output = &AddRoleToInstanceProfileOutput{}
  48. req.Data = output
  49. return
  50. }
  51. // Adds the specified role to the specified instance profile. For more information
  52. // about roles, go to Working with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html).
  53. // For more information about instance profiles, go to About Instance Profiles
  54. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html).
  55. func (c *IAM) AddRoleToInstanceProfile(input *AddRoleToInstanceProfileInput) (*AddRoleToInstanceProfileOutput, error) {
  56. req, out := c.AddRoleToInstanceProfileRequest(input)
  57. err := req.Send()
  58. return out, err
  59. }
  60. const opAddUserToGroup = "AddUserToGroup"
  61. // AddUserToGroupRequest generates a request for the AddUserToGroup operation.
  62. func (c *IAM) AddUserToGroupRequest(input *AddUserToGroupInput) (req *request.Request, output *AddUserToGroupOutput) {
  63. op := &request.Operation{
  64. Name: opAddUserToGroup,
  65. HTTPMethod: "POST",
  66. HTTPPath: "/",
  67. }
  68. if input == nil {
  69. input = &AddUserToGroupInput{}
  70. }
  71. req = c.newRequest(op, input, output)
  72. output = &AddUserToGroupOutput{}
  73. req.Data = output
  74. return
  75. }
  76. // Adds the specified user to the specified group.
  77. func (c *IAM) AddUserToGroup(input *AddUserToGroupInput) (*AddUserToGroupOutput, error) {
  78. req, out := c.AddUserToGroupRequest(input)
  79. err := req.Send()
  80. return out, err
  81. }
  82. const opAttachGroupPolicy = "AttachGroupPolicy"
  83. // AttachGroupPolicyRequest generates a request for the AttachGroupPolicy operation.
  84. func (c *IAM) AttachGroupPolicyRequest(input *AttachGroupPolicyInput) (req *request.Request, output *AttachGroupPolicyOutput) {
  85. op := &request.Operation{
  86. Name: opAttachGroupPolicy,
  87. HTTPMethod: "POST",
  88. HTTPPath: "/",
  89. }
  90. if input == nil {
  91. input = &AttachGroupPolicyInput{}
  92. }
  93. req = c.newRequest(op, input, output)
  94. output = &AttachGroupPolicyOutput{}
  95. req.Data = output
  96. return
  97. }
  98. // Attaches the specified managed policy to the specified group.
  99. //
  100. // You use this API to attach a managed policy to a group. To embed an inline
  101. // policy in a group, use PutGroupPolicy.
  102. //
  103. // For more information about policies, refer to Managed Policies and Inline
  104. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  105. // in the Using IAM guide.
  106. func (c *IAM) AttachGroupPolicy(input *AttachGroupPolicyInput) (*AttachGroupPolicyOutput, error) {
  107. req, out := c.AttachGroupPolicyRequest(input)
  108. err := req.Send()
  109. return out, err
  110. }
  111. const opAttachRolePolicy = "AttachRolePolicy"
  112. // AttachRolePolicyRequest generates a request for the AttachRolePolicy operation.
  113. func (c *IAM) AttachRolePolicyRequest(input *AttachRolePolicyInput) (req *request.Request, output *AttachRolePolicyOutput) {
  114. op := &request.Operation{
  115. Name: opAttachRolePolicy,
  116. HTTPMethod: "POST",
  117. HTTPPath: "/",
  118. }
  119. if input == nil {
  120. input = &AttachRolePolicyInput{}
  121. }
  122. req = c.newRequest(op, input, output)
  123. output = &AttachRolePolicyOutput{}
  124. req.Data = output
  125. return
  126. }
  127. // Attaches the specified managed policy to the specified role.
  128. //
  129. // When you attach a managed policy to a role, the managed policy is used as
  130. // the role's access (permissions) policy. You cannot use a managed policy as
  131. // the role's trust policy. The role's trust policy is created at the same time
  132. // as the role, using CreateRole. You can update a role's trust policy using
  133. // UpdateAssumeRolePolicy.
  134. //
  135. // Use this API to attach a managed policy to a role. To embed an inline policy
  136. // in a role, use PutRolePolicy. For more information about policies, refer
  137. // to Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  138. // in the Using IAM guide.
  139. func (c *IAM) AttachRolePolicy(input *AttachRolePolicyInput) (*AttachRolePolicyOutput, error) {
  140. req, out := c.AttachRolePolicyRequest(input)
  141. err := req.Send()
  142. return out, err
  143. }
  144. const opAttachUserPolicy = "AttachUserPolicy"
  145. // AttachUserPolicyRequest generates a request for the AttachUserPolicy operation.
  146. func (c *IAM) AttachUserPolicyRequest(input *AttachUserPolicyInput) (req *request.Request, output *AttachUserPolicyOutput) {
  147. op := &request.Operation{
  148. Name: opAttachUserPolicy,
  149. HTTPMethod: "POST",
  150. HTTPPath: "/",
  151. }
  152. if input == nil {
  153. input = &AttachUserPolicyInput{}
  154. }
  155. req = c.newRequest(op, input, output)
  156. output = &AttachUserPolicyOutput{}
  157. req.Data = output
  158. return
  159. }
  160. // Attaches the specified managed policy to the specified user.
  161. //
  162. // You use this API to attach a managed policy to a user. To embed an inline
  163. // policy in a user, use PutUserPolicy.
  164. //
  165. // For more information about policies, refer to Managed Policies and Inline
  166. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  167. // in the Using IAM guide.
  168. func (c *IAM) AttachUserPolicy(input *AttachUserPolicyInput) (*AttachUserPolicyOutput, error) {
  169. req, out := c.AttachUserPolicyRequest(input)
  170. err := req.Send()
  171. return out, err
  172. }
  173. const opChangePassword = "ChangePassword"
  174. // ChangePasswordRequest generates a request for the ChangePassword operation.
  175. func (c *IAM) ChangePasswordRequest(input *ChangePasswordInput) (req *request.Request, output *ChangePasswordOutput) {
  176. op := &request.Operation{
  177. Name: opChangePassword,
  178. HTTPMethod: "POST",
  179. HTTPPath: "/",
  180. }
  181. if input == nil {
  182. input = &ChangePasswordInput{}
  183. }
  184. req = c.newRequest(op, input, output)
  185. output = &ChangePasswordOutput{}
  186. req.Data = output
  187. return
  188. }
  189. // Changes the password of the IAM user who is calling this action. The root
  190. // account password is not affected by this action.
  191. //
  192. // To change the password for a different user, see UpdateLoginProfile. For
  193. // more information about modifying passwords, see Managing Passwords (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingLogins.html)
  194. // in the Using IAM guide.
  195. func (c *IAM) ChangePassword(input *ChangePasswordInput) (*ChangePasswordOutput, error) {
  196. req, out := c.ChangePasswordRequest(input)
  197. err := req.Send()
  198. return out, err
  199. }
  200. const opCreateAccessKey = "CreateAccessKey"
  201. // CreateAccessKeyRequest generates a request for the CreateAccessKey operation.
  202. func (c *IAM) CreateAccessKeyRequest(input *CreateAccessKeyInput) (req *request.Request, output *CreateAccessKeyOutput) {
  203. op := &request.Operation{
  204. Name: opCreateAccessKey,
  205. HTTPMethod: "POST",
  206. HTTPPath: "/",
  207. }
  208. if input == nil {
  209. input = &CreateAccessKeyInput{}
  210. }
  211. req = c.newRequest(op, input, output)
  212. output = &CreateAccessKeyOutput{}
  213. req.Data = output
  214. return
  215. }
  216. // Creates a new AWS secret access key and corresponding AWS access key ID for
  217. // the specified user. The default status for new keys is Active.
  218. //
  219. // If you do not specify a user name, IAM determines the user name implicitly
  220. // based on the AWS access key ID signing the request. Because this action works
  221. // for access keys under the AWS account, you can use this action to manage
  222. // root credentials even if the AWS account has no associated users.
  223. //
  224. // For information about limits on the number of keys you can create, see
  225. // Limitations on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
  226. // in the Using IAM guide.
  227. //
  228. // To ensure the security of your AWS account, the secret access key is accessible
  229. // only during key and user creation. You must save the key (for example, in
  230. // a text file) if you want to be able to access it again. If a secret key is
  231. // lost, you can delete the access keys for the associated user and then create
  232. // new keys.
  233. func (c *IAM) CreateAccessKey(input *CreateAccessKeyInput) (*CreateAccessKeyOutput, error) {
  234. req, out := c.CreateAccessKeyRequest(input)
  235. err := req.Send()
  236. return out, err
  237. }
  238. const opCreateAccountAlias = "CreateAccountAlias"
  239. // CreateAccountAliasRequest generates a request for the CreateAccountAlias operation.
  240. func (c *IAM) CreateAccountAliasRequest(input *CreateAccountAliasInput) (req *request.Request, output *CreateAccountAliasOutput) {
  241. op := &request.Operation{
  242. Name: opCreateAccountAlias,
  243. HTTPMethod: "POST",
  244. HTTPPath: "/",
  245. }
  246. if input == nil {
  247. input = &CreateAccountAliasInput{}
  248. }
  249. req = c.newRequest(op, input, output)
  250. output = &CreateAccountAliasOutput{}
  251. req.Data = output
  252. return
  253. }
  254. // Creates an alias for your AWS account. For information about using an AWS
  255. // account alias, see Using an Alias for Your AWS Account ID (http://docs.aws.amazon.com/IAM/latest/UserGuide/AccountAlias.html)
  256. // in the Using IAM guide.
  257. func (c *IAM) CreateAccountAlias(input *CreateAccountAliasInput) (*CreateAccountAliasOutput, error) {
  258. req, out := c.CreateAccountAliasRequest(input)
  259. err := req.Send()
  260. return out, err
  261. }
  262. const opCreateGroup = "CreateGroup"
  263. // CreateGroupRequest generates a request for the CreateGroup operation.
  264. func (c *IAM) CreateGroupRequest(input *CreateGroupInput) (req *request.Request, output *CreateGroupOutput) {
  265. op := &request.Operation{
  266. Name: opCreateGroup,
  267. HTTPMethod: "POST",
  268. HTTPPath: "/",
  269. }
  270. if input == nil {
  271. input = &CreateGroupInput{}
  272. }
  273. req = c.newRequest(op, input, output)
  274. output = &CreateGroupOutput{}
  275. req.Data = output
  276. return
  277. }
  278. // Creates a new group.
  279. //
  280. // For information about the number of groups you can create, see Limitations
  281. // on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
  282. // in the Using IAM guide.
  283. func (c *IAM) CreateGroup(input *CreateGroupInput) (*CreateGroupOutput, error) {
  284. req, out := c.CreateGroupRequest(input)
  285. err := req.Send()
  286. return out, err
  287. }
  288. const opCreateInstanceProfile = "CreateInstanceProfile"
  289. // CreateInstanceProfileRequest generates a request for the CreateInstanceProfile operation.
  290. func (c *IAM) CreateInstanceProfileRequest(input *CreateInstanceProfileInput) (req *request.Request, output *CreateInstanceProfileOutput) {
  291. op := &request.Operation{
  292. Name: opCreateInstanceProfile,
  293. HTTPMethod: "POST",
  294. HTTPPath: "/",
  295. }
  296. if input == nil {
  297. input = &CreateInstanceProfileInput{}
  298. }
  299. req = c.newRequest(op, input, output)
  300. output = &CreateInstanceProfileOutput{}
  301. req.Data = output
  302. return
  303. }
  304. // Creates a new instance profile. For information about instance profiles,
  305. // go to About Instance Profiles (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html).
  306. //
  307. // For information about the number of instance profiles you can create, see
  308. // Limitations on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
  309. // in the Using IAM guide.
  310. func (c *IAM) CreateInstanceProfile(input *CreateInstanceProfileInput) (*CreateInstanceProfileOutput, error) {
  311. req, out := c.CreateInstanceProfileRequest(input)
  312. err := req.Send()
  313. return out, err
  314. }
  315. const opCreateLoginProfile = "CreateLoginProfile"
  316. // CreateLoginProfileRequest generates a request for the CreateLoginProfile operation.
  317. func (c *IAM) CreateLoginProfileRequest(input *CreateLoginProfileInput) (req *request.Request, output *CreateLoginProfileOutput) {
  318. op := &request.Operation{
  319. Name: opCreateLoginProfile,
  320. HTTPMethod: "POST",
  321. HTTPPath: "/",
  322. }
  323. if input == nil {
  324. input = &CreateLoginProfileInput{}
  325. }
  326. req = c.newRequest(op, input, output)
  327. output = &CreateLoginProfileOutput{}
  328. req.Data = output
  329. return
  330. }
  331. // Creates a password for the specified user, giving the user the ability to
  332. // access AWS services through the AWS Management Console. For more information
  333. // about managing passwords, see Managing Passwords (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingLogins.html)
  334. // in the Using IAM guide.
  335. func (c *IAM) CreateLoginProfile(input *CreateLoginProfileInput) (*CreateLoginProfileOutput, error) {
  336. req, out := c.CreateLoginProfileRequest(input)
  337. err := req.Send()
  338. return out, err
  339. }
  340. const opCreateOpenIDConnectProvider = "CreateOpenIDConnectProvider"
  341. // CreateOpenIDConnectProviderRequest generates a request for the CreateOpenIDConnectProvider operation.
  342. func (c *IAM) CreateOpenIDConnectProviderRequest(input *CreateOpenIDConnectProviderInput) (req *request.Request, output *CreateOpenIDConnectProviderOutput) {
  343. op := &request.Operation{
  344. Name: opCreateOpenIDConnectProvider,
  345. HTTPMethod: "POST",
  346. HTTPPath: "/",
  347. }
  348. if input == nil {
  349. input = &CreateOpenIDConnectProviderInput{}
  350. }
  351. req = c.newRequest(op, input, output)
  352. output = &CreateOpenIDConnectProviderOutput{}
  353. req.Data = output
  354. return
  355. }
  356. // Creates an IAM entity to describe an identity provider (IdP) that supports
  357. // OpenID Connect (OIDC) (http://openid.net/connect/).
  358. //
  359. // The OIDC provider that you create with this operation can be used as a principal
  360. // in a role's trust policy to establish a trust relationship between AWS and
  361. // the OIDC provider.
  362. //
  363. // When you create the IAM OIDC provider, you specify the URL of the OIDC identity
  364. // provider (IdP) to trust, a list of client IDs (also known as audiences) that
  365. // identify the application or applications that are allowed to authenticate
  366. // using the OIDC provider, and a list of thumbprints of the server certificate(s)
  367. // that the IdP uses. You get all of this information from the OIDC IdP that
  368. // you want to use for access to AWS.
  369. //
  370. // Because trust for the OIDC provider is ultimately derived from the IAM provider
  371. // that this action creates, it is a best practice to limit access to the CreateOpenIDConnectProvider
  372. // action to highly-privileged users.
  373. func (c *IAM) CreateOpenIDConnectProvider(input *CreateOpenIDConnectProviderInput) (*CreateOpenIDConnectProviderOutput, error) {
  374. req, out := c.CreateOpenIDConnectProviderRequest(input)
  375. err := req.Send()
  376. return out, err
  377. }
  378. const opCreatePolicy = "CreatePolicy"
  379. // CreatePolicyRequest generates a request for the CreatePolicy operation.
  380. func (c *IAM) CreatePolicyRequest(input *CreatePolicyInput) (req *request.Request, output *CreatePolicyOutput) {
  381. op := &request.Operation{
  382. Name: opCreatePolicy,
  383. HTTPMethod: "POST",
  384. HTTPPath: "/",
  385. }
  386. if input == nil {
  387. input = &CreatePolicyInput{}
  388. }
  389. req = c.newRequest(op, input, output)
  390. output = &CreatePolicyOutput{}
  391. req.Data = output
  392. return
  393. }
  394. // Creates a new managed policy for your AWS account.
  395. //
  396. // This operation creates a policy version with a version identifier of v1
  397. // and sets v1 as the policy's default version. For more information about policy
  398. // versions, see Versioning for Managed Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
  399. // in the Using IAM guide.
  400. //
  401. // For more information about managed policies in general, refer to Managed
  402. // Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  403. // in the Using IAM guide.
  404. func (c *IAM) CreatePolicy(input *CreatePolicyInput) (*CreatePolicyOutput, error) {
  405. req, out := c.CreatePolicyRequest(input)
  406. err := req.Send()
  407. return out, err
  408. }
  409. const opCreatePolicyVersion = "CreatePolicyVersion"
  410. // CreatePolicyVersionRequest generates a request for the CreatePolicyVersion operation.
  411. func (c *IAM) CreatePolicyVersionRequest(input *CreatePolicyVersionInput) (req *request.Request, output *CreatePolicyVersionOutput) {
  412. op := &request.Operation{
  413. Name: opCreatePolicyVersion,
  414. HTTPMethod: "POST",
  415. HTTPPath: "/",
  416. }
  417. if input == nil {
  418. input = &CreatePolicyVersionInput{}
  419. }
  420. req = c.newRequest(op, input, output)
  421. output = &CreatePolicyVersionOutput{}
  422. req.Data = output
  423. return
  424. }
  425. // Creates a new version of the specified managed policy. To update a managed
  426. // policy, you create a new policy version. A managed policy can have up to
  427. // five versions. If the policy has five versions, you must delete an existing
  428. // version using DeletePolicyVersion before you create a new version.
  429. //
  430. // Optionally, you can set the new version as the policy's default version.
  431. // The default version is the operative version; that is, the version that is
  432. // in effect for the IAM users, groups, and roles that the policy is attached
  433. // to.
  434. //
  435. // For more information about managed policy versions, see Versioning for Managed
  436. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
  437. // in the Using IAM guide.
  438. func (c *IAM) CreatePolicyVersion(input *CreatePolicyVersionInput) (*CreatePolicyVersionOutput, error) {
  439. req, out := c.CreatePolicyVersionRequest(input)
  440. err := req.Send()
  441. return out, err
  442. }
  443. const opCreateRole = "CreateRole"
  444. // CreateRoleRequest generates a request for the CreateRole operation.
  445. func (c *IAM) CreateRoleRequest(input *CreateRoleInput) (req *request.Request, output *CreateRoleOutput) {
  446. op := &request.Operation{
  447. Name: opCreateRole,
  448. HTTPMethod: "POST",
  449. HTTPPath: "/",
  450. }
  451. if input == nil {
  452. input = &CreateRoleInput{}
  453. }
  454. req = c.newRequest(op, input, output)
  455. output = &CreateRoleOutput{}
  456. req.Data = output
  457. return
  458. }
  459. // Creates a new role for your AWS account. For more information about roles,
  460. // go to Working with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html).
  461. // For information about limitations on role names and the number of roles you
  462. // can create, go to Limitations on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
  463. // in the Using IAM guide.
  464. //
  465. // The policy in the following example grants permission to an EC2 instance
  466. // to assume the role.
  467. func (c *IAM) CreateRole(input *CreateRoleInput) (*CreateRoleOutput, error) {
  468. req, out := c.CreateRoleRequest(input)
  469. err := req.Send()
  470. return out, err
  471. }
  472. const opCreateSAMLProvider = "CreateSAMLProvider"
  473. // CreateSAMLProviderRequest generates a request for the CreateSAMLProvider operation.
  474. func (c *IAM) CreateSAMLProviderRequest(input *CreateSAMLProviderInput) (req *request.Request, output *CreateSAMLProviderOutput) {
  475. op := &request.Operation{
  476. Name: opCreateSAMLProvider,
  477. HTTPMethod: "POST",
  478. HTTPPath: "/",
  479. }
  480. if input == nil {
  481. input = &CreateSAMLProviderInput{}
  482. }
  483. req = c.newRequest(op, input, output)
  484. output = &CreateSAMLProviderOutput{}
  485. req.Data = output
  486. return
  487. }
  488. // Creates an IAM entity to describe an identity provider (IdP) that supports
  489. // SAML 2.0.
  490. //
  491. // The SAML provider that you create with this operation can be used as a
  492. // principal in a role's trust policy to establish a trust relationship between
  493. // AWS and a SAML identity provider. You can create an IAM role that supports
  494. // Web-based single sign-on (SSO) to the AWS Management Console or one that
  495. // supports API access to AWS.
  496. //
  497. // When you create the SAML provider, you upload an a SAML metadata document
  498. // that you get from your IdP and that includes the issuer's name, expiration
  499. // information, and keys that can be used to validate the SAML authentication
  500. // response (assertions) that are received from the IdP. You must generate the
  501. // metadata document using the identity management software that is used as
  502. // your organization's IdP.
  503. //
  504. // This operation requires Signature Version 4 (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
  505. // For more information, see Giving Console Access Using SAML (http://docs.aws.amazon.com/STS/latest/UsingSTS/STSMgmtConsole-SAML.html)
  506. // and Creating Temporary Security Credentials for SAML Federation (http://docs.aws.amazon.com/STS/latest/UsingSTS/CreatingSAML.html)
  507. // in the Using Temporary Credentials guide.
  508. func (c *IAM) CreateSAMLProvider(input *CreateSAMLProviderInput) (*CreateSAMLProviderOutput, error) {
  509. req, out := c.CreateSAMLProviderRequest(input)
  510. err := req.Send()
  511. return out, err
  512. }
  513. const opCreateUser = "CreateUser"
  514. // CreateUserRequest generates a request for the CreateUser operation.
  515. func (c *IAM) CreateUserRequest(input *CreateUserInput) (req *request.Request, output *CreateUserOutput) {
  516. op := &request.Operation{
  517. Name: opCreateUser,
  518. HTTPMethod: "POST",
  519. HTTPPath: "/",
  520. }
  521. if input == nil {
  522. input = &CreateUserInput{}
  523. }
  524. req = c.newRequest(op, input, output)
  525. output = &CreateUserOutput{}
  526. req.Data = output
  527. return
  528. }
  529. // Creates a new user for your AWS account.
  530. //
  531. // For information about limitations on the number of users you can create,
  532. // see Limitations on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
  533. // in the Using IAM guide.
  534. func (c *IAM) CreateUser(input *CreateUserInput) (*CreateUserOutput, error) {
  535. req, out := c.CreateUserRequest(input)
  536. err := req.Send()
  537. return out, err
  538. }
  539. const opCreateVirtualMFADevice = "CreateVirtualMFADevice"
  540. // CreateVirtualMFADeviceRequest generates a request for the CreateVirtualMFADevice operation.
  541. func (c *IAM) CreateVirtualMFADeviceRequest(input *CreateVirtualMFADeviceInput) (req *request.Request, output *CreateVirtualMFADeviceOutput) {
  542. op := &request.Operation{
  543. Name: opCreateVirtualMFADevice,
  544. HTTPMethod: "POST",
  545. HTTPPath: "/",
  546. }
  547. if input == nil {
  548. input = &CreateVirtualMFADeviceInput{}
  549. }
  550. req = c.newRequest(op, input, output)
  551. output = &CreateVirtualMFADeviceOutput{}
  552. req.Data = output
  553. return
  554. }
  555. // Creates a new virtual MFA device for the AWS account. After creating the
  556. // virtual MFA, use EnableMFADevice to attach the MFA device to an IAM user.
  557. // For more information about creating and working with virtual MFA devices,
  558. // go to Using a Virtual MFA Device (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_VirtualMFA.html)
  559. // in the Using IAM guide.
  560. //
  561. // For information about limits on the number of MFA devices you can create,
  562. // see Limitations on Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
  563. // in the Using IAM guide.
  564. //
  565. // The seed information contained in the QR code and the Base32 string should
  566. // be treated like any other secret access information, such as your AWS access
  567. // keys or your passwords. After you provision your virtual device, you should
  568. // ensure that the information is destroyed following secure procedures.
  569. func (c *IAM) CreateVirtualMFADevice(input *CreateVirtualMFADeviceInput) (*CreateVirtualMFADeviceOutput, error) {
  570. req, out := c.CreateVirtualMFADeviceRequest(input)
  571. err := req.Send()
  572. return out, err
  573. }
  574. const opDeactivateMFADevice = "DeactivateMFADevice"
  575. // DeactivateMFADeviceRequest generates a request for the DeactivateMFADevice operation.
  576. func (c *IAM) DeactivateMFADeviceRequest(input *DeactivateMFADeviceInput) (req *request.Request, output *DeactivateMFADeviceOutput) {
  577. op := &request.Operation{
  578. Name: opDeactivateMFADevice,
  579. HTTPMethod: "POST",
  580. HTTPPath: "/",
  581. }
  582. if input == nil {
  583. input = &DeactivateMFADeviceInput{}
  584. }
  585. req = c.newRequest(op, input, output)
  586. output = &DeactivateMFADeviceOutput{}
  587. req.Data = output
  588. return
  589. }
  590. // Deactivates the specified MFA device and removes it from association with
  591. // the user name for which it was originally enabled.
  592. //
  593. // For more information about creating and working with virtual MFA devices,
  594. // go to Using a Virtual MFA Device (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_VirtualMFA.html)
  595. // in the Using IAM guide.
  596. func (c *IAM) DeactivateMFADevice(input *DeactivateMFADeviceInput) (*DeactivateMFADeviceOutput, error) {
  597. req, out := c.DeactivateMFADeviceRequest(input)
  598. err := req.Send()
  599. return out, err
  600. }
  601. const opDeleteAccessKey = "DeleteAccessKey"
  602. // DeleteAccessKeyRequest generates a request for the DeleteAccessKey operation.
  603. func (c *IAM) DeleteAccessKeyRequest(input *DeleteAccessKeyInput) (req *request.Request, output *DeleteAccessKeyOutput) {
  604. op := &request.Operation{
  605. Name: opDeleteAccessKey,
  606. HTTPMethod: "POST",
  607. HTTPPath: "/",
  608. }
  609. if input == nil {
  610. input = &DeleteAccessKeyInput{}
  611. }
  612. req = c.newRequest(op, input, output)
  613. output = &DeleteAccessKeyOutput{}
  614. req.Data = output
  615. return
  616. }
  617. // Deletes the access key associated with the specified user.
  618. //
  619. // If you do not specify a user name, IAM determines the user name implicitly
  620. // based on the AWS access key ID signing the request. Because this action works
  621. // for access keys under the AWS account, you can use this action to manage
  622. // root credentials even if the AWS account has no associated users.
  623. func (c *IAM) DeleteAccessKey(input *DeleteAccessKeyInput) (*DeleteAccessKeyOutput, error) {
  624. req, out := c.DeleteAccessKeyRequest(input)
  625. err := req.Send()
  626. return out, err
  627. }
  628. const opDeleteAccountAlias = "DeleteAccountAlias"
  629. // DeleteAccountAliasRequest generates a request for the DeleteAccountAlias operation.
  630. func (c *IAM) DeleteAccountAliasRequest(input *DeleteAccountAliasInput) (req *request.Request, output *DeleteAccountAliasOutput) {
  631. op := &request.Operation{
  632. Name: opDeleteAccountAlias,
  633. HTTPMethod: "POST",
  634. HTTPPath: "/",
  635. }
  636. if input == nil {
  637. input = &DeleteAccountAliasInput{}
  638. }
  639. req = c.newRequest(op, input, output)
  640. output = &DeleteAccountAliasOutput{}
  641. req.Data = output
  642. return
  643. }
  644. // Deletes the specified AWS account alias. For information about using an AWS
  645. // account alias, see Using an Alias for Your AWS Account ID (http://docs.aws.amazon.com/IAM/latest/UserGuide/AccountAlias.html)
  646. // in the Using IAM guide.
  647. func (c *IAM) DeleteAccountAlias(input *DeleteAccountAliasInput) (*DeleteAccountAliasOutput, error) {
  648. req, out := c.DeleteAccountAliasRequest(input)
  649. err := req.Send()
  650. return out, err
  651. }
  652. const opDeleteAccountPasswordPolicy = "DeleteAccountPasswordPolicy"
  653. // DeleteAccountPasswordPolicyRequest generates a request for the DeleteAccountPasswordPolicy operation.
  654. func (c *IAM) DeleteAccountPasswordPolicyRequest(input *DeleteAccountPasswordPolicyInput) (req *request.Request, output *DeleteAccountPasswordPolicyOutput) {
  655. op := &request.Operation{
  656. Name: opDeleteAccountPasswordPolicy,
  657. HTTPMethod: "POST",
  658. HTTPPath: "/",
  659. }
  660. if input == nil {
  661. input = &DeleteAccountPasswordPolicyInput{}
  662. }
  663. req = c.newRequest(op, input, output)
  664. output = &DeleteAccountPasswordPolicyOutput{}
  665. req.Data = output
  666. return
  667. }
  668. // Deletes the password policy for the AWS account.
  669. func (c *IAM) DeleteAccountPasswordPolicy(input *DeleteAccountPasswordPolicyInput) (*DeleteAccountPasswordPolicyOutput, error) {
  670. req, out := c.DeleteAccountPasswordPolicyRequest(input)
  671. err := req.Send()
  672. return out, err
  673. }
  674. const opDeleteGroup = "DeleteGroup"
  675. // DeleteGroupRequest generates a request for the DeleteGroup operation.
  676. func (c *IAM) DeleteGroupRequest(input *DeleteGroupInput) (req *request.Request, output *DeleteGroupOutput) {
  677. op := &request.Operation{
  678. Name: opDeleteGroup,
  679. HTTPMethod: "POST",
  680. HTTPPath: "/",
  681. }
  682. if input == nil {
  683. input = &DeleteGroupInput{}
  684. }
  685. req = c.newRequest(op, input, output)
  686. output = &DeleteGroupOutput{}
  687. req.Data = output
  688. return
  689. }
  690. // Deletes the specified group. The group must not contain any users or have
  691. // any attached policies.
  692. func (c *IAM) DeleteGroup(input *DeleteGroupInput) (*DeleteGroupOutput, error) {
  693. req, out := c.DeleteGroupRequest(input)
  694. err := req.Send()
  695. return out, err
  696. }
  697. const opDeleteGroupPolicy = "DeleteGroupPolicy"
  698. // DeleteGroupPolicyRequest generates a request for the DeleteGroupPolicy operation.
  699. func (c *IAM) DeleteGroupPolicyRequest(input *DeleteGroupPolicyInput) (req *request.Request, output *DeleteGroupPolicyOutput) {
  700. op := &request.Operation{
  701. Name: opDeleteGroupPolicy,
  702. HTTPMethod: "POST",
  703. HTTPPath: "/",
  704. }
  705. if input == nil {
  706. input = &DeleteGroupPolicyInput{}
  707. }
  708. req = c.newRequest(op, input, output)
  709. output = &DeleteGroupPolicyOutput{}
  710. req.Data = output
  711. return
  712. }
  713. // Deletes the specified inline policy that is embedded in the specified group.
  714. //
  715. // A group can also have managed policies attached to it. To detach a managed
  716. // policy from a group, use DetachGroupPolicy. For more information about policies,
  717. // refer to Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  718. // in the Using IAM guide.
  719. func (c *IAM) DeleteGroupPolicy(input *DeleteGroupPolicyInput) (*DeleteGroupPolicyOutput, error) {
  720. req, out := c.DeleteGroupPolicyRequest(input)
  721. err := req.Send()
  722. return out, err
  723. }
  724. const opDeleteInstanceProfile = "DeleteInstanceProfile"
  725. // DeleteInstanceProfileRequest generates a request for the DeleteInstanceProfile operation.
  726. func (c *IAM) DeleteInstanceProfileRequest(input *DeleteInstanceProfileInput) (req *request.Request, output *DeleteInstanceProfileOutput) {
  727. op := &request.Operation{
  728. Name: opDeleteInstanceProfile,
  729. HTTPMethod: "POST",
  730. HTTPPath: "/",
  731. }
  732. if input == nil {
  733. input = &DeleteInstanceProfileInput{}
  734. }
  735. req = c.newRequest(op, input, output)
  736. output = &DeleteInstanceProfileOutput{}
  737. req.Data = output
  738. return
  739. }
  740. // Deletes the specified instance profile. The instance profile must not have
  741. // an associated role.
  742. //
  743. // Make sure you do not have any Amazon EC2 instances running with the instance
  744. // profile you are about to delete. Deleting a role or instance profile that
  745. // is associated with a running instance will break any applications running
  746. // on the instance. For more information about instance profiles, go to About
  747. // Instance Profiles (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html).
  748. func (c *IAM) DeleteInstanceProfile(input *DeleteInstanceProfileInput) (*DeleteInstanceProfileOutput, error) {
  749. req, out := c.DeleteInstanceProfileRequest(input)
  750. err := req.Send()
  751. return out, err
  752. }
  753. const opDeleteLoginProfile = "DeleteLoginProfile"
  754. // DeleteLoginProfileRequest generates a request for the DeleteLoginProfile operation.
  755. func (c *IAM) DeleteLoginProfileRequest(input *DeleteLoginProfileInput) (req *request.Request, output *DeleteLoginProfileOutput) {
  756. op := &request.Operation{
  757. Name: opDeleteLoginProfile,
  758. HTTPMethod: "POST",
  759. HTTPPath: "/",
  760. }
  761. if input == nil {
  762. input = &DeleteLoginProfileInput{}
  763. }
  764. req = c.newRequest(op, input, output)
  765. output = &DeleteLoginProfileOutput{}
  766. req.Data = output
  767. return
  768. }
  769. // Deletes the password for the specified user, which terminates the user's
  770. // ability to access AWS services through the AWS Management Console.
  771. //
  772. // Deleting a user's password does not prevent a user from accessing IAM through
  773. // the command line interface or the API. To prevent all user access you must
  774. // also either make the access key inactive or delete it. For more information
  775. // about making keys inactive or deleting them, see UpdateAccessKey and DeleteAccessKey.
  776. func (c *IAM) DeleteLoginProfile(input *DeleteLoginProfileInput) (*DeleteLoginProfileOutput, error) {
  777. req, out := c.DeleteLoginProfileRequest(input)
  778. err := req.Send()
  779. return out, err
  780. }
  781. const opDeleteOpenIDConnectProvider = "DeleteOpenIDConnectProvider"
  782. // DeleteOpenIDConnectProviderRequest generates a request for the DeleteOpenIDConnectProvider operation.
  783. func (c *IAM) DeleteOpenIDConnectProviderRequest(input *DeleteOpenIDConnectProviderInput) (req *request.Request, output *DeleteOpenIDConnectProviderOutput) {
  784. op := &request.Operation{
  785. Name: opDeleteOpenIDConnectProvider,
  786. HTTPMethod: "POST",
  787. HTTPPath: "/",
  788. }
  789. if input == nil {
  790. input = &DeleteOpenIDConnectProviderInput{}
  791. }
  792. req = c.newRequest(op, input, output)
  793. output = &DeleteOpenIDConnectProviderOutput{}
  794. req.Data = output
  795. return
  796. }
  797. // Deletes an IAM OpenID Connect identity provider.
  798. //
  799. // Deleting an OIDC provider does not update any roles that reference the provider
  800. // as a principal in their trust policies. Any attempt to assume a role that
  801. // references a provider that has been deleted will fail.
  802. //
  803. // This action is idempotent; it does not fail or return an error if you call
  804. // the action for a provider that was already deleted.
  805. func (c *IAM) DeleteOpenIDConnectProvider(input *DeleteOpenIDConnectProviderInput) (*DeleteOpenIDConnectProviderOutput, error) {
  806. req, out := c.DeleteOpenIDConnectProviderRequest(input)
  807. err := req.Send()
  808. return out, err
  809. }
  810. const opDeletePolicy = "DeletePolicy"
  811. // DeletePolicyRequest generates a request for the DeletePolicy operation.
  812. func (c *IAM) DeletePolicyRequest(input *DeletePolicyInput) (req *request.Request, output *DeletePolicyOutput) {
  813. op := &request.Operation{
  814. Name: opDeletePolicy,
  815. HTTPMethod: "POST",
  816. HTTPPath: "/",
  817. }
  818. if input == nil {
  819. input = &DeletePolicyInput{}
  820. }
  821. req = c.newRequest(op, input, output)
  822. output = &DeletePolicyOutput{}
  823. req.Data = output
  824. return
  825. }
  826. // Deletes the specified managed policy.
  827. //
  828. // Before you can delete a managed policy, you must detach the policy from
  829. // all users, groups, and roles that it is attached to, and you must delete
  830. // all of the policy's versions. The following steps describe the process for
  831. // deleting a managed policy: Detach the policy from all users, groups, and
  832. // roles that the policy is attached to, using the DetachUserPolicy, DetachGroupPolicy,
  833. // or DetachRolePolicy APIs. To list all the users, groups, and roles that a
  834. // policy is attached to, use ListEntitiesForPolicy. Delete all versions of
  835. // the policy using DeletePolicyVersion. To list the policy's versions, use
  836. // ListPolicyVersions. You cannot use DeletePolicyVersion to delete the version
  837. // that is marked as the default version. You delete the policy's default version
  838. // in the next step of the process. Delete the policy (this automatically deletes
  839. // the policy's default version) using this API.
  840. //
  841. // For information about managed policies, refer to Managed Policies and Inline
  842. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  843. // in the Using IAM guide.
  844. func (c *IAM) DeletePolicy(input *DeletePolicyInput) (*DeletePolicyOutput, error) {
  845. req, out := c.DeletePolicyRequest(input)
  846. err := req.Send()
  847. return out, err
  848. }
  849. const opDeletePolicyVersion = "DeletePolicyVersion"
  850. // DeletePolicyVersionRequest generates a request for the DeletePolicyVersion operation.
  851. func (c *IAM) DeletePolicyVersionRequest(input *DeletePolicyVersionInput) (req *request.Request, output *DeletePolicyVersionOutput) {
  852. op := &request.Operation{
  853. Name: opDeletePolicyVersion,
  854. HTTPMethod: "POST",
  855. HTTPPath: "/",
  856. }
  857. if input == nil {
  858. input = &DeletePolicyVersionInput{}
  859. }
  860. req = c.newRequest(op, input, output)
  861. output = &DeletePolicyVersionOutput{}
  862. req.Data = output
  863. return
  864. }
  865. // Deletes the specified version of the specified managed policy.
  866. //
  867. // You cannot delete the default version of a policy using this API. To delete
  868. // the default version of a policy, use DeletePolicy. To find out which version
  869. // of a policy is marked as the default version, use ListPolicyVersions.
  870. //
  871. // For information about versions for managed policies, refer to Versioning
  872. // for Managed Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
  873. // in the Using IAM guide.
  874. func (c *IAM) DeletePolicyVersion(input *DeletePolicyVersionInput) (*DeletePolicyVersionOutput, error) {
  875. req, out := c.DeletePolicyVersionRequest(input)
  876. err := req.Send()
  877. return out, err
  878. }
  879. const opDeleteRole = "DeleteRole"
  880. // DeleteRoleRequest generates a request for the DeleteRole operation.
  881. func (c *IAM) DeleteRoleRequest(input *DeleteRoleInput) (req *request.Request, output *DeleteRoleOutput) {
  882. op := &request.Operation{
  883. Name: opDeleteRole,
  884. HTTPMethod: "POST",
  885. HTTPPath: "/",
  886. }
  887. if input == nil {
  888. input = &DeleteRoleInput{}
  889. }
  890. req = c.newRequest(op, input, output)
  891. output = &DeleteRoleOutput{}
  892. req.Data = output
  893. return
  894. }
  895. // Deletes the specified role. The role must not have any policies attached.
  896. // For more information about roles, go to Working with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html).
  897. //
  898. // Make sure you do not have any Amazon EC2 instances running with the role
  899. // you are about to delete. Deleting a role or instance profile that is associated
  900. // with a running instance will break any applications running on the instance.
  901. func (c *IAM) DeleteRole(input *DeleteRoleInput) (*DeleteRoleOutput, error) {
  902. req, out := c.DeleteRoleRequest(input)
  903. err := req.Send()
  904. return out, err
  905. }
  906. const opDeleteRolePolicy = "DeleteRolePolicy"
  907. // DeleteRolePolicyRequest generates a request for the DeleteRolePolicy operation.
  908. func (c *IAM) DeleteRolePolicyRequest(input *DeleteRolePolicyInput) (req *request.Request, output *DeleteRolePolicyOutput) {
  909. op := &request.Operation{
  910. Name: opDeleteRolePolicy,
  911. HTTPMethod: "POST",
  912. HTTPPath: "/",
  913. }
  914. if input == nil {
  915. input = &DeleteRolePolicyInput{}
  916. }
  917. req = c.newRequest(op, input, output)
  918. output = &DeleteRolePolicyOutput{}
  919. req.Data = output
  920. return
  921. }
  922. // Deletes the specified inline policy that is embedded in the specified role.
  923. //
  924. // A role can also have managed policies attached to it. To detach a managed
  925. // policy from a role, use DetachRolePolicy. For more information about policies,
  926. // refer to Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  927. // in the Using IAM guide.
  928. func (c *IAM) DeleteRolePolicy(input *DeleteRolePolicyInput) (*DeleteRolePolicyOutput, error) {
  929. req, out := c.DeleteRolePolicyRequest(input)
  930. err := req.Send()
  931. return out, err
  932. }
  933. const opDeleteSAMLProvider = "DeleteSAMLProvider"
  934. // DeleteSAMLProviderRequest generates a request for the DeleteSAMLProvider operation.
  935. func (c *IAM) DeleteSAMLProviderRequest(input *DeleteSAMLProviderInput) (req *request.Request, output *DeleteSAMLProviderOutput) {
  936. op := &request.Operation{
  937. Name: opDeleteSAMLProvider,
  938. HTTPMethod: "POST",
  939. HTTPPath: "/",
  940. }
  941. if input == nil {
  942. input = &DeleteSAMLProviderInput{}
  943. }
  944. req = c.newRequest(op, input, output)
  945. output = &DeleteSAMLProviderOutput{}
  946. req.Data = output
  947. return
  948. }
  949. // Deletes a SAML provider.
  950. //
  951. // Deleting the provider does not update any roles that reference the SAML
  952. // provider as a principal in their trust policies. Any attempt to assume a
  953. // role that references a SAML provider that has been deleted will fail.
  954. //
  955. // This operation requires Signature Version 4 (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
  956. func (c *IAM) DeleteSAMLProvider(input *DeleteSAMLProviderInput) (*DeleteSAMLProviderOutput, error) {
  957. req, out := c.DeleteSAMLProviderRequest(input)
  958. err := req.Send()
  959. return out, err
  960. }
  961. const opDeleteSSHPublicKey = "DeleteSSHPublicKey"
  962. // DeleteSSHPublicKeyRequest generates a request for the DeleteSSHPublicKey operation.
  963. func (c *IAM) DeleteSSHPublicKeyRequest(input *DeleteSSHPublicKeyInput) (req *request.Request, output *DeleteSSHPublicKeyOutput) {
  964. op := &request.Operation{
  965. Name: opDeleteSSHPublicKey,
  966. HTTPMethod: "POST",
  967. HTTPPath: "/",
  968. }
  969. if input == nil {
  970. input = &DeleteSSHPublicKeyInput{}
  971. }
  972. req = c.newRequest(op, input, output)
  973. output = &DeleteSSHPublicKeyOutput{}
  974. req.Data = output
  975. return
  976. }
  977. // Deletes the specified SSH public key.
  978. //
  979. // The SSH public key deleted by this action is used only for authenticating
  980. // the associated IAM user to an AWS CodeCommit repository. For more information
  981. // about using SSH keys to authenticate to an AWS CodeCommit repository, see
  982. // Set up AWS CodeCommit for SSH Connections (http://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-credentials-ssh.html)
  983. // in the AWS CodeCommit User Guide.
  984. func (c *IAM) DeleteSSHPublicKey(input *DeleteSSHPublicKeyInput) (*DeleteSSHPublicKeyOutput, error) {
  985. req, out := c.DeleteSSHPublicKeyRequest(input)
  986. err := req.Send()
  987. return out, err
  988. }
  989. const opDeleteServerCertificate = "DeleteServerCertificate"
  990. // DeleteServerCertificateRequest generates a request for the DeleteServerCertificate operation.
  991. func (c *IAM) DeleteServerCertificateRequest(input *DeleteServerCertificateInput) (req *request.Request, output *DeleteServerCertificateOutput) {
  992. op := &request.Operation{
  993. Name: opDeleteServerCertificate,
  994. HTTPMethod: "POST",
  995. HTTPPath: "/",
  996. }
  997. if input == nil {
  998. input = &DeleteServerCertificateInput{}
  999. }
  1000. req = c.newRequest(op, input, output)
  1001. output = &DeleteServerCertificateOutput{}
  1002. req.Data = output
  1003. return
  1004. }
  1005. // Deletes the specified server certificate.
  1006. //
  1007. // If you are using a server certificate with Elastic Load Balancing, deleting
  1008. // the certificate could have implications for your application. If Elastic
  1009. // Load Balancing doesn't detect the deletion of bound certificates, it may
  1010. // continue to use the certificates. This could cause Elastic Load Balancing
  1011. // to stop accepting traffic. We recommend that you remove the reference to
  1012. // the certificate from Elastic Load Balancing before using this command to
  1013. // delete the certificate. For more information, go to DeleteLoadBalancerListeners
  1014. // (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/APIReference/API_DeleteLoadBalancerListeners.html)
  1015. // in the Elastic Load Balancing API Reference.
  1016. func (c *IAM) DeleteServerCertificate(input *DeleteServerCertificateInput) (*DeleteServerCertificateOutput, error) {
  1017. req, out := c.DeleteServerCertificateRequest(input)
  1018. err := req.Send()
  1019. return out, err
  1020. }
  1021. const opDeleteSigningCertificate = "DeleteSigningCertificate"
  1022. // DeleteSigningCertificateRequest generates a request for the DeleteSigningCertificate operation.
  1023. func (c *IAM) DeleteSigningCertificateRequest(input *DeleteSigningCertificateInput) (req *request.Request, output *DeleteSigningCertificateOutput) {
  1024. op := &request.Operation{
  1025. Name: opDeleteSigningCertificate,
  1026. HTTPMethod: "POST",
  1027. HTTPPath: "/",
  1028. }
  1029. if input == nil {
  1030. input = &DeleteSigningCertificateInput{}
  1031. }
  1032. req = c.newRequest(op, input, output)
  1033. output = &DeleteSigningCertificateOutput{}
  1034. req.Data = output
  1035. return
  1036. }
  1037. // Deletes the specified signing certificate associated with the specified user.
  1038. //
  1039. // If you do not specify a user name, IAM determines the user name implicitly
  1040. // based on the AWS access key ID signing the request. Because this action works
  1041. // for access keys under the AWS account, you can use this action to manage
  1042. // root credentials even if the AWS account has no associated users.
  1043. func (c *IAM) DeleteSigningCertificate(input *DeleteSigningCertificateInput) (*DeleteSigningCertificateOutput, error) {
  1044. req, out := c.DeleteSigningCertificateRequest(input)
  1045. err := req.Send()
  1046. return out, err
  1047. }
  1048. const opDeleteUser = "DeleteUser"
  1049. // DeleteUserRequest generates a request for the DeleteUser operation.
  1050. func (c *IAM) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) {
  1051. op := &request.Operation{
  1052. Name: opDeleteUser,
  1053. HTTPMethod: "POST",
  1054. HTTPPath: "/",
  1055. }
  1056. if input == nil {
  1057. input = &DeleteUserInput{}
  1058. }
  1059. req = c.newRequest(op, input, output)
  1060. output = &DeleteUserOutput{}
  1061. req.Data = output
  1062. return
  1063. }
  1064. // Deletes the specified user. The user must not belong to any groups, have
  1065. // any keys or signing certificates, or have any attached policies.
  1066. func (c *IAM) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) {
  1067. req, out := c.DeleteUserRequest(input)
  1068. err := req.Send()
  1069. return out, err
  1070. }
  1071. const opDeleteUserPolicy = "DeleteUserPolicy"
  1072. // DeleteUserPolicyRequest generates a request for the DeleteUserPolicy operation.
  1073. func (c *IAM) DeleteUserPolicyRequest(input *DeleteUserPolicyInput) (req *request.Request, output *DeleteUserPolicyOutput) {
  1074. op := &request.Operation{
  1075. Name: opDeleteUserPolicy,
  1076. HTTPMethod: "POST",
  1077. HTTPPath: "/",
  1078. }
  1079. if input == nil {
  1080. input = &DeleteUserPolicyInput{}
  1081. }
  1082. req = c.newRequest(op, input, output)
  1083. output = &DeleteUserPolicyOutput{}
  1084. req.Data = output
  1085. return
  1086. }
  1087. // Deletes the specified inline policy that is embedded in the specified user.
  1088. //
  1089. // A user can also have managed policies attached to it. To detach a managed
  1090. // policy from a user, use DetachUserPolicy. For more information about policies,
  1091. // refer to Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  1092. // in the Using IAM guide.
  1093. func (c *IAM) DeleteUserPolicy(input *DeleteUserPolicyInput) (*DeleteUserPolicyOutput, error) {
  1094. req, out := c.DeleteUserPolicyRequest(input)
  1095. err := req.Send()
  1096. return out, err
  1097. }
  1098. const opDeleteVirtualMFADevice = "DeleteVirtualMFADevice"
  1099. // DeleteVirtualMFADeviceRequest generates a request for the DeleteVirtualMFADevice operation.
  1100. func (c *IAM) DeleteVirtualMFADeviceRequest(input *DeleteVirtualMFADeviceInput) (req *request.Request, output *DeleteVirtualMFADeviceOutput) {
  1101. op := &request.Operation{
  1102. Name: opDeleteVirtualMFADevice,
  1103. HTTPMethod: "POST",
  1104. HTTPPath: "/",
  1105. }
  1106. if input == nil {
  1107. input = &DeleteVirtualMFADeviceInput{}
  1108. }
  1109. req = c.newRequest(op, input, output)
  1110. output = &DeleteVirtualMFADeviceOutput{}
  1111. req.Data = output
  1112. return
  1113. }
  1114. // Deletes a virtual MFA device.
  1115. //
  1116. // You must deactivate a user's virtual MFA device before you can delete it.
  1117. // For information about deactivating MFA devices, see DeactivateMFADevice.
  1118. func (c *IAM) DeleteVirtualMFADevice(input *DeleteVirtualMFADeviceInput) (*DeleteVirtualMFADeviceOutput, error) {
  1119. req, out := c.DeleteVirtualMFADeviceRequest(input)
  1120. err := req.Send()
  1121. return out, err
  1122. }
  1123. const opDetachGroupPolicy = "DetachGroupPolicy"
  1124. // DetachGroupPolicyRequest generates a request for the DetachGroupPolicy operation.
  1125. func (c *IAM) DetachGroupPolicyRequest(input *DetachGroupPolicyInput) (req *request.Request, output *DetachGroupPolicyOutput) {
  1126. op := &request.Operation{
  1127. Name: opDetachGroupPolicy,
  1128. HTTPMethod: "POST",
  1129. HTTPPath: "/",
  1130. }
  1131. if input == nil {
  1132. input = &DetachGroupPolicyInput{}
  1133. }
  1134. req = c.newRequest(op, input, output)
  1135. output = &DetachGroupPolicyOutput{}
  1136. req.Data = output
  1137. return
  1138. }
  1139. // Removes the specified managed policy from the specified group.
  1140. //
  1141. // A group can also have inline policies embedded with it. To delete an inline
  1142. // policy, use the DeleteGroupPolicy API. For information about policies, refer
  1143. // to Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  1144. // in the Using IAM guide.
  1145. func (c *IAM) DetachGroupPolicy(input *DetachGroupPolicyInput) (*DetachGroupPolicyOutput, error) {
  1146. req, out := c.DetachGroupPolicyRequest(input)
  1147. err := req.Send()
  1148. return out, err
  1149. }
  1150. const opDetachRolePolicy = "DetachRolePolicy"
  1151. // DetachRolePolicyRequest generates a request for the DetachRolePolicy operation.
  1152. func (c *IAM) DetachRolePolicyRequest(input *DetachRolePolicyInput) (req *request.Request, output *DetachRolePolicyOutput) {
  1153. op := &request.Operation{
  1154. Name: opDetachRolePolicy,
  1155. HTTPMethod: "POST",
  1156. HTTPPath: "/",
  1157. }
  1158. if input == nil {
  1159. input = &DetachRolePolicyInput{}
  1160. }
  1161. req = c.newRequest(op, input, output)
  1162. output = &DetachRolePolicyOutput{}
  1163. req.Data = output
  1164. return
  1165. }
  1166. // Removes the specified managed policy from the specified role.
  1167. //
  1168. // A role can also have inline policies embedded with it. To delete an inline
  1169. // policy, use the DeleteRolePolicy API. For information about policies, refer
  1170. // to Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  1171. // in the Using IAM guide.
  1172. func (c *IAM) DetachRolePolicy(input *DetachRolePolicyInput) (*DetachRolePolicyOutput, error) {
  1173. req, out := c.DetachRolePolicyRequest(input)
  1174. err := req.Send()
  1175. return out, err
  1176. }
  1177. const opDetachUserPolicy = "DetachUserPolicy"
  1178. // DetachUserPolicyRequest generates a request for the DetachUserPolicy operation.
  1179. func (c *IAM) DetachUserPolicyRequest(input *DetachUserPolicyInput) (req *request.Request, output *DetachUserPolicyOutput) {
  1180. op := &request.Operation{
  1181. Name: opDetachUserPolicy,
  1182. HTTPMethod: "POST",
  1183. HTTPPath: "/",
  1184. }
  1185. if input == nil {
  1186. input = &DetachUserPolicyInput{}
  1187. }
  1188. req = c.newRequest(op, input, output)
  1189. output = &DetachUserPolicyOutput{}
  1190. req.Data = output
  1191. return
  1192. }
  1193. // Removes the specified managed policy from the specified user.
  1194. //
  1195. // A user can also have inline policies embedded with it. To delete an inline
  1196. // policy, use the DeleteUserPolicy API. For information about policies, refer
  1197. // to Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  1198. // in the Using IAM guide.
  1199. func (c *IAM) DetachUserPolicy(input *DetachUserPolicyInput) (*DetachUserPolicyOutput, error) {
  1200. req, out := c.DetachUserPolicyRequest(input)
  1201. err := req.Send()
  1202. return out, err
  1203. }
  1204. const opEnableMFADevice = "EnableMFADevice"
  1205. // EnableMFADeviceRequest generates a request for the EnableMFADevice operation.
  1206. func (c *IAM) EnableMFADeviceRequest(input *EnableMFADeviceInput) (req *request.Request, output *EnableMFADeviceOutput) {
  1207. op := &request.Operation{
  1208. Name: opEnableMFADevice,
  1209. HTTPMethod: "POST",
  1210. HTTPPath: "/",
  1211. }
  1212. if input == nil {
  1213. input = &EnableMFADeviceInput{}
  1214. }
  1215. req = c.newRequest(op, input, output)
  1216. output = &EnableMFADeviceOutput{}
  1217. req.Data = output
  1218. return
  1219. }
  1220. // Enables the specified MFA device and associates it with the specified user
  1221. // name. When enabled, the MFA device is required for every subsequent login
  1222. // by the user name associated with the device.
  1223. func (c *IAM) EnableMFADevice(input *EnableMFADeviceInput) (*EnableMFADeviceOutput, error) {
  1224. req, out := c.EnableMFADeviceRequest(input)
  1225. err := req.Send()
  1226. return out, err
  1227. }
  1228. const opGenerateCredentialReport = "GenerateCredentialReport"
  1229. // GenerateCredentialReportRequest generates a request for the GenerateCredentialReport operation.
  1230. func (c *IAM) GenerateCredentialReportRequest(input *GenerateCredentialReportInput) (req *request.Request, output *GenerateCredentialReportOutput) {
  1231. op := &request.Operation{
  1232. Name: opGenerateCredentialReport,
  1233. HTTPMethod: "POST",
  1234. HTTPPath: "/",
  1235. }
  1236. if input == nil {
  1237. input = &GenerateCredentialReportInput{}
  1238. }
  1239. req = c.newRequest(op, input, output)
  1240. output = &GenerateCredentialReportOutput{}
  1241. req.Data = output
  1242. return
  1243. }
  1244. // Generates a credential report for the AWS account. For more information about
  1245. // the credential report, see Getting Credential Reports (http://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html)
  1246. // in the Using IAM guide.
  1247. func (c *IAM) GenerateCredentialReport(input *GenerateCredentialReportInput) (*GenerateCredentialReportOutput, error) {
  1248. req, out := c.GenerateCredentialReportRequest(input)
  1249. err := req.Send()
  1250. return out, err
  1251. }
  1252. const opGetAccessKeyLastUsed = "GetAccessKeyLastUsed"
  1253. // GetAccessKeyLastUsedRequest generates a request for the GetAccessKeyLastUsed operation.
  1254. func (c *IAM) GetAccessKeyLastUsedRequest(input *GetAccessKeyLastUsedInput) (req *request.Request, output *GetAccessKeyLastUsedOutput) {
  1255. op := &request.Operation{
  1256. Name: opGetAccessKeyLastUsed,
  1257. HTTPMethod: "POST",
  1258. HTTPPath: "/",
  1259. }
  1260. if input == nil {
  1261. input = &GetAccessKeyLastUsedInput{}
  1262. }
  1263. req = c.newRequest(op, input, output)
  1264. output = &GetAccessKeyLastUsedOutput{}
  1265. req.Data = output
  1266. return
  1267. }
  1268. // Retrieves information about when the specified access key was last used.
  1269. // The information includes the date and time of last use, along with the AWS
  1270. // service and region that were specified in the last request made with that
  1271. // key.
  1272. func (c *IAM) GetAccessKeyLastUsed(input *GetAccessKeyLastUsedInput) (*GetAccessKeyLastUsedOutput, error) {
  1273. req, out := c.GetAccessKeyLastUsedRequest(input)
  1274. err := req.Send()
  1275. return out, err
  1276. }
  1277. const opGetAccountAuthorizationDetails = "GetAccountAuthorizationDetails"
  1278. // GetAccountAuthorizationDetailsRequest generates a request for the GetAccountAuthorizationDetails operation.
  1279. func (c *IAM) GetAccountAuthorizationDetailsRequest(input *GetAccountAuthorizationDetailsInput) (req *request.Request, output *GetAccountAuthorizationDetailsOutput) {
  1280. op := &request.Operation{
  1281. Name: opGetAccountAuthorizationDetails,
  1282. HTTPMethod: "POST",
  1283. HTTPPath: "/",
  1284. Paginator: &request.Paginator{
  1285. InputTokens: []string{"Marker"},
  1286. OutputTokens: []string{"Marker"},
  1287. LimitToken: "MaxItems",
  1288. TruncationToken: "IsTruncated",
  1289. },
  1290. }
  1291. if input == nil {
  1292. input = &GetAccountAuthorizationDetailsInput{}
  1293. }
  1294. req = c.newRequest(op, input, output)
  1295. output = &GetAccountAuthorizationDetailsOutput{}
  1296. req.Data = output
  1297. return
  1298. }
  1299. // Retrieves information about all IAM users, groups, roles, and policies in
  1300. // your account, including their relationships to one another. Use this API
  1301. // to obtain a snapshot of the configuration of IAM permissions (users, groups,
  1302. // roles, and policies) in your account.
  1303. //
  1304. // You can optionally filter the results using the Filter parameter. You can
  1305. // paginate the results using the MaxItems and Marker parameters.
  1306. func (c *IAM) GetAccountAuthorizationDetails(input *GetAccountAuthorizationDetailsInput) (*GetAccountAuthorizationDetailsOutput, error) {
  1307. req, out := c.GetAccountAuthorizationDetailsRequest(input)
  1308. err := req.Send()
  1309. return out, err
  1310. }
  1311. func (c *IAM) GetAccountAuthorizationDetailsPages(input *GetAccountAuthorizationDetailsInput, fn func(p *GetAccountAuthorizationDetailsOutput, lastPage bool) (shouldContinue bool)) error {
  1312. page, _ := c.GetAccountAuthorizationDetailsRequest(input)
  1313. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1314. return fn(p.(*GetAccountAuthorizationDetailsOutput), lastPage)
  1315. })
  1316. }
  1317. const opGetAccountPasswordPolicy = "GetAccountPasswordPolicy"
  1318. // GetAccountPasswordPolicyRequest generates a request for the GetAccountPasswordPolicy operation.
  1319. func (c *IAM) GetAccountPasswordPolicyRequest(input *GetAccountPasswordPolicyInput) (req *request.Request, output *GetAccountPasswordPolicyOutput) {
  1320. op := &request.Operation{
  1321. Name: opGetAccountPasswordPolicy,
  1322. HTTPMethod: "POST",
  1323. HTTPPath: "/",
  1324. }
  1325. if input == nil {
  1326. input = &GetAccountPasswordPolicyInput{}
  1327. }
  1328. req = c.newRequest(op, input, output)
  1329. output = &GetAccountPasswordPolicyOutput{}
  1330. req.Data = output
  1331. return
  1332. }
  1333. // Retrieves the password policy for the AWS account. For more information about
  1334. // using a password policy, go to Managing an IAM Password Policy (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingPasswordPolicies.html).
  1335. func (c *IAM) GetAccountPasswordPolicy(input *GetAccountPasswordPolicyInput) (*GetAccountPasswordPolicyOutput, error) {
  1336. req, out := c.GetAccountPasswordPolicyRequest(input)
  1337. err := req.Send()
  1338. return out, err
  1339. }
  1340. const opGetAccountSummary = "GetAccountSummary"
  1341. // GetAccountSummaryRequest generates a request for the GetAccountSummary operation.
  1342. func (c *IAM) GetAccountSummaryRequest(input *GetAccountSummaryInput) (req *request.Request, output *GetAccountSummaryOutput) {
  1343. op := &request.Operation{
  1344. Name: opGetAccountSummary,
  1345. HTTPMethod: "POST",
  1346. HTTPPath: "/",
  1347. }
  1348. if input == nil {
  1349. input = &GetAccountSummaryInput{}
  1350. }
  1351. req = c.newRequest(op, input, output)
  1352. output = &GetAccountSummaryOutput{}
  1353. req.Data = output
  1354. return
  1355. }
  1356. // Retrieves information about IAM entity usage and IAM quotas in the AWS account.
  1357. //
  1358. // For information about limitations on IAM entities, see Limitations on IAM
  1359. // Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
  1360. // in the Using IAM guide.
  1361. func (c *IAM) GetAccountSummary(input *GetAccountSummaryInput) (*GetAccountSummaryOutput, error) {
  1362. req, out := c.GetAccountSummaryRequest(input)
  1363. err := req.Send()
  1364. return out, err
  1365. }
  1366. const opGetCredentialReport = "GetCredentialReport"
  1367. // GetCredentialReportRequest generates a request for the GetCredentialReport operation.
  1368. func (c *IAM) GetCredentialReportRequest(input *GetCredentialReportInput) (req *request.Request, output *GetCredentialReportOutput) {
  1369. op := &request.Operation{
  1370. Name: opGetCredentialReport,
  1371. HTTPMethod: "POST",
  1372. HTTPPath: "/",
  1373. }
  1374. if input == nil {
  1375. input = &GetCredentialReportInput{}
  1376. }
  1377. req = c.newRequest(op, input, output)
  1378. output = &GetCredentialReportOutput{}
  1379. req.Data = output
  1380. return
  1381. }
  1382. // Retrieves a credential report for the AWS account. For more information about
  1383. // the credential report, see Getting Credential Reports (http://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html)
  1384. // in the Using IAM guide.
  1385. func (c *IAM) GetCredentialReport(input *GetCredentialReportInput) (*GetCredentialReportOutput, error) {
  1386. req, out := c.GetCredentialReportRequest(input)
  1387. err := req.Send()
  1388. return out, err
  1389. }
  1390. const opGetGroup = "GetGroup"
  1391. // GetGroupRequest generates a request for the GetGroup operation.
  1392. func (c *IAM) GetGroupRequest(input *GetGroupInput) (req *request.Request, output *GetGroupOutput) {
  1393. op := &request.Operation{
  1394. Name: opGetGroup,
  1395. HTTPMethod: "POST",
  1396. HTTPPath: "/",
  1397. Paginator: &request.Paginator{
  1398. InputTokens: []string{"Marker"},
  1399. OutputTokens: []string{"Marker"},
  1400. LimitToken: "MaxItems",
  1401. TruncationToken: "IsTruncated",
  1402. },
  1403. }
  1404. if input == nil {
  1405. input = &GetGroupInput{}
  1406. }
  1407. req = c.newRequest(op, input, output)
  1408. output = &GetGroupOutput{}
  1409. req.Data = output
  1410. return
  1411. }
  1412. // Returns a list of users that are in the specified group. You can paginate
  1413. // the results using the MaxItems and Marker parameters.
  1414. func (c *IAM) GetGroup(input *GetGroupInput) (*GetGroupOutput, error) {
  1415. req, out := c.GetGroupRequest(input)
  1416. err := req.Send()
  1417. return out, err
  1418. }
  1419. func (c *IAM) GetGroupPages(input *GetGroupInput, fn func(p *GetGroupOutput, lastPage bool) (shouldContinue bool)) error {
  1420. page, _ := c.GetGroupRequest(input)
  1421. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1422. return fn(p.(*GetGroupOutput), lastPage)
  1423. })
  1424. }
  1425. const opGetGroupPolicy = "GetGroupPolicy"
  1426. // GetGroupPolicyRequest generates a request for the GetGroupPolicy operation.
  1427. func (c *IAM) GetGroupPolicyRequest(input *GetGroupPolicyInput) (req *request.Request, output *GetGroupPolicyOutput) {
  1428. op := &request.Operation{
  1429. Name: opGetGroupPolicy,
  1430. HTTPMethod: "POST",
  1431. HTTPPath: "/",
  1432. }
  1433. if input == nil {
  1434. input = &GetGroupPolicyInput{}
  1435. }
  1436. req = c.newRequest(op, input, output)
  1437. output = &GetGroupPolicyOutput{}
  1438. req.Data = output
  1439. return
  1440. }
  1441. // Retrieves the specified inline policy document that is embedded in the specified
  1442. // group.
  1443. //
  1444. // A group can also have managed policies attached to it. To retrieve a managed
  1445. // policy document that is attached to a group, use GetPolicy to determine the
  1446. // policy's default version, then use GetPolicyVersion to retrieve the policy
  1447. // document.
  1448. //
  1449. // For more information about policies, refer to Managed Policies and Inline
  1450. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  1451. // in the Using IAM guide.
  1452. func (c *IAM) GetGroupPolicy(input *GetGroupPolicyInput) (*GetGroupPolicyOutput, error) {
  1453. req, out := c.GetGroupPolicyRequest(input)
  1454. err := req.Send()
  1455. return out, err
  1456. }
  1457. const opGetInstanceProfile = "GetInstanceProfile"
  1458. // GetInstanceProfileRequest generates a request for the GetInstanceProfile operation.
  1459. func (c *IAM) GetInstanceProfileRequest(input *GetInstanceProfileInput) (req *request.Request, output *GetInstanceProfileOutput) {
  1460. op := &request.Operation{
  1461. Name: opGetInstanceProfile,
  1462. HTTPMethod: "POST",
  1463. HTTPPath: "/",
  1464. }
  1465. if input == nil {
  1466. input = &GetInstanceProfileInput{}
  1467. }
  1468. req = c.newRequest(op, input, output)
  1469. output = &GetInstanceProfileOutput{}
  1470. req.Data = output
  1471. return
  1472. }
  1473. // Retrieves information about the specified instance profile, including the
  1474. // instance profile's path, GUID, ARN, and role. For more information about
  1475. // instance profiles, go to About Instance Profiles (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html).
  1476. // For more information about ARNs, go to ARNs (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html#Identifiers_ARNs).
  1477. func (c *IAM) GetInstanceProfile(input *GetInstanceProfileInput) (*GetInstanceProfileOutput, error) {
  1478. req, out := c.GetInstanceProfileRequest(input)
  1479. err := req.Send()
  1480. return out, err
  1481. }
  1482. const opGetLoginProfile = "GetLoginProfile"
  1483. // GetLoginProfileRequest generates a request for the GetLoginProfile operation.
  1484. func (c *IAM) GetLoginProfileRequest(input *GetLoginProfileInput) (req *request.Request, output *GetLoginProfileOutput) {
  1485. op := &request.Operation{
  1486. Name: opGetLoginProfile,
  1487. HTTPMethod: "POST",
  1488. HTTPPath: "/",
  1489. }
  1490. if input == nil {
  1491. input = &GetLoginProfileInput{}
  1492. }
  1493. req = c.newRequest(op, input, output)
  1494. output = &GetLoginProfileOutput{}
  1495. req.Data = output
  1496. return
  1497. }
  1498. // Retrieves the user name and password-creation date for the specified user.
  1499. // If the user has not been assigned a password, the action returns a 404 (NoSuchEntity)
  1500. // error.
  1501. func (c *IAM) GetLoginProfile(input *GetLoginProfileInput) (*GetLoginProfileOutput, error) {
  1502. req, out := c.GetLoginProfileRequest(input)
  1503. err := req.Send()
  1504. return out, err
  1505. }
  1506. const opGetOpenIDConnectProvider = "GetOpenIDConnectProvider"
  1507. // GetOpenIDConnectProviderRequest generates a request for the GetOpenIDConnectProvider operation.
  1508. func (c *IAM) GetOpenIDConnectProviderRequest(input *GetOpenIDConnectProviderInput) (req *request.Request, output *GetOpenIDConnectProviderOutput) {
  1509. op := &request.Operation{
  1510. Name: opGetOpenIDConnectProvider,
  1511. HTTPMethod: "POST",
  1512. HTTPPath: "/",
  1513. }
  1514. if input == nil {
  1515. input = &GetOpenIDConnectProviderInput{}
  1516. }
  1517. req = c.newRequest(op, input, output)
  1518. output = &GetOpenIDConnectProviderOutput{}
  1519. req.Data = output
  1520. return
  1521. }
  1522. // Returns information about the specified OpenID Connect provider.
  1523. func (c *IAM) GetOpenIDConnectProvider(input *GetOpenIDConnectProviderInput) (*GetOpenIDConnectProviderOutput, error) {
  1524. req, out := c.GetOpenIDConnectProviderRequest(input)
  1525. err := req.Send()
  1526. return out, err
  1527. }
  1528. const opGetPolicy = "GetPolicy"
  1529. // GetPolicyRequest generates a request for the GetPolicy operation.
  1530. func (c *IAM) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, output *GetPolicyOutput) {
  1531. op := &request.Operation{
  1532. Name: opGetPolicy,
  1533. HTTPMethod: "POST",
  1534. HTTPPath: "/",
  1535. }
  1536. if input == nil {
  1537. input = &GetPolicyInput{}
  1538. }
  1539. req = c.newRequest(op, input, output)
  1540. output = &GetPolicyOutput{}
  1541. req.Data = output
  1542. return
  1543. }
  1544. // Retrieves information about the specified managed policy, including the policy's
  1545. // default version and the total number of users, groups, and roles that the
  1546. // policy is attached to. For a list of the specific users, groups, and roles
  1547. // that the policy is attached to, use the ListEntitiesForPolicy API. This API
  1548. // returns metadata about the policy. To retrieve the policy document for a
  1549. // specific version of the policy, use GetPolicyVersion.
  1550. //
  1551. // This API retrieves information about managed policies. To retrieve information
  1552. // about an inline policy that is embedded with a user, group, or role, use
  1553. // the GetUserPolicy, GetGroupPolicy, or GetRolePolicy API.
  1554. //
  1555. // For more information about policies, refer to Managed Policies and Inline
  1556. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  1557. // in the Using IAM guide.
  1558. func (c *IAM) GetPolicy(input *GetPolicyInput) (*GetPolicyOutput, error) {
  1559. req, out := c.GetPolicyRequest(input)
  1560. err := req.Send()
  1561. return out, err
  1562. }
  1563. const opGetPolicyVersion = "GetPolicyVersion"
  1564. // GetPolicyVersionRequest generates a request for the GetPolicyVersion operation.
  1565. func (c *IAM) GetPolicyVersionRequest(input *GetPolicyVersionInput) (req *request.Request, output *GetPolicyVersionOutput) {
  1566. op := &request.Operation{
  1567. Name: opGetPolicyVersion,
  1568. HTTPMethod: "POST",
  1569. HTTPPath: "/",
  1570. }
  1571. if input == nil {
  1572. input = &GetPolicyVersionInput{}
  1573. }
  1574. req = c.newRequest(op, input, output)
  1575. output = &GetPolicyVersionOutput{}
  1576. req.Data = output
  1577. return
  1578. }
  1579. // Retrieves information about the specified version of the specified managed
  1580. // policy, including the policy document.
  1581. //
  1582. // To list the available versions for a policy, use ListPolicyVersions.
  1583. //
  1584. // This API retrieves information about managed policies. To retrieve information
  1585. // about an inline policy that is embedded in a user, group, or role, use the
  1586. // GetUserPolicy, GetGroupPolicy, or GetRolePolicy API.
  1587. //
  1588. // For more information about the types of policies, refer to Managed Policies
  1589. // and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  1590. // in the Using IAM guide.
  1591. func (c *IAM) GetPolicyVersion(input *GetPolicyVersionInput) (*GetPolicyVersionOutput, error) {
  1592. req, out := c.GetPolicyVersionRequest(input)
  1593. err := req.Send()
  1594. return out, err
  1595. }
  1596. const opGetRole = "GetRole"
  1597. // GetRoleRequest generates a request for the GetRole operation.
  1598. func (c *IAM) GetRoleRequest(input *GetRoleInput) (req *request.Request, output *GetRoleOutput) {
  1599. op := &request.Operation{
  1600. Name: opGetRole,
  1601. HTTPMethod: "POST",
  1602. HTTPPath: "/",
  1603. }
  1604. if input == nil {
  1605. input = &GetRoleInput{}
  1606. }
  1607. req = c.newRequest(op, input, output)
  1608. output = &GetRoleOutput{}
  1609. req.Data = output
  1610. return
  1611. }
  1612. // Retrieves information about the specified role, including the role's path,
  1613. // GUID, ARN, and the policy granting permission to assume the role. For more
  1614. // information about ARNs, go to ARNs (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html#Identifiers_ARNs).
  1615. // For more information about roles, go to Working with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html).
  1616. func (c *IAM) GetRole(input *GetRoleInput) (*GetRoleOutput, error) {
  1617. req, out := c.GetRoleRequest(input)
  1618. err := req.Send()
  1619. return out, err
  1620. }
  1621. const opGetRolePolicy = "GetRolePolicy"
  1622. // GetRolePolicyRequest generates a request for the GetRolePolicy operation.
  1623. func (c *IAM) GetRolePolicyRequest(input *GetRolePolicyInput) (req *request.Request, output *GetRolePolicyOutput) {
  1624. op := &request.Operation{
  1625. Name: opGetRolePolicy,
  1626. HTTPMethod: "POST",
  1627. HTTPPath: "/",
  1628. }
  1629. if input == nil {
  1630. input = &GetRolePolicyInput{}
  1631. }
  1632. req = c.newRequest(op, input, output)
  1633. output = &GetRolePolicyOutput{}
  1634. req.Data = output
  1635. return
  1636. }
  1637. // Retrieves the specified inline policy document that is embedded with the
  1638. // specified role.
  1639. //
  1640. // A role can also have managed policies attached to it. To retrieve a managed
  1641. // policy document that is attached to a role, use GetPolicy to determine the
  1642. // policy's default version, then use GetPolicyVersion to retrieve the policy
  1643. // document.
  1644. //
  1645. // For more information about policies, refer to Managed Policies and Inline
  1646. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  1647. // in the Using IAM guide.
  1648. //
  1649. // For more information about roles, go to Using Roles to Delegate Permissions
  1650. // and Federate Identities (http://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html).
  1651. func (c *IAM) GetRolePolicy(input *GetRolePolicyInput) (*GetRolePolicyOutput, error) {
  1652. req, out := c.GetRolePolicyRequest(input)
  1653. err := req.Send()
  1654. return out, err
  1655. }
  1656. const opGetSAMLProvider = "GetSAMLProvider"
  1657. // GetSAMLProviderRequest generates a request for the GetSAMLProvider operation.
  1658. func (c *IAM) GetSAMLProviderRequest(input *GetSAMLProviderInput) (req *request.Request, output *GetSAMLProviderOutput) {
  1659. op := &request.Operation{
  1660. Name: opGetSAMLProvider,
  1661. HTTPMethod: "POST",
  1662. HTTPPath: "/",
  1663. }
  1664. if input == nil {
  1665. input = &GetSAMLProviderInput{}
  1666. }
  1667. req = c.newRequest(op, input, output)
  1668. output = &GetSAMLProviderOutput{}
  1669. req.Data = output
  1670. return
  1671. }
  1672. // Returns the SAML provider metadocument that was uploaded when the provider
  1673. // was created or updated.
  1674. //
  1675. // This operation requires Signature Version 4 (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
  1676. func (c *IAM) GetSAMLProvider(input *GetSAMLProviderInput) (*GetSAMLProviderOutput, error) {
  1677. req, out := c.GetSAMLProviderRequest(input)
  1678. err := req.Send()
  1679. return out, err
  1680. }
  1681. const opGetSSHPublicKey = "GetSSHPublicKey"
  1682. // GetSSHPublicKeyRequest generates a request for the GetSSHPublicKey operation.
  1683. func (c *IAM) GetSSHPublicKeyRequest(input *GetSSHPublicKeyInput) (req *request.Request, output *GetSSHPublicKeyOutput) {
  1684. op := &request.Operation{
  1685. Name: opGetSSHPublicKey,
  1686. HTTPMethod: "POST",
  1687. HTTPPath: "/",
  1688. }
  1689. if input == nil {
  1690. input = &GetSSHPublicKeyInput{}
  1691. }
  1692. req = c.newRequest(op, input, output)
  1693. output = &GetSSHPublicKeyOutput{}
  1694. req.Data = output
  1695. return
  1696. }
  1697. // Retrieves the specified SSH public key, including metadata about the key.
  1698. //
  1699. // The SSH public key retrieved by this action is used only for authenticating
  1700. // the associated IAM user to an AWS CodeCommit repository. For more information
  1701. // about using SSH keys to authenticate to an AWS CodeCommit repository, see
  1702. // Set up AWS CodeCommit for SSH Connections (http://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-credentials-ssh.html)
  1703. // in the AWS CodeCommit User Guide.
  1704. func (c *IAM) GetSSHPublicKey(input *GetSSHPublicKeyInput) (*GetSSHPublicKeyOutput, error) {
  1705. req, out := c.GetSSHPublicKeyRequest(input)
  1706. err := req.Send()
  1707. return out, err
  1708. }
  1709. const opGetServerCertificate = "GetServerCertificate"
  1710. // GetServerCertificateRequest generates a request for the GetServerCertificate operation.
  1711. func (c *IAM) GetServerCertificateRequest(input *GetServerCertificateInput) (req *request.Request, output *GetServerCertificateOutput) {
  1712. op := &request.Operation{
  1713. Name: opGetServerCertificate,
  1714. HTTPMethod: "POST",
  1715. HTTPPath: "/",
  1716. }
  1717. if input == nil {
  1718. input = &GetServerCertificateInput{}
  1719. }
  1720. req = c.newRequest(op, input, output)
  1721. output = &GetServerCertificateOutput{}
  1722. req.Data = output
  1723. return
  1724. }
  1725. // Retrieves information about the specified server certificate.
  1726. func (c *IAM) GetServerCertificate(input *GetServerCertificateInput) (*GetServerCertificateOutput, error) {
  1727. req, out := c.GetServerCertificateRequest(input)
  1728. err := req.Send()
  1729. return out, err
  1730. }
  1731. const opGetUser = "GetUser"
  1732. // GetUserRequest generates a request for the GetUser operation.
  1733. func (c *IAM) GetUserRequest(input *GetUserInput) (req *request.Request, output *GetUserOutput) {
  1734. op := &request.Operation{
  1735. Name: opGetUser,
  1736. HTTPMethod: "POST",
  1737. HTTPPath: "/",
  1738. }
  1739. if input == nil {
  1740. input = &GetUserInput{}
  1741. }
  1742. req = c.newRequest(op, input, output)
  1743. output = &GetUserOutput{}
  1744. req.Data = output
  1745. return
  1746. }
  1747. // Retrieves information about the specified user, including the user's creation
  1748. // date, path, unique ID, and ARN.
  1749. //
  1750. // If you do not specify a user name, IAM determines the user name implicitly
  1751. // based on the AWS access key ID used to sign the request.
  1752. func (c *IAM) GetUser(input *GetUserInput) (*GetUserOutput, error) {
  1753. req, out := c.GetUserRequest(input)
  1754. err := req.Send()
  1755. return out, err
  1756. }
  1757. const opGetUserPolicy = "GetUserPolicy"
  1758. // GetUserPolicyRequest generates a request for the GetUserPolicy operation.
  1759. func (c *IAM) GetUserPolicyRequest(input *GetUserPolicyInput) (req *request.Request, output *GetUserPolicyOutput) {
  1760. op := &request.Operation{
  1761. Name: opGetUserPolicy,
  1762. HTTPMethod: "POST",
  1763. HTTPPath: "/",
  1764. }
  1765. if input == nil {
  1766. input = &GetUserPolicyInput{}
  1767. }
  1768. req = c.newRequest(op, input, output)
  1769. output = &GetUserPolicyOutput{}
  1770. req.Data = output
  1771. return
  1772. }
  1773. // Retrieves the specified inline policy document that is embedded in the specified
  1774. // user.
  1775. //
  1776. // A user can also have managed policies attached to it. To retrieve a managed
  1777. // policy document that is attached to a user, use GetPolicy to determine the
  1778. // policy's default version, then use GetPolicyVersion to retrieve the policy
  1779. // document.
  1780. //
  1781. // For more information about policies, refer to Managed Policies and Inline
  1782. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  1783. // in the Using IAM guide.
  1784. func (c *IAM) GetUserPolicy(input *GetUserPolicyInput) (*GetUserPolicyOutput, error) {
  1785. req, out := c.GetUserPolicyRequest(input)
  1786. err := req.Send()
  1787. return out, err
  1788. }
  1789. const opListAccessKeys = "ListAccessKeys"
  1790. // ListAccessKeysRequest generates a request for the ListAccessKeys operation.
  1791. func (c *IAM) ListAccessKeysRequest(input *ListAccessKeysInput) (req *request.Request, output *ListAccessKeysOutput) {
  1792. op := &request.Operation{
  1793. Name: opListAccessKeys,
  1794. HTTPMethod: "POST",
  1795. HTTPPath: "/",
  1796. Paginator: &request.Paginator{
  1797. InputTokens: []string{"Marker"},
  1798. OutputTokens: []string{"Marker"},
  1799. LimitToken: "MaxItems",
  1800. TruncationToken: "IsTruncated",
  1801. },
  1802. }
  1803. if input == nil {
  1804. input = &ListAccessKeysInput{}
  1805. }
  1806. req = c.newRequest(op, input, output)
  1807. output = &ListAccessKeysOutput{}
  1808. req.Data = output
  1809. return
  1810. }
  1811. // Returns information about the access key IDs associated with the specified
  1812. // user. If there are none, the action returns an empty list.
  1813. //
  1814. // Although each user is limited to a small number of keys, you can still paginate
  1815. // the results using the MaxItems and Marker parameters.
  1816. //
  1817. // If the UserName field is not specified, the UserName is determined implicitly
  1818. // based on the AWS access key ID used to sign the request. Because this action
  1819. // works for access keys under the AWS account, you can use this action to manage
  1820. // root credentials even if the AWS account has no associated users.
  1821. //
  1822. // To ensure the security of your AWS account, the secret access key is accessible
  1823. // only during key and user creation.
  1824. func (c *IAM) ListAccessKeys(input *ListAccessKeysInput) (*ListAccessKeysOutput, error) {
  1825. req, out := c.ListAccessKeysRequest(input)
  1826. err := req.Send()
  1827. return out, err
  1828. }
  1829. func (c *IAM) ListAccessKeysPages(input *ListAccessKeysInput, fn func(p *ListAccessKeysOutput, lastPage bool) (shouldContinue bool)) error {
  1830. page, _ := c.ListAccessKeysRequest(input)
  1831. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1832. return fn(p.(*ListAccessKeysOutput), lastPage)
  1833. })
  1834. }
  1835. const opListAccountAliases = "ListAccountAliases"
  1836. // ListAccountAliasesRequest generates a request for the ListAccountAliases operation.
  1837. func (c *IAM) ListAccountAliasesRequest(input *ListAccountAliasesInput) (req *request.Request, output *ListAccountAliasesOutput) {
  1838. op := &request.Operation{
  1839. Name: opListAccountAliases,
  1840. HTTPMethod: "POST",
  1841. HTTPPath: "/",
  1842. Paginator: &request.Paginator{
  1843. InputTokens: []string{"Marker"},
  1844. OutputTokens: []string{"Marker"},
  1845. LimitToken: "MaxItems",
  1846. TruncationToken: "IsTruncated",
  1847. },
  1848. }
  1849. if input == nil {
  1850. input = &ListAccountAliasesInput{}
  1851. }
  1852. req = c.newRequest(op, input, output)
  1853. output = &ListAccountAliasesOutput{}
  1854. req.Data = output
  1855. return
  1856. }
  1857. // Lists the account aliases associated with the account. For information about
  1858. // using an AWS account alias, see Using an Alias for Your AWS Account ID (http://docs.aws.amazon.com/IAM/latest/UserGuide/AccountAlias.html)
  1859. // in the Using IAM guide.
  1860. //
  1861. // You can paginate the results using the MaxItems and Marker parameters.
  1862. func (c *IAM) ListAccountAliases(input *ListAccountAliasesInput) (*ListAccountAliasesOutput, error) {
  1863. req, out := c.ListAccountAliasesRequest(input)
  1864. err := req.Send()
  1865. return out, err
  1866. }
  1867. func (c *IAM) ListAccountAliasesPages(input *ListAccountAliasesInput, fn func(p *ListAccountAliasesOutput, lastPage bool) (shouldContinue bool)) error {
  1868. page, _ := c.ListAccountAliasesRequest(input)
  1869. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1870. return fn(p.(*ListAccountAliasesOutput), lastPage)
  1871. })
  1872. }
  1873. const opListAttachedGroupPolicies = "ListAttachedGroupPolicies"
  1874. // ListAttachedGroupPoliciesRequest generates a request for the ListAttachedGroupPolicies operation.
  1875. func (c *IAM) ListAttachedGroupPoliciesRequest(input *ListAttachedGroupPoliciesInput) (req *request.Request, output *ListAttachedGroupPoliciesOutput) {
  1876. op := &request.Operation{
  1877. Name: opListAttachedGroupPolicies,
  1878. HTTPMethod: "POST",
  1879. HTTPPath: "/",
  1880. Paginator: &request.Paginator{
  1881. InputTokens: []string{"Marker"},
  1882. OutputTokens: []string{"Marker"},
  1883. LimitToken: "MaxItems",
  1884. TruncationToken: "IsTruncated",
  1885. },
  1886. }
  1887. if input == nil {
  1888. input = &ListAttachedGroupPoliciesInput{}
  1889. }
  1890. req = c.newRequest(op, input, output)
  1891. output = &ListAttachedGroupPoliciesOutput{}
  1892. req.Data = output
  1893. return
  1894. }
  1895. // Lists all managed policies that are attached to the specified group.
  1896. //
  1897. // A group can also have inline policies embedded with it. To list the inline
  1898. // policies for a group, use the ListGroupPolicies API. For information about
  1899. // policies, refer to Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  1900. // in the Using IAM guide.
  1901. //
  1902. // You can paginate the results using the MaxItems and Marker parameters. You
  1903. // can use the PathPrefix parameter to limit the list of policies to only those
  1904. // matching the specified path prefix. If there are no policies attached to
  1905. // the specified group (or none that match the specified path prefix), the action
  1906. // returns an empty list.
  1907. func (c *IAM) ListAttachedGroupPolicies(input *ListAttachedGroupPoliciesInput) (*ListAttachedGroupPoliciesOutput, error) {
  1908. req, out := c.ListAttachedGroupPoliciesRequest(input)
  1909. err := req.Send()
  1910. return out, err
  1911. }
  1912. func (c *IAM) ListAttachedGroupPoliciesPages(input *ListAttachedGroupPoliciesInput, fn func(p *ListAttachedGroupPoliciesOutput, lastPage bool) (shouldContinue bool)) error {
  1913. page, _ := c.ListAttachedGroupPoliciesRequest(input)
  1914. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1915. return fn(p.(*ListAttachedGroupPoliciesOutput), lastPage)
  1916. })
  1917. }
  1918. const opListAttachedRolePolicies = "ListAttachedRolePolicies"
  1919. // ListAttachedRolePoliciesRequest generates a request for the ListAttachedRolePolicies operation.
  1920. func (c *IAM) ListAttachedRolePoliciesRequest(input *ListAttachedRolePoliciesInput) (req *request.Request, output *ListAttachedRolePoliciesOutput) {
  1921. op := &request.Operation{
  1922. Name: opListAttachedRolePolicies,
  1923. HTTPMethod: "POST",
  1924. HTTPPath: "/",
  1925. Paginator: &request.Paginator{
  1926. InputTokens: []string{"Marker"},
  1927. OutputTokens: []string{"Marker"},
  1928. LimitToken: "MaxItems",
  1929. TruncationToken: "IsTruncated",
  1930. },
  1931. }
  1932. if input == nil {
  1933. input = &ListAttachedRolePoliciesInput{}
  1934. }
  1935. req = c.newRequest(op, input, output)
  1936. output = &ListAttachedRolePoliciesOutput{}
  1937. req.Data = output
  1938. return
  1939. }
  1940. // Lists all managed policies that are attached to the specified role.
  1941. //
  1942. // A role can also have inline policies embedded with it. To list the inline
  1943. // policies for a role, use the ListRolePolicies API. For information about
  1944. // policies, refer to Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  1945. // in the Using IAM guide.
  1946. //
  1947. // You can paginate the results using the MaxItems and Marker parameters. You
  1948. // can use the PathPrefix parameter to limit the list of policies to only those
  1949. // matching the specified path prefix. If there are no policies attached to
  1950. // the specified role (or none that match the specified path prefix), the action
  1951. // returns an empty list.
  1952. func (c *IAM) ListAttachedRolePolicies(input *ListAttachedRolePoliciesInput) (*ListAttachedRolePoliciesOutput, error) {
  1953. req, out := c.ListAttachedRolePoliciesRequest(input)
  1954. err := req.Send()
  1955. return out, err
  1956. }
  1957. func (c *IAM) ListAttachedRolePoliciesPages(input *ListAttachedRolePoliciesInput, fn func(p *ListAttachedRolePoliciesOutput, lastPage bool) (shouldContinue bool)) error {
  1958. page, _ := c.ListAttachedRolePoliciesRequest(input)
  1959. return page.EachPage(func(p interface{}, lastPage bool) bool {
  1960. return fn(p.(*ListAttachedRolePoliciesOutput), lastPage)
  1961. })
  1962. }
  1963. const opListAttachedUserPolicies = "ListAttachedUserPolicies"
  1964. // ListAttachedUserPoliciesRequest generates a request for the ListAttachedUserPolicies operation.
  1965. func (c *IAM) ListAttachedUserPoliciesRequest(input *ListAttachedUserPoliciesInput) (req *request.Request, output *ListAttachedUserPoliciesOutput) {
  1966. op := &request.Operation{
  1967. Name: opListAttachedUserPolicies,
  1968. HTTPMethod: "POST",
  1969. HTTPPath: "/",
  1970. Paginator: &request.Paginator{
  1971. InputTokens: []string{"Marker"},
  1972. OutputTokens: []string{"Marker"},
  1973. LimitToken: "MaxItems",
  1974. TruncationToken: "IsTruncated",
  1975. },
  1976. }
  1977. if input == nil {
  1978. input = &ListAttachedUserPoliciesInput{}
  1979. }
  1980. req = c.newRequest(op, input, output)
  1981. output = &ListAttachedUserPoliciesOutput{}
  1982. req.Data = output
  1983. return
  1984. }
  1985. // Lists all managed policies that are attached to the specified user.
  1986. //
  1987. // A user can also have inline policies embedded with it. To list the inline
  1988. // policies for a user, use the ListUserPolicies API. For information about
  1989. // policies, refer to Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  1990. // in the Using IAM guide.
  1991. //
  1992. // You can paginate the results using the MaxItems and Marker parameters. You
  1993. // can use the PathPrefix parameter to limit the list of policies to only those
  1994. // matching the specified path prefix. If there are no policies attached to
  1995. // the specified group (or none that match the specified path prefix), the action
  1996. // returns an empty list.
  1997. func (c *IAM) ListAttachedUserPolicies(input *ListAttachedUserPoliciesInput) (*ListAttachedUserPoliciesOutput, error) {
  1998. req, out := c.ListAttachedUserPoliciesRequest(input)
  1999. err := req.Send()
  2000. return out, err
  2001. }
  2002. func (c *IAM) ListAttachedUserPoliciesPages(input *ListAttachedUserPoliciesInput, fn func(p *ListAttachedUserPoliciesOutput, lastPage bool) (shouldContinue bool)) error {
  2003. page, _ := c.ListAttachedUserPoliciesRequest(input)
  2004. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2005. return fn(p.(*ListAttachedUserPoliciesOutput), lastPage)
  2006. })
  2007. }
  2008. const opListEntitiesForPolicy = "ListEntitiesForPolicy"
  2009. // ListEntitiesForPolicyRequest generates a request for the ListEntitiesForPolicy operation.
  2010. func (c *IAM) ListEntitiesForPolicyRequest(input *ListEntitiesForPolicyInput) (req *request.Request, output *ListEntitiesForPolicyOutput) {
  2011. op := &request.Operation{
  2012. Name: opListEntitiesForPolicy,
  2013. HTTPMethod: "POST",
  2014. HTTPPath: "/",
  2015. Paginator: &request.Paginator{
  2016. InputTokens: []string{"Marker"},
  2017. OutputTokens: []string{"Marker"},
  2018. LimitToken: "MaxItems",
  2019. TruncationToken: "IsTruncated",
  2020. },
  2021. }
  2022. if input == nil {
  2023. input = &ListEntitiesForPolicyInput{}
  2024. }
  2025. req = c.newRequest(op, input, output)
  2026. output = &ListEntitiesForPolicyOutput{}
  2027. req.Data = output
  2028. return
  2029. }
  2030. // Lists all users, groups, and roles that the specified managed policy is attached
  2031. // to.
  2032. //
  2033. // You can use the optional EntityFilter parameter to limit the results to
  2034. // a particular type of entity (users, groups, or roles). For example, to list
  2035. // only the roles that are attached to the specified policy, set EntityFilter
  2036. // to Role.
  2037. //
  2038. // You can paginate the results using the MaxItems and Marker parameters.
  2039. func (c *IAM) ListEntitiesForPolicy(input *ListEntitiesForPolicyInput) (*ListEntitiesForPolicyOutput, error) {
  2040. req, out := c.ListEntitiesForPolicyRequest(input)
  2041. err := req.Send()
  2042. return out, err
  2043. }
  2044. func (c *IAM) ListEntitiesForPolicyPages(input *ListEntitiesForPolicyInput, fn func(p *ListEntitiesForPolicyOutput, lastPage bool) (shouldContinue bool)) error {
  2045. page, _ := c.ListEntitiesForPolicyRequest(input)
  2046. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2047. return fn(p.(*ListEntitiesForPolicyOutput), lastPage)
  2048. })
  2049. }
  2050. const opListGroupPolicies = "ListGroupPolicies"
  2051. // ListGroupPoliciesRequest generates a request for the ListGroupPolicies operation.
  2052. func (c *IAM) ListGroupPoliciesRequest(input *ListGroupPoliciesInput) (req *request.Request, output *ListGroupPoliciesOutput) {
  2053. op := &request.Operation{
  2054. Name: opListGroupPolicies,
  2055. HTTPMethod: "POST",
  2056. HTTPPath: "/",
  2057. Paginator: &request.Paginator{
  2058. InputTokens: []string{"Marker"},
  2059. OutputTokens: []string{"Marker"},
  2060. LimitToken: "MaxItems",
  2061. TruncationToken: "IsTruncated",
  2062. },
  2063. }
  2064. if input == nil {
  2065. input = &ListGroupPoliciesInput{}
  2066. }
  2067. req = c.newRequest(op, input, output)
  2068. output = &ListGroupPoliciesOutput{}
  2069. req.Data = output
  2070. return
  2071. }
  2072. // Lists the names of the inline policies that are embedded in the specified
  2073. // group.
  2074. //
  2075. // A group can also have managed policies attached to it. To list the managed
  2076. // policies that are attached to a group, use ListAttachedGroupPolicies. For
  2077. // more information about policies, refer to Managed Policies and Inline Policies
  2078. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  2079. // in the Using IAM guide.
  2080. //
  2081. // You can paginate the results using the MaxItems and Marker parameters. If
  2082. // there are no inline policies embedded with the specified group, the action
  2083. // returns an empty list.
  2084. func (c *IAM) ListGroupPolicies(input *ListGroupPoliciesInput) (*ListGroupPoliciesOutput, error) {
  2085. req, out := c.ListGroupPoliciesRequest(input)
  2086. err := req.Send()
  2087. return out, err
  2088. }
  2089. func (c *IAM) ListGroupPoliciesPages(input *ListGroupPoliciesInput, fn func(p *ListGroupPoliciesOutput, lastPage bool) (shouldContinue bool)) error {
  2090. page, _ := c.ListGroupPoliciesRequest(input)
  2091. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2092. return fn(p.(*ListGroupPoliciesOutput), lastPage)
  2093. })
  2094. }
  2095. const opListGroups = "ListGroups"
  2096. // ListGroupsRequest generates a request for the ListGroups operation.
  2097. func (c *IAM) ListGroupsRequest(input *ListGroupsInput) (req *request.Request, output *ListGroupsOutput) {
  2098. op := &request.Operation{
  2099. Name: opListGroups,
  2100. HTTPMethod: "POST",
  2101. HTTPPath: "/",
  2102. Paginator: &request.Paginator{
  2103. InputTokens: []string{"Marker"},
  2104. OutputTokens: []string{"Marker"},
  2105. LimitToken: "MaxItems",
  2106. TruncationToken: "IsTruncated",
  2107. },
  2108. }
  2109. if input == nil {
  2110. input = &ListGroupsInput{}
  2111. }
  2112. req = c.newRequest(op, input, output)
  2113. output = &ListGroupsOutput{}
  2114. req.Data = output
  2115. return
  2116. }
  2117. // Lists the groups that have the specified path prefix.
  2118. //
  2119. // You can paginate the results using the MaxItems and Marker parameters.
  2120. func (c *IAM) ListGroups(input *ListGroupsInput) (*ListGroupsOutput, error) {
  2121. req, out := c.ListGroupsRequest(input)
  2122. err := req.Send()
  2123. return out, err
  2124. }
  2125. func (c *IAM) ListGroupsPages(input *ListGroupsInput, fn func(p *ListGroupsOutput, lastPage bool) (shouldContinue bool)) error {
  2126. page, _ := c.ListGroupsRequest(input)
  2127. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2128. return fn(p.(*ListGroupsOutput), lastPage)
  2129. })
  2130. }
  2131. const opListGroupsForUser = "ListGroupsForUser"
  2132. // ListGroupsForUserRequest generates a request for the ListGroupsForUser operation.
  2133. func (c *IAM) ListGroupsForUserRequest(input *ListGroupsForUserInput) (req *request.Request, output *ListGroupsForUserOutput) {
  2134. op := &request.Operation{
  2135. Name: opListGroupsForUser,
  2136. HTTPMethod: "POST",
  2137. HTTPPath: "/",
  2138. Paginator: &request.Paginator{
  2139. InputTokens: []string{"Marker"},
  2140. OutputTokens: []string{"Marker"},
  2141. LimitToken: "MaxItems",
  2142. TruncationToken: "IsTruncated",
  2143. },
  2144. }
  2145. if input == nil {
  2146. input = &ListGroupsForUserInput{}
  2147. }
  2148. req = c.newRequest(op, input, output)
  2149. output = &ListGroupsForUserOutput{}
  2150. req.Data = output
  2151. return
  2152. }
  2153. // Lists the groups the specified user belongs to.
  2154. //
  2155. // You can paginate the results using the MaxItems and Marker parameters.
  2156. func (c *IAM) ListGroupsForUser(input *ListGroupsForUserInput) (*ListGroupsForUserOutput, error) {
  2157. req, out := c.ListGroupsForUserRequest(input)
  2158. err := req.Send()
  2159. return out, err
  2160. }
  2161. func (c *IAM) ListGroupsForUserPages(input *ListGroupsForUserInput, fn func(p *ListGroupsForUserOutput, lastPage bool) (shouldContinue bool)) error {
  2162. page, _ := c.ListGroupsForUserRequest(input)
  2163. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2164. return fn(p.(*ListGroupsForUserOutput), lastPage)
  2165. })
  2166. }
  2167. const opListInstanceProfiles = "ListInstanceProfiles"
  2168. // ListInstanceProfilesRequest generates a request for the ListInstanceProfiles operation.
  2169. func (c *IAM) ListInstanceProfilesRequest(input *ListInstanceProfilesInput) (req *request.Request, output *ListInstanceProfilesOutput) {
  2170. op := &request.Operation{
  2171. Name: opListInstanceProfiles,
  2172. HTTPMethod: "POST",
  2173. HTTPPath: "/",
  2174. Paginator: &request.Paginator{
  2175. InputTokens: []string{"Marker"},
  2176. OutputTokens: []string{"Marker"},
  2177. LimitToken: "MaxItems",
  2178. TruncationToken: "IsTruncated",
  2179. },
  2180. }
  2181. if input == nil {
  2182. input = &ListInstanceProfilesInput{}
  2183. }
  2184. req = c.newRequest(op, input, output)
  2185. output = &ListInstanceProfilesOutput{}
  2186. req.Data = output
  2187. return
  2188. }
  2189. // Lists the instance profiles that have the specified path prefix. If there
  2190. // are none, the action returns an empty list. For more information about instance
  2191. // profiles, go to About Instance Profiles (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html).
  2192. //
  2193. // You can paginate the results using the MaxItems and Marker parameters.
  2194. func (c *IAM) ListInstanceProfiles(input *ListInstanceProfilesInput) (*ListInstanceProfilesOutput, error) {
  2195. req, out := c.ListInstanceProfilesRequest(input)
  2196. err := req.Send()
  2197. return out, err
  2198. }
  2199. func (c *IAM) ListInstanceProfilesPages(input *ListInstanceProfilesInput, fn func(p *ListInstanceProfilesOutput, lastPage bool) (shouldContinue bool)) error {
  2200. page, _ := c.ListInstanceProfilesRequest(input)
  2201. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2202. return fn(p.(*ListInstanceProfilesOutput), lastPage)
  2203. })
  2204. }
  2205. const opListInstanceProfilesForRole = "ListInstanceProfilesForRole"
  2206. // ListInstanceProfilesForRoleRequest generates a request for the ListInstanceProfilesForRole operation.
  2207. func (c *IAM) ListInstanceProfilesForRoleRequest(input *ListInstanceProfilesForRoleInput) (req *request.Request, output *ListInstanceProfilesForRoleOutput) {
  2208. op := &request.Operation{
  2209. Name: opListInstanceProfilesForRole,
  2210. HTTPMethod: "POST",
  2211. HTTPPath: "/",
  2212. Paginator: &request.Paginator{
  2213. InputTokens: []string{"Marker"},
  2214. OutputTokens: []string{"Marker"},
  2215. LimitToken: "MaxItems",
  2216. TruncationToken: "IsTruncated",
  2217. },
  2218. }
  2219. if input == nil {
  2220. input = &ListInstanceProfilesForRoleInput{}
  2221. }
  2222. req = c.newRequest(op, input, output)
  2223. output = &ListInstanceProfilesForRoleOutput{}
  2224. req.Data = output
  2225. return
  2226. }
  2227. // Lists the instance profiles that have the specified associated role. If there
  2228. // are none, the action returns an empty list. For more information about instance
  2229. // profiles, go to About Instance Profiles (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html).
  2230. //
  2231. // You can paginate the results using the MaxItems and Marker parameters.
  2232. func (c *IAM) ListInstanceProfilesForRole(input *ListInstanceProfilesForRoleInput) (*ListInstanceProfilesForRoleOutput, error) {
  2233. req, out := c.ListInstanceProfilesForRoleRequest(input)
  2234. err := req.Send()
  2235. return out, err
  2236. }
  2237. func (c *IAM) ListInstanceProfilesForRolePages(input *ListInstanceProfilesForRoleInput, fn func(p *ListInstanceProfilesForRoleOutput, lastPage bool) (shouldContinue bool)) error {
  2238. page, _ := c.ListInstanceProfilesForRoleRequest(input)
  2239. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2240. return fn(p.(*ListInstanceProfilesForRoleOutput), lastPage)
  2241. })
  2242. }
  2243. const opListMFADevices = "ListMFADevices"
  2244. // ListMFADevicesRequest generates a request for the ListMFADevices operation.
  2245. func (c *IAM) ListMFADevicesRequest(input *ListMFADevicesInput) (req *request.Request, output *ListMFADevicesOutput) {
  2246. op := &request.Operation{
  2247. Name: opListMFADevices,
  2248. HTTPMethod: "POST",
  2249. HTTPPath: "/",
  2250. Paginator: &request.Paginator{
  2251. InputTokens: []string{"Marker"},
  2252. OutputTokens: []string{"Marker"},
  2253. LimitToken: "MaxItems",
  2254. TruncationToken: "IsTruncated",
  2255. },
  2256. }
  2257. if input == nil {
  2258. input = &ListMFADevicesInput{}
  2259. }
  2260. req = c.newRequest(op, input, output)
  2261. output = &ListMFADevicesOutput{}
  2262. req.Data = output
  2263. return
  2264. }
  2265. // Lists the MFA devices. If the request includes the user name, then this action
  2266. // lists all the MFA devices associated with the specified user name. If you
  2267. // do not specify a user name, IAM determines the user name implicitly based
  2268. // on the AWS access key ID signing the request.
  2269. //
  2270. // You can paginate the results using the MaxItems and Marker parameters.
  2271. func (c *IAM) ListMFADevices(input *ListMFADevicesInput) (*ListMFADevicesOutput, error) {
  2272. req, out := c.ListMFADevicesRequest(input)
  2273. err := req.Send()
  2274. return out, err
  2275. }
  2276. func (c *IAM) ListMFADevicesPages(input *ListMFADevicesInput, fn func(p *ListMFADevicesOutput, lastPage bool) (shouldContinue bool)) error {
  2277. page, _ := c.ListMFADevicesRequest(input)
  2278. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2279. return fn(p.(*ListMFADevicesOutput), lastPage)
  2280. })
  2281. }
  2282. const opListOpenIDConnectProviders = "ListOpenIDConnectProviders"
  2283. // ListOpenIDConnectProvidersRequest generates a request for the ListOpenIDConnectProviders operation.
  2284. func (c *IAM) ListOpenIDConnectProvidersRequest(input *ListOpenIDConnectProvidersInput) (req *request.Request, output *ListOpenIDConnectProvidersOutput) {
  2285. op := &request.Operation{
  2286. Name: opListOpenIDConnectProviders,
  2287. HTTPMethod: "POST",
  2288. HTTPPath: "/",
  2289. }
  2290. if input == nil {
  2291. input = &ListOpenIDConnectProvidersInput{}
  2292. }
  2293. req = c.newRequest(op, input, output)
  2294. output = &ListOpenIDConnectProvidersOutput{}
  2295. req.Data = output
  2296. return
  2297. }
  2298. // Lists information about the OpenID Connect providers in the AWS account.
  2299. func (c *IAM) ListOpenIDConnectProviders(input *ListOpenIDConnectProvidersInput) (*ListOpenIDConnectProvidersOutput, error) {
  2300. req, out := c.ListOpenIDConnectProvidersRequest(input)
  2301. err := req.Send()
  2302. return out, err
  2303. }
  2304. const opListPolicies = "ListPolicies"
  2305. // ListPoliciesRequest generates a request for the ListPolicies operation.
  2306. func (c *IAM) ListPoliciesRequest(input *ListPoliciesInput) (req *request.Request, output *ListPoliciesOutput) {
  2307. op := &request.Operation{
  2308. Name: opListPolicies,
  2309. HTTPMethod: "POST",
  2310. HTTPPath: "/",
  2311. Paginator: &request.Paginator{
  2312. InputTokens: []string{"Marker"},
  2313. OutputTokens: []string{"Marker"},
  2314. LimitToken: "MaxItems",
  2315. TruncationToken: "IsTruncated",
  2316. },
  2317. }
  2318. if input == nil {
  2319. input = &ListPoliciesInput{}
  2320. }
  2321. req = c.newRequest(op, input, output)
  2322. output = &ListPoliciesOutput{}
  2323. req.Data = output
  2324. return
  2325. }
  2326. // Lists all the managed policies that are available to your account, including
  2327. // your own customer managed policies and all AWS managed policies.
  2328. //
  2329. // You can filter the list of policies that is returned using the optional
  2330. // OnlyAttached, Scope, and PathPrefix parameters. For example, to list only
  2331. // the customer managed policies in your AWS account, set Scope to Local. To
  2332. // list only AWS managed policies, set Scope to AWS.
  2333. //
  2334. // You can paginate the results using the MaxItems and Marker parameters.
  2335. //
  2336. // For more information about managed policies, refer to Managed Policies and
  2337. // Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  2338. // in the Using IAM guide.
  2339. func (c *IAM) ListPolicies(input *ListPoliciesInput) (*ListPoliciesOutput, error) {
  2340. req, out := c.ListPoliciesRequest(input)
  2341. err := req.Send()
  2342. return out, err
  2343. }
  2344. func (c *IAM) ListPoliciesPages(input *ListPoliciesInput, fn func(p *ListPoliciesOutput, lastPage bool) (shouldContinue bool)) error {
  2345. page, _ := c.ListPoliciesRequest(input)
  2346. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2347. return fn(p.(*ListPoliciesOutput), lastPage)
  2348. })
  2349. }
  2350. const opListPolicyVersions = "ListPolicyVersions"
  2351. // ListPolicyVersionsRequest generates a request for the ListPolicyVersions operation.
  2352. func (c *IAM) ListPolicyVersionsRequest(input *ListPolicyVersionsInput) (req *request.Request, output *ListPolicyVersionsOutput) {
  2353. op := &request.Operation{
  2354. Name: opListPolicyVersions,
  2355. HTTPMethod: "POST",
  2356. HTTPPath: "/",
  2357. }
  2358. if input == nil {
  2359. input = &ListPolicyVersionsInput{}
  2360. }
  2361. req = c.newRequest(op, input, output)
  2362. output = &ListPolicyVersionsOutput{}
  2363. req.Data = output
  2364. return
  2365. }
  2366. // Lists information about the versions of the specified managed policy, including
  2367. // the version that is set as the policy's default version.
  2368. //
  2369. // For more information about managed policies, refer to Managed Policies and
  2370. // Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  2371. // in the Using IAM guide.
  2372. func (c *IAM) ListPolicyVersions(input *ListPolicyVersionsInput) (*ListPolicyVersionsOutput, error) {
  2373. req, out := c.ListPolicyVersionsRequest(input)
  2374. err := req.Send()
  2375. return out, err
  2376. }
  2377. const opListRolePolicies = "ListRolePolicies"
  2378. // ListRolePoliciesRequest generates a request for the ListRolePolicies operation.
  2379. func (c *IAM) ListRolePoliciesRequest(input *ListRolePoliciesInput) (req *request.Request, output *ListRolePoliciesOutput) {
  2380. op := &request.Operation{
  2381. Name: opListRolePolicies,
  2382. HTTPMethod: "POST",
  2383. HTTPPath: "/",
  2384. Paginator: &request.Paginator{
  2385. InputTokens: []string{"Marker"},
  2386. OutputTokens: []string{"Marker"},
  2387. LimitToken: "MaxItems",
  2388. TruncationToken: "IsTruncated",
  2389. },
  2390. }
  2391. if input == nil {
  2392. input = &ListRolePoliciesInput{}
  2393. }
  2394. req = c.newRequest(op, input, output)
  2395. output = &ListRolePoliciesOutput{}
  2396. req.Data = output
  2397. return
  2398. }
  2399. // Lists the names of the inline policies that are embedded in the specified
  2400. // role.
  2401. //
  2402. // A role can also have managed policies attached to it. To list the managed
  2403. // policies that are attached to a role, use ListAttachedRolePolicies. For more
  2404. // information about policies, refer to Managed Policies and Inline Policies
  2405. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  2406. // in the Using IAM guide.
  2407. //
  2408. // You can paginate the results using the MaxItems and Marker parameters. If
  2409. // there are no inline policies embedded with the specified role, the action
  2410. // returns an empty list.
  2411. func (c *IAM) ListRolePolicies(input *ListRolePoliciesInput) (*ListRolePoliciesOutput, error) {
  2412. req, out := c.ListRolePoliciesRequest(input)
  2413. err := req.Send()
  2414. return out, err
  2415. }
  2416. func (c *IAM) ListRolePoliciesPages(input *ListRolePoliciesInput, fn func(p *ListRolePoliciesOutput, lastPage bool) (shouldContinue bool)) error {
  2417. page, _ := c.ListRolePoliciesRequest(input)
  2418. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2419. return fn(p.(*ListRolePoliciesOutput), lastPage)
  2420. })
  2421. }
  2422. const opListRoles = "ListRoles"
  2423. // ListRolesRequest generates a request for the ListRoles operation.
  2424. func (c *IAM) ListRolesRequest(input *ListRolesInput) (req *request.Request, output *ListRolesOutput) {
  2425. op := &request.Operation{
  2426. Name: opListRoles,
  2427. HTTPMethod: "POST",
  2428. HTTPPath: "/",
  2429. Paginator: &request.Paginator{
  2430. InputTokens: []string{"Marker"},
  2431. OutputTokens: []string{"Marker"},
  2432. LimitToken: "MaxItems",
  2433. TruncationToken: "IsTruncated",
  2434. },
  2435. }
  2436. if input == nil {
  2437. input = &ListRolesInput{}
  2438. }
  2439. req = c.newRequest(op, input, output)
  2440. output = &ListRolesOutput{}
  2441. req.Data = output
  2442. return
  2443. }
  2444. // Lists the roles that have the specified path prefix. If there are none, the
  2445. // action returns an empty list. For more information about roles, go to Working
  2446. // with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html).
  2447. //
  2448. // You can paginate the results using the MaxItems and Marker parameters.
  2449. func (c *IAM) ListRoles(input *ListRolesInput) (*ListRolesOutput, error) {
  2450. req, out := c.ListRolesRequest(input)
  2451. err := req.Send()
  2452. return out, err
  2453. }
  2454. func (c *IAM) ListRolesPages(input *ListRolesInput, fn func(p *ListRolesOutput, lastPage bool) (shouldContinue bool)) error {
  2455. page, _ := c.ListRolesRequest(input)
  2456. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2457. return fn(p.(*ListRolesOutput), lastPage)
  2458. })
  2459. }
  2460. const opListSAMLProviders = "ListSAMLProviders"
  2461. // ListSAMLProvidersRequest generates a request for the ListSAMLProviders operation.
  2462. func (c *IAM) ListSAMLProvidersRequest(input *ListSAMLProvidersInput) (req *request.Request, output *ListSAMLProvidersOutput) {
  2463. op := &request.Operation{
  2464. Name: opListSAMLProviders,
  2465. HTTPMethod: "POST",
  2466. HTTPPath: "/",
  2467. }
  2468. if input == nil {
  2469. input = &ListSAMLProvidersInput{}
  2470. }
  2471. req = c.newRequest(op, input, output)
  2472. output = &ListSAMLProvidersOutput{}
  2473. req.Data = output
  2474. return
  2475. }
  2476. // Lists the SAML providers in the account.
  2477. //
  2478. // This operation requires Signature Version 4 (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
  2479. func (c *IAM) ListSAMLProviders(input *ListSAMLProvidersInput) (*ListSAMLProvidersOutput, error) {
  2480. req, out := c.ListSAMLProvidersRequest(input)
  2481. err := req.Send()
  2482. return out, err
  2483. }
  2484. const opListSSHPublicKeys = "ListSSHPublicKeys"
  2485. // ListSSHPublicKeysRequest generates a request for the ListSSHPublicKeys operation.
  2486. func (c *IAM) ListSSHPublicKeysRequest(input *ListSSHPublicKeysInput) (req *request.Request, output *ListSSHPublicKeysOutput) {
  2487. op := &request.Operation{
  2488. Name: opListSSHPublicKeys,
  2489. HTTPMethod: "POST",
  2490. HTTPPath: "/",
  2491. }
  2492. if input == nil {
  2493. input = &ListSSHPublicKeysInput{}
  2494. }
  2495. req = c.newRequest(op, input, output)
  2496. output = &ListSSHPublicKeysOutput{}
  2497. req.Data = output
  2498. return
  2499. }
  2500. // Returns information about the SSH public keys associated with the specified
  2501. // IAM user. If there are none, the action returns an empty list.
  2502. //
  2503. // The SSH public keys returned by this action are used only for authenticating
  2504. // the IAM user to an AWS CodeCommit repository. For more information about
  2505. // using SSH keys to authenticate to an AWS CodeCommit repository, see Set up
  2506. // AWS CodeCommit for SSH Connections (http://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-credentials-ssh.html)
  2507. // in the AWS CodeCommit User Guide.
  2508. //
  2509. // Although each user is limited to a small number of keys, you can still paginate
  2510. // the results using the MaxItems and Marker parameters.
  2511. func (c *IAM) ListSSHPublicKeys(input *ListSSHPublicKeysInput) (*ListSSHPublicKeysOutput, error) {
  2512. req, out := c.ListSSHPublicKeysRequest(input)
  2513. err := req.Send()
  2514. return out, err
  2515. }
  2516. const opListServerCertificates = "ListServerCertificates"
  2517. // ListServerCertificatesRequest generates a request for the ListServerCertificates operation.
  2518. func (c *IAM) ListServerCertificatesRequest(input *ListServerCertificatesInput) (req *request.Request, output *ListServerCertificatesOutput) {
  2519. op := &request.Operation{
  2520. Name: opListServerCertificates,
  2521. HTTPMethod: "POST",
  2522. HTTPPath: "/",
  2523. Paginator: &request.Paginator{
  2524. InputTokens: []string{"Marker"},
  2525. OutputTokens: []string{"Marker"},
  2526. LimitToken: "MaxItems",
  2527. TruncationToken: "IsTruncated",
  2528. },
  2529. }
  2530. if input == nil {
  2531. input = &ListServerCertificatesInput{}
  2532. }
  2533. req = c.newRequest(op, input, output)
  2534. output = &ListServerCertificatesOutput{}
  2535. req.Data = output
  2536. return
  2537. }
  2538. // Lists the server certificates that have the specified path prefix. If none
  2539. // exist, the action returns an empty list.
  2540. //
  2541. // You can paginate the results using the MaxItems and Marker parameters.
  2542. func (c *IAM) ListServerCertificates(input *ListServerCertificatesInput) (*ListServerCertificatesOutput, error) {
  2543. req, out := c.ListServerCertificatesRequest(input)
  2544. err := req.Send()
  2545. return out, err
  2546. }
  2547. func (c *IAM) ListServerCertificatesPages(input *ListServerCertificatesInput, fn func(p *ListServerCertificatesOutput, lastPage bool) (shouldContinue bool)) error {
  2548. page, _ := c.ListServerCertificatesRequest(input)
  2549. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2550. return fn(p.(*ListServerCertificatesOutput), lastPage)
  2551. })
  2552. }
  2553. const opListSigningCertificates = "ListSigningCertificates"
  2554. // ListSigningCertificatesRequest generates a request for the ListSigningCertificates operation.
  2555. func (c *IAM) ListSigningCertificatesRequest(input *ListSigningCertificatesInput) (req *request.Request, output *ListSigningCertificatesOutput) {
  2556. op := &request.Operation{
  2557. Name: opListSigningCertificates,
  2558. HTTPMethod: "POST",
  2559. HTTPPath: "/",
  2560. Paginator: &request.Paginator{
  2561. InputTokens: []string{"Marker"},
  2562. OutputTokens: []string{"Marker"},
  2563. LimitToken: "MaxItems",
  2564. TruncationToken: "IsTruncated",
  2565. },
  2566. }
  2567. if input == nil {
  2568. input = &ListSigningCertificatesInput{}
  2569. }
  2570. req = c.newRequest(op, input, output)
  2571. output = &ListSigningCertificatesOutput{}
  2572. req.Data = output
  2573. return
  2574. }
  2575. // Returns information about the signing certificates associated with the specified
  2576. // user. If there are none, the action returns an empty list.
  2577. //
  2578. // Although each user is limited to a small number of signing certificates,
  2579. // you can still paginate the results using the MaxItems and Marker parameters.
  2580. //
  2581. // If the UserName field is not specified, the user name is determined implicitly
  2582. // based on the AWS access key ID used to sign the request. Because this action
  2583. // works for access keys under the AWS account, you can use this action to manage
  2584. // root credentials even if the AWS account has no associated users.
  2585. func (c *IAM) ListSigningCertificates(input *ListSigningCertificatesInput) (*ListSigningCertificatesOutput, error) {
  2586. req, out := c.ListSigningCertificatesRequest(input)
  2587. err := req.Send()
  2588. return out, err
  2589. }
  2590. func (c *IAM) ListSigningCertificatesPages(input *ListSigningCertificatesInput, fn func(p *ListSigningCertificatesOutput, lastPage bool) (shouldContinue bool)) error {
  2591. page, _ := c.ListSigningCertificatesRequest(input)
  2592. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2593. return fn(p.(*ListSigningCertificatesOutput), lastPage)
  2594. })
  2595. }
  2596. const opListUserPolicies = "ListUserPolicies"
  2597. // ListUserPoliciesRequest generates a request for the ListUserPolicies operation.
  2598. func (c *IAM) ListUserPoliciesRequest(input *ListUserPoliciesInput) (req *request.Request, output *ListUserPoliciesOutput) {
  2599. op := &request.Operation{
  2600. Name: opListUserPolicies,
  2601. HTTPMethod: "POST",
  2602. HTTPPath: "/",
  2603. Paginator: &request.Paginator{
  2604. InputTokens: []string{"Marker"},
  2605. OutputTokens: []string{"Marker"},
  2606. LimitToken: "MaxItems",
  2607. TruncationToken: "IsTruncated",
  2608. },
  2609. }
  2610. if input == nil {
  2611. input = &ListUserPoliciesInput{}
  2612. }
  2613. req = c.newRequest(op, input, output)
  2614. output = &ListUserPoliciesOutput{}
  2615. req.Data = output
  2616. return
  2617. }
  2618. // Lists the names of the inline policies embedded in the specified user.
  2619. //
  2620. // A user can also have managed policies attached to it. To list the managed
  2621. // policies that are attached to a user, use ListAttachedUserPolicies. For more
  2622. // information about policies, refer to Managed Policies and Inline Policies
  2623. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  2624. // in the Using IAM guide.
  2625. //
  2626. // You can paginate the results using the MaxItems and Marker parameters. If
  2627. // there are no inline policies embedded with the specified user, the action
  2628. // returns an empty list.
  2629. func (c *IAM) ListUserPolicies(input *ListUserPoliciesInput) (*ListUserPoliciesOutput, error) {
  2630. req, out := c.ListUserPoliciesRequest(input)
  2631. err := req.Send()
  2632. return out, err
  2633. }
  2634. func (c *IAM) ListUserPoliciesPages(input *ListUserPoliciesInput, fn func(p *ListUserPoliciesOutput, lastPage bool) (shouldContinue bool)) error {
  2635. page, _ := c.ListUserPoliciesRequest(input)
  2636. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2637. return fn(p.(*ListUserPoliciesOutput), lastPage)
  2638. })
  2639. }
  2640. const opListUsers = "ListUsers"
  2641. // ListUsersRequest generates a request for the ListUsers operation.
  2642. func (c *IAM) ListUsersRequest(input *ListUsersInput) (req *request.Request, output *ListUsersOutput) {
  2643. op := &request.Operation{
  2644. Name: opListUsers,
  2645. HTTPMethod: "POST",
  2646. HTTPPath: "/",
  2647. Paginator: &request.Paginator{
  2648. InputTokens: []string{"Marker"},
  2649. OutputTokens: []string{"Marker"},
  2650. LimitToken: "MaxItems",
  2651. TruncationToken: "IsTruncated",
  2652. },
  2653. }
  2654. if input == nil {
  2655. input = &ListUsersInput{}
  2656. }
  2657. req = c.newRequest(op, input, output)
  2658. output = &ListUsersOutput{}
  2659. req.Data = output
  2660. return
  2661. }
  2662. // Lists the IAM users that have the specified path prefix. If no path prefix
  2663. // is specified, the action returns all users in the AWS account. If there are
  2664. // none, the action returns an empty list.
  2665. //
  2666. // You can paginate the results using the MaxItems and Marker parameters.
  2667. func (c *IAM) ListUsers(input *ListUsersInput) (*ListUsersOutput, error) {
  2668. req, out := c.ListUsersRequest(input)
  2669. err := req.Send()
  2670. return out, err
  2671. }
  2672. func (c *IAM) ListUsersPages(input *ListUsersInput, fn func(p *ListUsersOutput, lastPage bool) (shouldContinue bool)) error {
  2673. page, _ := c.ListUsersRequest(input)
  2674. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2675. return fn(p.(*ListUsersOutput), lastPage)
  2676. })
  2677. }
  2678. const opListVirtualMFADevices = "ListVirtualMFADevices"
  2679. // ListVirtualMFADevicesRequest generates a request for the ListVirtualMFADevices operation.
  2680. func (c *IAM) ListVirtualMFADevicesRequest(input *ListVirtualMFADevicesInput) (req *request.Request, output *ListVirtualMFADevicesOutput) {
  2681. op := &request.Operation{
  2682. Name: opListVirtualMFADevices,
  2683. HTTPMethod: "POST",
  2684. HTTPPath: "/",
  2685. Paginator: &request.Paginator{
  2686. InputTokens: []string{"Marker"},
  2687. OutputTokens: []string{"Marker"},
  2688. LimitToken: "MaxItems",
  2689. TruncationToken: "IsTruncated",
  2690. },
  2691. }
  2692. if input == nil {
  2693. input = &ListVirtualMFADevicesInput{}
  2694. }
  2695. req = c.newRequest(op, input, output)
  2696. output = &ListVirtualMFADevicesOutput{}
  2697. req.Data = output
  2698. return
  2699. }
  2700. // Lists the virtual MFA devices under the AWS account by assignment status.
  2701. // If you do not specify an assignment status, the action returns a list of
  2702. // all virtual MFA devices. Assignment status can be Assigned, Unassigned, or
  2703. // Any.
  2704. //
  2705. // You can paginate the results using the MaxItems and Marker parameters.
  2706. func (c *IAM) ListVirtualMFADevices(input *ListVirtualMFADevicesInput) (*ListVirtualMFADevicesOutput, error) {
  2707. req, out := c.ListVirtualMFADevicesRequest(input)
  2708. err := req.Send()
  2709. return out, err
  2710. }
  2711. func (c *IAM) ListVirtualMFADevicesPages(input *ListVirtualMFADevicesInput, fn func(p *ListVirtualMFADevicesOutput, lastPage bool) (shouldContinue bool)) error {
  2712. page, _ := c.ListVirtualMFADevicesRequest(input)
  2713. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2714. return fn(p.(*ListVirtualMFADevicesOutput), lastPage)
  2715. })
  2716. }
  2717. const opPutGroupPolicy = "PutGroupPolicy"
  2718. // PutGroupPolicyRequest generates a request for the PutGroupPolicy operation.
  2719. func (c *IAM) PutGroupPolicyRequest(input *PutGroupPolicyInput) (req *request.Request, output *PutGroupPolicyOutput) {
  2720. op := &request.Operation{
  2721. Name: opPutGroupPolicy,
  2722. HTTPMethod: "POST",
  2723. HTTPPath: "/",
  2724. }
  2725. if input == nil {
  2726. input = &PutGroupPolicyInput{}
  2727. }
  2728. req = c.newRequest(op, input, output)
  2729. output = &PutGroupPolicyOutput{}
  2730. req.Data = output
  2731. return
  2732. }
  2733. // Adds (or updates) an inline policy document that is embedded in the specified
  2734. // group.
  2735. //
  2736. // A user can also have managed policies attached to it. To attach a managed
  2737. // policy to a group, use AttachGroupPolicy. To create a new managed policy,
  2738. // use CreatePolicy. For information about policies, refer to Managed Policies
  2739. // and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  2740. // in the Using IAM guide.
  2741. //
  2742. // For information about limits on the number of inline policies that you can
  2743. // embed in a group, see Limitations on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
  2744. // in the Using IAM guide.
  2745. //
  2746. // Because policy documents can be large, you should use POST rather than GET
  2747. // when calling PutGroupPolicy. For general information about using the Query
  2748. // API with IAM, go to Making Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html)
  2749. // in the Using IAM guide.
  2750. func (c *IAM) PutGroupPolicy(input *PutGroupPolicyInput) (*PutGroupPolicyOutput, error) {
  2751. req, out := c.PutGroupPolicyRequest(input)
  2752. err := req.Send()
  2753. return out, err
  2754. }
  2755. const opPutRolePolicy = "PutRolePolicy"
  2756. // PutRolePolicyRequest generates a request for the PutRolePolicy operation.
  2757. func (c *IAM) PutRolePolicyRequest(input *PutRolePolicyInput) (req *request.Request, output *PutRolePolicyOutput) {
  2758. op := &request.Operation{
  2759. Name: opPutRolePolicy,
  2760. HTTPMethod: "POST",
  2761. HTTPPath: "/",
  2762. }
  2763. if input == nil {
  2764. input = &PutRolePolicyInput{}
  2765. }
  2766. req = c.newRequest(op, input, output)
  2767. output = &PutRolePolicyOutput{}
  2768. req.Data = output
  2769. return
  2770. }
  2771. // Adds (or updates) an inline policy document that is embedded in the specified
  2772. // role.
  2773. //
  2774. // When you embed an inline policy in a role, the inline policy is used as
  2775. // the role's access (permissions) policy. The role's trust policy is created
  2776. // at the same time as the role, using CreateRole. You can update a role's trust
  2777. // policy using UpdateAssumeRolePolicy. For more information about roles, go
  2778. // to Using Roles to Delegate Permissions and Federate Identities (http://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html).
  2779. //
  2780. // A role can also have a managed policy attached to it. To attach a managed
  2781. // policy to a role, use AttachRolePolicy. To create a new managed policy, use
  2782. // CreatePolicy. For information about policies, refer to Managed Policies and
  2783. // Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  2784. // in the Using IAM guide.
  2785. //
  2786. // For information about limits on the number of inline policies that you can
  2787. // embed with a role, see Limitations on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
  2788. // in the Using IAM guide.
  2789. //
  2790. // Because policy documents can be large, you should use POST rather than GET
  2791. // when calling PutRolePolicy. For general information about using the Query
  2792. // API with IAM, go to Making Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html)
  2793. // in the Using IAM guide.
  2794. func (c *IAM) PutRolePolicy(input *PutRolePolicyInput) (*PutRolePolicyOutput, error) {
  2795. req, out := c.PutRolePolicyRequest(input)
  2796. err := req.Send()
  2797. return out, err
  2798. }
  2799. const opPutUserPolicy = "PutUserPolicy"
  2800. // PutUserPolicyRequest generates a request for the PutUserPolicy operation.
  2801. func (c *IAM) PutUserPolicyRequest(input *PutUserPolicyInput) (req *request.Request, output *PutUserPolicyOutput) {
  2802. op := &request.Operation{
  2803. Name: opPutUserPolicy,
  2804. HTTPMethod: "POST",
  2805. HTTPPath: "/",
  2806. }
  2807. if input == nil {
  2808. input = &PutUserPolicyInput{}
  2809. }
  2810. req = c.newRequest(op, input, output)
  2811. output = &PutUserPolicyOutput{}
  2812. req.Data = output
  2813. return
  2814. }
  2815. // Adds (or updates) an inline policy document that is embedded in the specified
  2816. // user.
  2817. //
  2818. // A user can also have a managed policy attached to it. To attach a managed
  2819. // policy to a user, use AttachUserPolicy. To create a new managed policy, use
  2820. // CreatePolicy. For information about policies, refer to Managed Policies and
  2821. // Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  2822. // in the Using IAM guide.
  2823. //
  2824. // For information about limits on the number of inline policies that you can
  2825. // embed in a user, see Limitations on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
  2826. // in the Using IAM guide.
  2827. //
  2828. // Because policy documents can be large, you should use POST rather than GET
  2829. // when calling PutUserPolicy. For general information about using the Query
  2830. // API with IAM, go to Making Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html)
  2831. // in the Using IAM guide.
  2832. func (c *IAM) PutUserPolicy(input *PutUserPolicyInput) (*PutUserPolicyOutput, error) {
  2833. req, out := c.PutUserPolicyRequest(input)
  2834. err := req.Send()
  2835. return out, err
  2836. }
  2837. const opRemoveClientIDFromOpenIDConnectProvider = "RemoveClientIDFromOpenIDConnectProvider"
  2838. // RemoveClientIDFromOpenIDConnectProviderRequest generates a request for the RemoveClientIDFromOpenIDConnectProvider operation.
  2839. func (c *IAM) RemoveClientIDFromOpenIDConnectProviderRequest(input *RemoveClientIDFromOpenIDConnectProviderInput) (req *request.Request, output *RemoveClientIDFromOpenIDConnectProviderOutput) {
  2840. op := &request.Operation{
  2841. Name: opRemoveClientIDFromOpenIDConnectProvider,
  2842. HTTPMethod: "POST",
  2843. HTTPPath: "/",
  2844. }
  2845. if input == nil {
  2846. input = &RemoveClientIDFromOpenIDConnectProviderInput{}
  2847. }
  2848. req = c.newRequest(op, input, output)
  2849. output = &RemoveClientIDFromOpenIDConnectProviderOutput{}
  2850. req.Data = output
  2851. return
  2852. }
  2853. // Removes the specified client ID (also known as audience) from the list of
  2854. // client IDs registered for the specified IAM OpenID Connect provider.
  2855. //
  2856. // This action is idempotent; it does not fail or return an error if you try
  2857. // to remove a client ID that was removed previously.
  2858. func (c *IAM) RemoveClientIDFromOpenIDConnectProvider(input *RemoveClientIDFromOpenIDConnectProviderInput) (*RemoveClientIDFromOpenIDConnectProviderOutput, error) {
  2859. req, out := c.RemoveClientIDFromOpenIDConnectProviderRequest(input)
  2860. err := req.Send()
  2861. return out, err
  2862. }
  2863. const opRemoveRoleFromInstanceProfile = "RemoveRoleFromInstanceProfile"
  2864. // RemoveRoleFromInstanceProfileRequest generates a request for the RemoveRoleFromInstanceProfile operation.
  2865. func (c *IAM) RemoveRoleFromInstanceProfileRequest(input *RemoveRoleFromInstanceProfileInput) (req *request.Request, output *RemoveRoleFromInstanceProfileOutput) {
  2866. op := &request.Operation{
  2867. Name: opRemoveRoleFromInstanceProfile,
  2868. HTTPMethod: "POST",
  2869. HTTPPath: "/",
  2870. }
  2871. if input == nil {
  2872. input = &RemoveRoleFromInstanceProfileInput{}
  2873. }
  2874. req = c.newRequest(op, input, output)
  2875. output = &RemoveRoleFromInstanceProfileOutput{}
  2876. req.Data = output
  2877. return
  2878. }
  2879. // Removes the specified role from the specified instance profile.
  2880. //
  2881. // Make sure you do not have any Amazon EC2 instances running with the role
  2882. // you are about to remove from the instance profile. Removing a role from an
  2883. // instance profile that is associated with a running instance will break any
  2884. // applications running on the instance. For more information about roles,
  2885. // go to Working with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html).
  2886. // For more information about instance profiles, go to About Instance Profiles
  2887. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html).
  2888. func (c *IAM) RemoveRoleFromInstanceProfile(input *RemoveRoleFromInstanceProfileInput) (*RemoveRoleFromInstanceProfileOutput, error) {
  2889. req, out := c.RemoveRoleFromInstanceProfileRequest(input)
  2890. err := req.Send()
  2891. return out, err
  2892. }
  2893. const opRemoveUserFromGroup = "RemoveUserFromGroup"
  2894. // RemoveUserFromGroupRequest generates a request for the RemoveUserFromGroup operation.
  2895. func (c *IAM) RemoveUserFromGroupRequest(input *RemoveUserFromGroupInput) (req *request.Request, output *RemoveUserFromGroupOutput) {
  2896. op := &request.Operation{
  2897. Name: opRemoveUserFromGroup,
  2898. HTTPMethod: "POST",
  2899. HTTPPath: "/",
  2900. }
  2901. if input == nil {
  2902. input = &RemoveUserFromGroupInput{}
  2903. }
  2904. req = c.newRequest(op, input, output)
  2905. output = &RemoveUserFromGroupOutput{}
  2906. req.Data = output
  2907. return
  2908. }
  2909. // Removes the specified user from the specified group.
  2910. func (c *IAM) RemoveUserFromGroup(input *RemoveUserFromGroupInput) (*RemoveUserFromGroupOutput, error) {
  2911. req, out := c.RemoveUserFromGroupRequest(input)
  2912. err := req.Send()
  2913. return out, err
  2914. }
  2915. const opResyncMFADevice = "ResyncMFADevice"
  2916. // ResyncMFADeviceRequest generates a request for the ResyncMFADevice operation.
  2917. func (c *IAM) ResyncMFADeviceRequest(input *ResyncMFADeviceInput) (req *request.Request, output *ResyncMFADeviceOutput) {
  2918. op := &request.Operation{
  2919. Name: opResyncMFADevice,
  2920. HTTPMethod: "POST",
  2921. HTTPPath: "/",
  2922. }
  2923. if input == nil {
  2924. input = &ResyncMFADeviceInput{}
  2925. }
  2926. req = c.newRequest(op, input, output)
  2927. output = &ResyncMFADeviceOutput{}
  2928. req.Data = output
  2929. return
  2930. }
  2931. // Synchronizes the specified MFA device with AWS servers.
  2932. //
  2933. // For more information about creating and working with virtual MFA devices,
  2934. // go to Using a Virtual MFA Device (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_VirtualMFA.html)
  2935. // in the Using IAM guide.
  2936. func (c *IAM) ResyncMFADevice(input *ResyncMFADeviceInput) (*ResyncMFADeviceOutput, error) {
  2937. req, out := c.ResyncMFADeviceRequest(input)
  2938. err := req.Send()
  2939. return out, err
  2940. }
  2941. const opSetDefaultPolicyVersion = "SetDefaultPolicyVersion"
  2942. // SetDefaultPolicyVersionRequest generates a request for the SetDefaultPolicyVersion operation.
  2943. func (c *IAM) SetDefaultPolicyVersionRequest(input *SetDefaultPolicyVersionInput) (req *request.Request, output *SetDefaultPolicyVersionOutput) {
  2944. op := &request.Operation{
  2945. Name: opSetDefaultPolicyVersion,
  2946. HTTPMethod: "POST",
  2947. HTTPPath: "/",
  2948. }
  2949. if input == nil {
  2950. input = &SetDefaultPolicyVersionInput{}
  2951. }
  2952. req = c.newRequest(op, input, output)
  2953. output = &SetDefaultPolicyVersionOutput{}
  2954. req.Data = output
  2955. return
  2956. }
  2957. // Sets the specified version of the specified policy as the policy's default
  2958. // (operative) version.
  2959. //
  2960. // This action affects all users, groups, and roles that the policy is attached
  2961. // to. To list the users, groups, and roles that the policy is attached to,
  2962. // use the ListEntitiesForPolicy API.
  2963. //
  2964. // For information about managed policies, refer to Managed Policies and Inline
  2965. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  2966. // in the Using IAM guide.
  2967. func (c *IAM) SetDefaultPolicyVersion(input *SetDefaultPolicyVersionInput) (*SetDefaultPolicyVersionOutput, error) {
  2968. req, out := c.SetDefaultPolicyVersionRequest(input)
  2969. err := req.Send()
  2970. return out, err
  2971. }
  2972. const opUpdateAccessKey = "UpdateAccessKey"
  2973. // UpdateAccessKeyRequest generates a request for the UpdateAccessKey operation.
  2974. func (c *IAM) UpdateAccessKeyRequest(input *UpdateAccessKeyInput) (req *request.Request, output *UpdateAccessKeyOutput) {
  2975. op := &request.Operation{
  2976. Name: opUpdateAccessKey,
  2977. HTTPMethod: "POST",
  2978. HTTPPath: "/",
  2979. }
  2980. if input == nil {
  2981. input = &UpdateAccessKeyInput{}
  2982. }
  2983. req = c.newRequest(op, input, output)
  2984. output = &UpdateAccessKeyOutput{}
  2985. req.Data = output
  2986. return
  2987. }
  2988. // Changes the status of the specified access key from Active to Inactive, or
  2989. // vice versa. This action can be used to disable a user's key as part of a
  2990. // key rotation work flow.
  2991. //
  2992. // If the UserName field is not specified, the UserName is determined implicitly
  2993. // based on the AWS access key ID used to sign the request. Because this action
  2994. // works for access keys under the AWS account, you can use this action to manage
  2995. // root credentials even if the AWS account has no associated users.
  2996. //
  2997. // For information about rotating keys, see Managing Keys and Certificates
  2998. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingCredentials.html)
  2999. // in the Using IAM guide.
  3000. func (c *IAM) UpdateAccessKey(input *UpdateAccessKeyInput) (*UpdateAccessKeyOutput, error) {
  3001. req, out := c.UpdateAccessKeyRequest(input)
  3002. err := req.Send()
  3003. return out, err
  3004. }
  3005. const opUpdateAccountPasswordPolicy = "UpdateAccountPasswordPolicy"
  3006. // UpdateAccountPasswordPolicyRequest generates a request for the UpdateAccountPasswordPolicy operation.
  3007. func (c *IAM) UpdateAccountPasswordPolicyRequest(input *UpdateAccountPasswordPolicyInput) (req *request.Request, output *UpdateAccountPasswordPolicyOutput) {
  3008. op := &request.Operation{
  3009. Name: opUpdateAccountPasswordPolicy,
  3010. HTTPMethod: "POST",
  3011. HTTPPath: "/",
  3012. }
  3013. if input == nil {
  3014. input = &UpdateAccountPasswordPolicyInput{}
  3015. }
  3016. req = c.newRequest(op, input, output)
  3017. output = &UpdateAccountPasswordPolicyOutput{}
  3018. req.Data = output
  3019. return
  3020. }
  3021. // Updates the password policy settings for the AWS account.
  3022. //
  3023. // This action does not support partial updates. No parameters are required,
  3024. // but if you do not specify a parameter, that parameter's value reverts to
  3025. // its default value. See the Request Parameters section for each parameter's
  3026. // default value.
  3027. //
  3028. // For more information about using a password policy, see Managing an IAM
  3029. // Password Policy (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingPasswordPolicies.html)
  3030. // in the Using IAM guide.
  3031. func (c *IAM) UpdateAccountPasswordPolicy(input *UpdateAccountPasswordPolicyInput) (*UpdateAccountPasswordPolicyOutput, error) {
  3032. req, out := c.UpdateAccountPasswordPolicyRequest(input)
  3033. err := req.Send()
  3034. return out, err
  3035. }
  3036. const opUpdateAssumeRolePolicy = "UpdateAssumeRolePolicy"
  3037. // UpdateAssumeRolePolicyRequest generates a request for the UpdateAssumeRolePolicy operation.
  3038. func (c *IAM) UpdateAssumeRolePolicyRequest(input *UpdateAssumeRolePolicyInput) (req *request.Request, output *UpdateAssumeRolePolicyOutput) {
  3039. op := &request.Operation{
  3040. Name: opUpdateAssumeRolePolicy,
  3041. HTTPMethod: "POST",
  3042. HTTPPath: "/",
  3043. }
  3044. if input == nil {
  3045. input = &UpdateAssumeRolePolicyInput{}
  3046. }
  3047. req = c.newRequest(op, input, output)
  3048. output = &UpdateAssumeRolePolicyOutput{}
  3049. req.Data = output
  3050. return
  3051. }
  3052. // Updates the policy that grants an entity permission to assume a role. For
  3053. // more information about roles, go to Using Roles to Delegate Permissions and
  3054. // Federate Identities (http://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html).
  3055. func (c *IAM) UpdateAssumeRolePolicy(input *UpdateAssumeRolePolicyInput) (*UpdateAssumeRolePolicyOutput, error) {
  3056. req, out := c.UpdateAssumeRolePolicyRequest(input)
  3057. err := req.Send()
  3058. return out, err
  3059. }
  3060. const opUpdateGroup = "UpdateGroup"
  3061. // UpdateGroupRequest generates a request for the UpdateGroup operation.
  3062. func (c *IAM) UpdateGroupRequest(input *UpdateGroupInput) (req *request.Request, output *UpdateGroupOutput) {
  3063. op := &request.Operation{
  3064. Name: opUpdateGroup,
  3065. HTTPMethod: "POST",
  3066. HTTPPath: "/",
  3067. }
  3068. if input == nil {
  3069. input = &UpdateGroupInput{}
  3070. }
  3071. req = c.newRequest(op, input, output)
  3072. output = &UpdateGroupOutput{}
  3073. req.Data = output
  3074. return
  3075. }
  3076. // Updates the name and/or the path of the specified group.
  3077. //
  3078. // You should understand the implications of changing a group's path or name.
  3079. // For more information, see Renaming Users and Groups (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_WorkingWithGroupsAndUsers.html)
  3080. // in the Using IAM guide. To change a group name the requester must have appropriate
  3081. // permissions on both the source object and the target object. For example,
  3082. // to change Managers to MGRs, the entity making the request must have permission
  3083. // on Managers and MGRs, or must have permission on all (*). For more information
  3084. // about permissions, see Permissions and Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/PermissionsAndPolicies.html"
  3085. // target="blank).
  3086. func (c *IAM) UpdateGroup(input *UpdateGroupInput) (*UpdateGroupOutput, error) {
  3087. req, out := c.UpdateGroupRequest(input)
  3088. err := req.Send()
  3089. return out, err
  3090. }
  3091. const opUpdateLoginProfile = "UpdateLoginProfile"
  3092. // UpdateLoginProfileRequest generates a request for the UpdateLoginProfile operation.
  3093. func (c *IAM) UpdateLoginProfileRequest(input *UpdateLoginProfileInput) (req *request.Request, output *UpdateLoginProfileOutput) {
  3094. op := &request.Operation{
  3095. Name: opUpdateLoginProfile,
  3096. HTTPMethod: "POST",
  3097. HTTPPath: "/",
  3098. }
  3099. if input == nil {
  3100. input = &UpdateLoginProfileInput{}
  3101. }
  3102. req = c.newRequest(op, input, output)
  3103. output = &UpdateLoginProfileOutput{}
  3104. req.Data = output
  3105. return
  3106. }
  3107. // Changes the password for the specified user.
  3108. //
  3109. // Users can change their own passwords by calling ChangePassword. For more
  3110. // information about modifying passwords, see Managing Passwords (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingLogins.html)
  3111. // in the Using IAM guide.
  3112. func (c *IAM) UpdateLoginProfile(input *UpdateLoginProfileInput) (*UpdateLoginProfileOutput, error) {
  3113. req, out := c.UpdateLoginProfileRequest(input)
  3114. err := req.Send()
  3115. return out, err
  3116. }
  3117. const opUpdateOpenIDConnectProviderThumbprint = "UpdateOpenIDConnectProviderThumbprint"
  3118. // UpdateOpenIDConnectProviderThumbprintRequest generates a request for the UpdateOpenIDConnectProviderThumbprint operation.
  3119. func (c *IAM) UpdateOpenIDConnectProviderThumbprintRequest(input *UpdateOpenIDConnectProviderThumbprintInput) (req *request.Request, output *UpdateOpenIDConnectProviderThumbprintOutput) {
  3120. op := &request.Operation{
  3121. Name: opUpdateOpenIDConnectProviderThumbprint,
  3122. HTTPMethod: "POST",
  3123. HTTPPath: "/",
  3124. }
  3125. if input == nil {
  3126. input = &UpdateOpenIDConnectProviderThumbprintInput{}
  3127. }
  3128. req = c.newRequest(op, input, output)
  3129. output = &UpdateOpenIDConnectProviderThumbprintOutput{}
  3130. req.Data = output
  3131. return
  3132. }
  3133. // Replaces the existing list of server certificate thumbprints with a new list.
  3134. //
  3135. // The list that you pass with this action completely replaces the existing
  3136. // list of thumbprints. (The lists are not merged.)
  3137. //
  3138. // Typically, you need to update a thumbprint only when the identity provider's
  3139. // certificate changes, which occurs rarely. However, if the provider's certificate
  3140. // does change, any attempt to assume an IAM role that specifies the OIDC provider
  3141. // as a principal will fail until the certificate thumbprint is updated.
  3142. //
  3143. // Because trust for the OpenID Connect provider is ultimately derived from
  3144. // the provider's certificate and is validated by the thumbprint, it is a best
  3145. // practice to limit access to the UpdateOpenIDConnectProviderThumbprint action
  3146. // to highly-privileged users.
  3147. func (c *IAM) UpdateOpenIDConnectProviderThumbprint(input *UpdateOpenIDConnectProviderThumbprintInput) (*UpdateOpenIDConnectProviderThumbprintOutput, error) {
  3148. req, out := c.UpdateOpenIDConnectProviderThumbprintRequest(input)
  3149. err := req.Send()
  3150. return out, err
  3151. }
  3152. const opUpdateSAMLProvider = "UpdateSAMLProvider"
  3153. // UpdateSAMLProviderRequest generates a request for the UpdateSAMLProvider operation.
  3154. func (c *IAM) UpdateSAMLProviderRequest(input *UpdateSAMLProviderInput) (req *request.Request, output *UpdateSAMLProviderOutput) {
  3155. op := &request.Operation{
  3156. Name: opUpdateSAMLProvider,
  3157. HTTPMethod: "POST",
  3158. HTTPPath: "/",
  3159. }
  3160. if input == nil {
  3161. input = &UpdateSAMLProviderInput{}
  3162. }
  3163. req = c.newRequest(op, input, output)
  3164. output = &UpdateSAMLProviderOutput{}
  3165. req.Data = output
  3166. return
  3167. }
  3168. // Updates the metadata document for an existing SAML provider.
  3169. //
  3170. // This operation requires Signature Version 4 (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
  3171. func (c *IAM) UpdateSAMLProvider(input *UpdateSAMLProviderInput) (*UpdateSAMLProviderOutput, error) {
  3172. req, out := c.UpdateSAMLProviderRequest(input)
  3173. err := req.Send()
  3174. return out, err
  3175. }
  3176. const opUpdateSSHPublicKey = "UpdateSSHPublicKey"
  3177. // UpdateSSHPublicKeyRequest generates a request for the UpdateSSHPublicKey operation.
  3178. func (c *IAM) UpdateSSHPublicKeyRequest(input *UpdateSSHPublicKeyInput) (req *request.Request, output *UpdateSSHPublicKeyOutput) {
  3179. op := &request.Operation{
  3180. Name: opUpdateSSHPublicKey,
  3181. HTTPMethod: "POST",
  3182. HTTPPath: "/",
  3183. }
  3184. if input == nil {
  3185. input = &UpdateSSHPublicKeyInput{}
  3186. }
  3187. req = c.newRequest(op, input, output)
  3188. output = &UpdateSSHPublicKeyOutput{}
  3189. req.Data = output
  3190. return
  3191. }
  3192. // Sets the status of the specified SSH public key to active or inactive. SSH
  3193. // public keys that are inactive cannot be used for authentication. This action
  3194. // can be used to disable a user's SSH public key as part of a key rotation
  3195. // work flow.
  3196. //
  3197. // The SSH public key affected by this action is used only for authenticating
  3198. // the associated IAM user to an AWS CodeCommit repository. For more information
  3199. // about using SSH keys to authenticate to an AWS CodeCommit repository, see
  3200. // Set up AWS CodeCommit for SSH Connections (http://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-credentials-ssh.html)
  3201. // in the AWS CodeCommit User Guide.
  3202. func (c *IAM) UpdateSSHPublicKey(input *UpdateSSHPublicKeyInput) (*UpdateSSHPublicKeyOutput, error) {
  3203. req, out := c.UpdateSSHPublicKeyRequest(input)
  3204. err := req.Send()
  3205. return out, err
  3206. }
  3207. const opUpdateServerCertificate = "UpdateServerCertificate"
  3208. // UpdateServerCertificateRequest generates a request for the UpdateServerCertificate operation.
  3209. func (c *IAM) UpdateServerCertificateRequest(input *UpdateServerCertificateInput) (req *request.Request, output *UpdateServerCertificateOutput) {
  3210. op := &request.Operation{
  3211. Name: opUpdateServerCertificate,
  3212. HTTPMethod: "POST",
  3213. HTTPPath: "/",
  3214. }
  3215. if input == nil {
  3216. input = &UpdateServerCertificateInput{}
  3217. }
  3218. req = c.newRequest(op, input, output)
  3219. output = &UpdateServerCertificateOutput{}
  3220. req.Data = output
  3221. return
  3222. }
  3223. // Updates the name and/or the path of the specified server certificate.
  3224. //
  3225. // You should understand the implications of changing a server certificate's
  3226. // path or name. For more information, see Managing Server Certificates (http://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingServerCerts.html)
  3227. // in the Using IAM guide. To change a server certificate name the requester
  3228. // must have appropriate permissions on both the source object and the target
  3229. // object. For example, to change the name from ProductionCert to ProdCert,
  3230. // the entity making the request must have permission on ProductionCert and
  3231. // ProdCert, or must have permission on all (*). For more information about
  3232. // permissions, see Permissions and Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/PermissionsAndPolicies.html"
  3233. // target="blank).
  3234. func (c *IAM) UpdateServerCertificate(input *UpdateServerCertificateInput) (*UpdateServerCertificateOutput, error) {
  3235. req, out := c.UpdateServerCertificateRequest(input)
  3236. err := req.Send()
  3237. return out, err
  3238. }
  3239. const opUpdateSigningCertificate = "UpdateSigningCertificate"
  3240. // UpdateSigningCertificateRequest generates a request for the UpdateSigningCertificate operation.
  3241. func (c *IAM) UpdateSigningCertificateRequest(input *UpdateSigningCertificateInput) (req *request.Request, output *UpdateSigningCertificateOutput) {
  3242. op := &request.Operation{
  3243. Name: opUpdateSigningCertificate,
  3244. HTTPMethod: "POST",
  3245. HTTPPath: "/",
  3246. }
  3247. if input == nil {
  3248. input = &UpdateSigningCertificateInput{}
  3249. }
  3250. req = c.newRequest(op, input, output)
  3251. output = &UpdateSigningCertificateOutput{}
  3252. req.Data = output
  3253. return
  3254. }
  3255. // Changes the status of the specified signing certificate from active to disabled,
  3256. // or vice versa. This action can be used to disable a user's signing certificate
  3257. // as part of a certificate rotation work flow.
  3258. //
  3259. // If the UserName field is not specified, the UserName is determined implicitly
  3260. // based on the AWS access key ID used to sign the request. Because this action
  3261. // works for access keys under the AWS account, you can use this action to manage
  3262. // root credentials even if the AWS account has no associated users.
  3263. func (c *IAM) UpdateSigningCertificate(input *UpdateSigningCertificateInput) (*UpdateSigningCertificateOutput, error) {
  3264. req, out := c.UpdateSigningCertificateRequest(input)
  3265. err := req.Send()
  3266. return out, err
  3267. }
  3268. const opUpdateUser = "UpdateUser"
  3269. // UpdateUserRequest generates a request for the UpdateUser operation.
  3270. func (c *IAM) UpdateUserRequest(input *UpdateUserInput) (req *request.Request, output *UpdateUserOutput) {
  3271. op := &request.Operation{
  3272. Name: opUpdateUser,
  3273. HTTPMethod: "POST",
  3274. HTTPPath: "/",
  3275. }
  3276. if input == nil {
  3277. input = &UpdateUserInput{}
  3278. }
  3279. req = c.newRequest(op, input, output)
  3280. output = &UpdateUserOutput{}
  3281. req.Data = output
  3282. return
  3283. }
  3284. // Updates the name and/or the path of the specified user.
  3285. //
  3286. // You should understand the implications of changing a user's path or name.
  3287. // For more information, see Renaming Users and Groups (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_WorkingWithGroupsAndUsers.html)
  3288. // in the Using IAM guide. To change a user name the requester must have appropriate
  3289. // permissions on both the source object and the target object. For example,
  3290. // to change Bob to Robert, the entity making the request must have permission
  3291. // on Bob and Robert, or must have permission on all (*). For more information
  3292. // about permissions, see Permissions and Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/PermissionsAndPolicies.html"
  3293. // target="blank).
  3294. func (c *IAM) UpdateUser(input *UpdateUserInput) (*UpdateUserOutput, error) {
  3295. req, out := c.UpdateUserRequest(input)
  3296. err := req.Send()
  3297. return out, err
  3298. }
  3299. const opUploadSSHPublicKey = "UploadSSHPublicKey"
  3300. // UploadSSHPublicKeyRequest generates a request for the UploadSSHPublicKey operation.
  3301. func (c *IAM) UploadSSHPublicKeyRequest(input *UploadSSHPublicKeyInput) (req *request.Request, output *UploadSSHPublicKeyOutput) {
  3302. op := &request.Operation{
  3303. Name: opUploadSSHPublicKey,
  3304. HTTPMethod: "POST",
  3305. HTTPPath: "/",
  3306. }
  3307. if input == nil {
  3308. input = &UploadSSHPublicKeyInput{}
  3309. }
  3310. req = c.newRequest(op, input, output)
  3311. output = &UploadSSHPublicKeyOutput{}
  3312. req.Data = output
  3313. return
  3314. }
  3315. // Uploads an SSH public key and associates it with the specified IAM user.
  3316. //
  3317. // The SSH public key uploaded by this action can be used only for authenticating
  3318. // the associated IAM user to an AWS CodeCommit repository. For more information
  3319. // about using SSH keys to authenticate to an AWS CodeCommit repository, see
  3320. // Set up AWS CodeCommit for SSH Connections (http://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-credentials-ssh.html)
  3321. // in the AWS CodeCommit User Guide.
  3322. func (c *IAM) UploadSSHPublicKey(input *UploadSSHPublicKeyInput) (*UploadSSHPublicKeyOutput, error) {
  3323. req, out := c.UploadSSHPublicKeyRequest(input)
  3324. err := req.Send()
  3325. return out, err
  3326. }
  3327. const opUploadServerCertificate = "UploadServerCertificate"
  3328. // UploadServerCertificateRequest generates a request for the UploadServerCertificate operation.
  3329. func (c *IAM) UploadServerCertificateRequest(input *UploadServerCertificateInput) (req *request.Request, output *UploadServerCertificateOutput) {
  3330. op := &request.Operation{
  3331. Name: opUploadServerCertificate,
  3332. HTTPMethod: "POST",
  3333. HTTPPath: "/",
  3334. }
  3335. if input == nil {
  3336. input = &UploadServerCertificateInput{}
  3337. }
  3338. req = c.newRequest(op, input, output)
  3339. output = &UploadServerCertificateOutput{}
  3340. req.Data = output
  3341. return
  3342. }
  3343. // Uploads a server certificate entity for the AWS account. The server certificate
  3344. // entity includes a public key certificate, a private key, and an optional
  3345. // certificate chain, which should all be PEM-encoded.
  3346. //
  3347. // For information about the number of server certificates you can upload,
  3348. // see Limitations on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
  3349. // in the Using IAM guide.
  3350. //
  3351. // Because the body of the public key certificate, private key, and the certificate
  3352. // chain can be large, you should use POST rather than GET when calling UploadServerCertificate.
  3353. // For information about setting up signatures and authorization through the
  3354. // API, go to Signing AWS API Requests (http://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html)
  3355. // in the AWS General Reference. For general information about using the Query
  3356. // API with IAM, go to Making Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html)
  3357. // in the Using IAM guide.
  3358. func (c *IAM) UploadServerCertificate(input *UploadServerCertificateInput) (*UploadServerCertificateOutput, error) {
  3359. req, out := c.UploadServerCertificateRequest(input)
  3360. err := req.Send()
  3361. return out, err
  3362. }
  3363. const opUploadSigningCertificate = "UploadSigningCertificate"
  3364. // UploadSigningCertificateRequest generates a request for the UploadSigningCertificate operation.
  3365. func (c *IAM) UploadSigningCertificateRequest(input *UploadSigningCertificateInput) (req *request.Request, output *UploadSigningCertificateOutput) {
  3366. op := &request.Operation{
  3367. Name: opUploadSigningCertificate,
  3368. HTTPMethod: "POST",
  3369. HTTPPath: "/",
  3370. }
  3371. if input == nil {
  3372. input = &UploadSigningCertificateInput{}
  3373. }
  3374. req = c.newRequest(op, input, output)
  3375. output = &UploadSigningCertificateOutput{}
  3376. req.Data = output
  3377. return
  3378. }
  3379. // Uploads an X.509 signing certificate and associates it with the specified
  3380. // user. Some AWS services use X.509 signing certificates to validate requests
  3381. // that are signed with a corresponding private key. When you upload the certificate,
  3382. // its default status is Active.
  3383. //
  3384. // If the UserName field is not specified, the user name is determined implicitly
  3385. // based on the AWS access key ID used to sign the request. Because this action
  3386. // works for access keys under the AWS account, you can use this action to manage
  3387. // root credentials even if the AWS account has no associated users.
  3388. //
  3389. // Because the body of a X.509 certificate can be large, you should use POST
  3390. // rather than GET when calling UploadSigningCertificate. For information about
  3391. // setting up signatures and authorization through the API, go to Signing AWS
  3392. // API Requests (http://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html)
  3393. // in the AWS General Reference. For general information about using the Query
  3394. // API with IAM, go to Making Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html)
  3395. // in the Using IAMguide.
  3396. func (c *IAM) UploadSigningCertificate(input *UploadSigningCertificateInput) (*UploadSigningCertificateOutput, error) {
  3397. req, out := c.UploadSigningCertificateRequest(input)
  3398. err := req.Send()
  3399. return out, err
  3400. }
  3401. // Contains information about an AWS access key.
  3402. //
  3403. // This data type is used as a response element in the CreateAccessKey and
  3404. // ListAccessKeys actions.
  3405. //
  3406. // The SecretAccessKey value is returned only in response to CreateAccessKey.
  3407. // You can get a secret access key only when you first create an access key;
  3408. // you cannot recover the secret access key later. If you lose a secret access
  3409. // key, you must create a new access key.
  3410. type AccessKey struct {
  3411. // The ID for this access key.
  3412. AccessKeyId *string `type:"string" required:"true"`
  3413. // The date when the access key was created.
  3414. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  3415. // The secret key used to sign requests.
  3416. SecretAccessKey *string `type:"string" required:"true"`
  3417. // The status of the access key. Active means the key is valid for API calls,
  3418. // while Inactive means it is not.
  3419. Status *string `type:"string" required:"true" enum:"statusType"`
  3420. // The name of the IAM user that the access key is associated with.
  3421. UserName *string `type:"string" required:"true"`
  3422. metadataAccessKey `json:"-" xml:"-"`
  3423. }
  3424. type metadataAccessKey struct {
  3425. SDKShapeTraits bool `type:"structure"`
  3426. }
  3427. // String returns the string representation
  3428. func (s AccessKey) String() string {
  3429. return awsutil.Prettify(s)
  3430. }
  3431. // GoString returns the string representation
  3432. func (s AccessKey) GoString() string {
  3433. return s.String()
  3434. }
  3435. // Contains information about the last time an AWS access key was used.
  3436. //
  3437. // This data type is used as a response element in the GetAccessKeyLastUsed
  3438. // action.
  3439. type AccessKeyLastUsed struct {
  3440. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  3441. // when the access key was most recently used. This field is null when:
  3442. //
  3443. // The user does not have an access key.
  3444. //
  3445. // An access key exists but has never been used, at least not since IAM started
  3446. // tracking this information on April 22nd, 2015.
  3447. //
  3448. // There is no sign-in data associated with the user
  3449. LastUsedDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  3450. // The AWS region where this access key was most recently used. This field is
  3451. // null when:
  3452. //
  3453. // The user does not have an access key.
  3454. //
  3455. // An access key exists but has never been used, at least not since IAM started
  3456. // tracking this information on April 22nd, 2015.
  3457. //
  3458. // There is no sign-in data associated with the user
  3459. //
  3460. // For more information about AWS regions, see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html)
  3461. // in the Amazon Web Services General Reference.
  3462. Region *string `type:"string" required:"true"`
  3463. // The name of the AWS service with which this access key was most recently
  3464. // used. This field is null when:
  3465. //
  3466. // The user does not have an access key.
  3467. //
  3468. // An access key exists but has never been used, at least not since IAM started
  3469. // tracking this information on April 22nd, 2015.
  3470. //
  3471. // There is no sign-in data associated with the user
  3472. ServiceName *string `type:"string" required:"true"`
  3473. metadataAccessKeyLastUsed `json:"-" xml:"-"`
  3474. }
  3475. type metadataAccessKeyLastUsed struct {
  3476. SDKShapeTraits bool `type:"structure"`
  3477. }
  3478. // String returns the string representation
  3479. func (s AccessKeyLastUsed) String() string {
  3480. return awsutil.Prettify(s)
  3481. }
  3482. // GoString returns the string representation
  3483. func (s AccessKeyLastUsed) GoString() string {
  3484. return s.String()
  3485. }
  3486. // Contains information about an AWS access key, without its secret key.
  3487. //
  3488. // This data type is used as a response element in the ListAccessKeys action.
  3489. type AccessKeyMetadata struct {
  3490. // The ID for this access key.
  3491. AccessKeyId *string `type:"string"`
  3492. // The date when the access key was created.
  3493. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  3494. // The status of the access key. Active means the key is valid for API calls;
  3495. // Inactive means it is not.
  3496. Status *string `type:"string" enum:"statusType"`
  3497. // The name of the IAM user that the key is associated with.
  3498. UserName *string `type:"string"`
  3499. metadataAccessKeyMetadata `json:"-" xml:"-"`
  3500. }
  3501. type metadataAccessKeyMetadata struct {
  3502. SDKShapeTraits bool `type:"structure"`
  3503. }
  3504. // String returns the string representation
  3505. func (s AccessKeyMetadata) String() string {
  3506. return awsutil.Prettify(s)
  3507. }
  3508. // GoString returns the string representation
  3509. func (s AccessKeyMetadata) GoString() string {
  3510. return s.String()
  3511. }
  3512. type AddClientIDToOpenIDConnectProviderInput struct {
  3513. // The client ID (also known as audience) to add to the IAM OpenID Connect provider.
  3514. ClientID *string `type:"string" required:"true"`
  3515. // The Amazon Resource Name (ARN) of the IAM OpenID Connect (OIDC) provider
  3516. // to add the client ID to. You can get a list of OIDC provider ARNs by using
  3517. // the ListOpenIDConnectProviders action.
  3518. OpenIDConnectProviderArn *string `type:"string" required:"true"`
  3519. metadataAddClientIDToOpenIDConnectProviderInput `json:"-" xml:"-"`
  3520. }
  3521. type metadataAddClientIDToOpenIDConnectProviderInput struct {
  3522. SDKShapeTraits bool `type:"structure"`
  3523. }
  3524. // String returns the string representation
  3525. func (s AddClientIDToOpenIDConnectProviderInput) String() string {
  3526. return awsutil.Prettify(s)
  3527. }
  3528. // GoString returns the string representation
  3529. func (s AddClientIDToOpenIDConnectProviderInput) GoString() string {
  3530. return s.String()
  3531. }
  3532. type AddClientIDToOpenIDConnectProviderOutput struct {
  3533. metadataAddClientIDToOpenIDConnectProviderOutput `json:"-" xml:"-"`
  3534. }
  3535. type metadataAddClientIDToOpenIDConnectProviderOutput struct {
  3536. SDKShapeTraits bool `type:"structure"`
  3537. }
  3538. // String returns the string representation
  3539. func (s AddClientIDToOpenIDConnectProviderOutput) String() string {
  3540. return awsutil.Prettify(s)
  3541. }
  3542. // GoString returns the string representation
  3543. func (s AddClientIDToOpenIDConnectProviderOutput) GoString() string {
  3544. return s.String()
  3545. }
  3546. type AddRoleToInstanceProfileInput struct {
  3547. // The name of the instance profile to update.
  3548. InstanceProfileName *string `type:"string" required:"true"`
  3549. // The name of the role to add.
  3550. RoleName *string `type:"string" required:"true"`
  3551. metadataAddRoleToInstanceProfileInput `json:"-" xml:"-"`
  3552. }
  3553. type metadataAddRoleToInstanceProfileInput struct {
  3554. SDKShapeTraits bool `type:"structure"`
  3555. }
  3556. // String returns the string representation
  3557. func (s AddRoleToInstanceProfileInput) String() string {
  3558. return awsutil.Prettify(s)
  3559. }
  3560. // GoString returns the string representation
  3561. func (s AddRoleToInstanceProfileInput) GoString() string {
  3562. return s.String()
  3563. }
  3564. type AddRoleToInstanceProfileOutput struct {
  3565. metadataAddRoleToInstanceProfileOutput `json:"-" xml:"-"`
  3566. }
  3567. type metadataAddRoleToInstanceProfileOutput struct {
  3568. SDKShapeTraits bool `type:"structure"`
  3569. }
  3570. // String returns the string representation
  3571. func (s AddRoleToInstanceProfileOutput) String() string {
  3572. return awsutil.Prettify(s)
  3573. }
  3574. // GoString returns the string representation
  3575. func (s AddRoleToInstanceProfileOutput) GoString() string {
  3576. return s.String()
  3577. }
  3578. type AddUserToGroupInput struct {
  3579. // The name of the group to update.
  3580. GroupName *string `type:"string" required:"true"`
  3581. // The name of the user to add.
  3582. UserName *string `type:"string" required:"true"`
  3583. metadataAddUserToGroupInput `json:"-" xml:"-"`
  3584. }
  3585. type metadataAddUserToGroupInput struct {
  3586. SDKShapeTraits bool `type:"structure"`
  3587. }
  3588. // String returns the string representation
  3589. func (s AddUserToGroupInput) String() string {
  3590. return awsutil.Prettify(s)
  3591. }
  3592. // GoString returns the string representation
  3593. func (s AddUserToGroupInput) GoString() string {
  3594. return s.String()
  3595. }
  3596. type AddUserToGroupOutput struct {
  3597. metadataAddUserToGroupOutput `json:"-" xml:"-"`
  3598. }
  3599. type metadataAddUserToGroupOutput struct {
  3600. SDKShapeTraits bool `type:"structure"`
  3601. }
  3602. // String returns the string representation
  3603. func (s AddUserToGroupOutput) String() string {
  3604. return awsutil.Prettify(s)
  3605. }
  3606. // GoString returns the string representation
  3607. func (s AddUserToGroupOutput) GoString() string {
  3608. return s.String()
  3609. }
  3610. type AttachGroupPolicyInput struct {
  3611. // The name (friendly name, not ARN) of the group to attach the policy to.
  3612. GroupName *string `type:"string" required:"true"`
  3613. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  3614. //
  3615. // For more information about ARNs, go to Amazon Resource Names (ARNs) and
  3616. // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  3617. // in the AWS General Reference.
  3618. PolicyArn *string `type:"string" required:"true"`
  3619. metadataAttachGroupPolicyInput `json:"-" xml:"-"`
  3620. }
  3621. type metadataAttachGroupPolicyInput struct {
  3622. SDKShapeTraits bool `type:"structure"`
  3623. }
  3624. // String returns the string representation
  3625. func (s AttachGroupPolicyInput) String() string {
  3626. return awsutil.Prettify(s)
  3627. }
  3628. // GoString returns the string representation
  3629. func (s AttachGroupPolicyInput) GoString() string {
  3630. return s.String()
  3631. }
  3632. type AttachGroupPolicyOutput struct {
  3633. metadataAttachGroupPolicyOutput `json:"-" xml:"-"`
  3634. }
  3635. type metadataAttachGroupPolicyOutput struct {
  3636. SDKShapeTraits bool `type:"structure"`
  3637. }
  3638. // String returns the string representation
  3639. func (s AttachGroupPolicyOutput) String() string {
  3640. return awsutil.Prettify(s)
  3641. }
  3642. // GoString returns the string representation
  3643. func (s AttachGroupPolicyOutput) GoString() string {
  3644. return s.String()
  3645. }
  3646. type AttachRolePolicyInput struct {
  3647. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  3648. //
  3649. // For more information about ARNs, go to Amazon Resource Names (ARNs) and
  3650. // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  3651. // in the AWS General Reference.
  3652. PolicyArn *string `type:"string" required:"true"`
  3653. // The name (friendly name, not ARN) of the role to attach the policy to.
  3654. RoleName *string `type:"string" required:"true"`
  3655. metadataAttachRolePolicyInput `json:"-" xml:"-"`
  3656. }
  3657. type metadataAttachRolePolicyInput struct {
  3658. SDKShapeTraits bool `type:"structure"`
  3659. }
  3660. // String returns the string representation
  3661. func (s AttachRolePolicyInput) String() string {
  3662. return awsutil.Prettify(s)
  3663. }
  3664. // GoString returns the string representation
  3665. func (s AttachRolePolicyInput) GoString() string {
  3666. return s.String()
  3667. }
  3668. type AttachRolePolicyOutput struct {
  3669. metadataAttachRolePolicyOutput `json:"-" xml:"-"`
  3670. }
  3671. type metadataAttachRolePolicyOutput struct {
  3672. SDKShapeTraits bool `type:"structure"`
  3673. }
  3674. // String returns the string representation
  3675. func (s AttachRolePolicyOutput) String() string {
  3676. return awsutil.Prettify(s)
  3677. }
  3678. // GoString returns the string representation
  3679. func (s AttachRolePolicyOutput) GoString() string {
  3680. return s.String()
  3681. }
  3682. type AttachUserPolicyInput struct {
  3683. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  3684. //
  3685. // For more information about ARNs, go to Amazon Resource Names (ARNs) and
  3686. // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  3687. // in the AWS General Reference.
  3688. PolicyArn *string `type:"string" required:"true"`
  3689. // The name (friendly name, not ARN) of the user to attach the policy to.
  3690. UserName *string `type:"string" required:"true"`
  3691. metadataAttachUserPolicyInput `json:"-" xml:"-"`
  3692. }
  3693. type metadataAttachUserPolicyInput struct {
  3694. SDKShapeTraits bool `type:"structure"`
  3695. }
  3696. // String returns the string representation
  3697. func (s AttachUserPolicyInput) String() string {
  3698. return awsutil.Prettify(s)
  3699. }
  3700. // GoString returns the string representation
  3701. func (s AttachUserPolicyInput) GoString() string {
  3702. return s.String()
  3703. }
  3704. type AttachUserPolicyOutput struct {
  3705. metadataAttachUserPolicyOutput `json:"-" xml:"-"`
  3706. }
  3707. type metadataAttachUserPolicyOutput struct {
  3708. SDKShapeTraits bool `type:"structure"`
  3709. }
  3710. // String returns the string representation
  3711. func (s AttachUserPolicyOutput) String() string {
  3712. return awsutil.Prettify(s)
  3713. }
  3714. // GoString returns the string representation
  3715. func (s AttachUserPolicyOutput) GoString() string {
  3716. return s.String()
  3717. }
  3718. // Contains information about an attached policy.
  3719. //
  3720. // An attached policy is a managed policy that has been attached to a user,
  3721. // group, or role. This data type is used as a response element in the ListAttachedGroupPolicies,
  3722. // ListAttachedRolePolicies, ListAttachedUserPolicies, and GetAccountAuthorizationDetails
  3723. // actions.
  3724. //
  3725. // For more information about managed policies, refer to Managed Policies and
  3726. // Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  3727. // in the Using IAM guide.
  3728. type AttachedPolicy struct {
  3729. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  3730. //
  3731. // For more information about ARNs, go to Amazon Resource Names (ARNs) and
  3732. // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  3733. // in the AWS General Reference.
  3734. PolicyArn *string `type:"string"`
  3735. // The friendly name of the attached policy.
  3736. PolicyName *string `type:"string"`
  3737. metadataAttachedPolicy `json:"-" xml:"-"`
  3738. }
  3739. type metadataAttachedPolicy struct {
  3740. SDKShapeTraits bool `type:"structure"`
  3741. }
  3742. // String returns the string representation
  3743. func (s AttachedPolicy) String() string {
  3744. return awsutil.Prettify(s)
  3745. }
  3746. // GoString returns the string representation
  3747. func (s AttachedPolicy) GoString() string {
  3748. return s.String()
  3749. }
  3750. type ChangePasswordInput struct {
  3751. // The new password. The new password must conform to the AWS account's password
  3752. // policy, if one exists.
  3753. NewPassword *string `type:"string" required:"true"`
  3754. // The IAM user's current password.
  3755. OldPassword *string `type:"string" required:"true"`
  3756. metadataChangePasswordInput `json:"-" xml:"-"`
  3757. }
  3758. type metadataChangePasswordInput struct {
  3759. SDKShapeTraits bool `type:"structure"`
  3760. }
  3761. // String returns the string representation
  3762. func (s ChangePasswordInput) String() string {
  3763. return awsutil.Prettify(s)
  3764. }
  3765. // GoString returns the string representation
  3766. func (s ChangePasswordInput) GoString() string {
  3767. return s.String()
  3768. }
  3769. type ChangePasswordOutput struct {
  3770. metadataChangePasswordOutput `json:"-" xml:"-"`
  3771. }
  3772. type metadataChangePasswordOutput struct {
  3773. SDKShapeTraits bool `type:"structure"`
  3774. }
  3775. // String returns the string representation
  3776. func (s ChangePasswordOutput) String() string {
  3777. return awsutil.Prettify(s)
  3778. }
  3779. // GoString returns the string representation
  3780. func (s ChangePasswordOutput) GoString() string {
  3781. return s.String()
  3782. }
  3783. type CreateAccessKeyInput struct {
  3784. // The user name that the new key will belong to.
  3785. UserName *string `type:"string"`
  3786. metadataCreateAccessKeyInput `json:"-" xml:"-"`
  3787. }
  3788. type metadataCreateAccessKeyInput struct {
  3789. SDKShapeTraits bool `type:"structure"`
  3790. }
  3791. // String returns the string representation
  3792. func (s CreateAccessKeyInput) String() string {
  3793. return awsutil.Prettify(s)
  3794. }
  3795. // GoString returns the string representation
  3796. func (s CreateAccessKeyInput) GoString() string {
  3797. return s.String()
  3798. }
  3799. // Contains the response to a successful CreateAccessKey request.
  3800. type CreateAccessKeyOutput struct {
  3801. // Information about the access key.
  3802. AccessKey *AccessKey `type:"structure" required:"true"`
  3803. metadataCreateAccessKeyOutput `json:"-" xml:"-"`
  3804. }
  3805. type metadataCreateAccessKeyOutput struct {
  3806. SDKShapeTraits bool `type:"structure"`
  3807. }
  3808. // String returns the string representation
  3809. func (s CreateAccessKeyOutput) String() string {
  3810. return awsutil.Prettify(s)
  3811. }
  3812. // GoString returns the string representation
  3813. func (s CreateAccessKeyOutput) GoString() string {
  3814. return s.String()
  3815. }
  3816. type CreateAccountAliasInput struct {
  3817. // The account alias to create.
  3818. AccountAlias *string `type:"string" required:"true"`
  3819. metadataCreateAccountAliasInput `json:"-" xml:"-"`
  3820. }
  3821. type metadataCreateAccountAliasInput struct {
  3822. SDKShapeTraits bool `type:"structure"`
  3823. }
  3824. // String returns the string representation
  3825. func (s CreateAccountAliasInput) String() string {
  3826. return awsutil.Prettify(s)
  3827. }
  3828. // GoString returns the string representation
  3829. func (s CreateAccountAliasInput) GoString() string {
  3830. return s.String()
  3831. }
  3832. type CreateAccountAliasOutput struct {
  3833. metadataCreateAccountAliasOutput `json:"-" xml:"-"`
  3834. }
  3835. type metadataCreateAccountAliasOutput struct {
  3836. SDKShapeTraits bool `type:"structure"`
  3837. }
  3838. // String returns the string representation
  3839. func (s CreateAccountAliasOutput) String() string {
  3840. return awsutil.Prettify(s)
  3841. }
  3842. // GoString returns the string representation
  3843. func (s CreateAccountAliasOutput) GoString() string {
  3844. return s.String()
  3845. }
  3846. type CreateGroupInput struct {
  3847. // The name of the group to create. Do not include the path in this value.
  3848. GroupName *string `type:"string" required:"true"`
  3849. // The path to the group. For more information about paths, see IAM Identifiers
  3850. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  3851. // in the Using IAM guide.
  3852. //
  3853. // This parameter is optional. If it is not included, it defaults to a slash
  3854. // (/).
  3855. Path *string `type:"string"`
  3856. metadataCreateGroupInput `json:"-" xml:"-"`
  3857. }
  3858. type metadataCreateGroupInput struct {
  3859. SDKShapeTraits bool `type:"structure"`
  3860. }
  3861. // String returns the string representation
  3862. func (s CreateGroupInput) String() string {
  3863. return awsutil.Prettify(s)
  3864. }
  3865. // GoString returns the string representation
  3866. func (s CreateGroupInput) GoString() string {
  3867. return s.String()
  3868. }
  3869. // Contains the response to a successful CreateGroup request.
  3870. type CreateGroupOutput struct {
  3871. // Information about the group.
  3872. Group *Group `type:"structure" required:"true"`
  3873. metadataCreateGroupOutput `json:"-" xml:"-"`
  3874. }
  3875. type metadataCreateGroupOutput struct {
  3876. SDKShapeTraits bool `type:"structure"`
  3877. }
  3878. // String returns the string representation
  3879. func (s CreateGroupOutput) String() string {
  3880. return awsutil.Prettify(s)
  3881. }
  3882. // GoString returns the string representation
  3883. func (s CreateGroupOutput) GoString() string {
  3884. return s.String()
  3885. }
  3886. type CreateInstanceProfileInput struct {
  3887. // The name of the instance profile to create.
  3888. InstanceProfileName *string `type:"string" required:"true"`
  3889. // The path to the instance profile. For more information about paths, see IAM
  3890. // Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  3891. // in the Using IAM guide.
  3892. //
  3893. // This parameter is optional. If it is not included, it defaults to a slash
  3894. // (/).
  3895. Path *string `type:"string"`
  3896. metadataCreateInstanceProfileInput `json:"-" xml:"-"`
  3897. }
  3898. type metadataCreateInstanceProfileInput struct {
  3899. SDKShapeTraits bool `type:"structure"`
  3900. }
  3901. // String returns the string representation
  3902. func (s CreateInstanceProfileInput) String() string {
  3903. return awsutil.Prettify(s)
  3904. }
  3905. // GoString returns the string representation
  3906. func (s CreateInstanceProfileInput) GoString() string {
  3907. return s.String()
  3908. }
  3909. // Contains the response to a successful CreateInstanceProfile request.
  3910. type CreateInstanceProfileOutput struct {
  3911. // Information about the instance profile.
  3912. InstanceProfile *InstanceProfile `type:"structure" required:"true"`
  3913. metadataCreateInstanceProfileOutput `json:"-" xml:"-"`
  3914. }
  3915. type metadataCreateInstanceProfileOutput struct {
  3916. SDKShapeTraits bool `type:"structure"`
  3917. }
  3918. // String returns the string representation
  3919. func (s CreateInstanceProfileOutput) String() string {
  3920. return awsutil.Prettify(s)
  3921. }
  3922. // GoString returns the string representation
  3923. func (s CreateInstanceProfileOutput) GoString() string {
  3924. return s.String()
  3925. }
  3926. type CreateLoginProfileInput struct {
  3927. // The new password for the user.
  3928. Password *string `type:"string" required:"true"`
  3929. // Specifies whether the user is required to set a new password on next sign-in.
  3930. PasswordResetRequired *bool `type:"boolean"`
  3931. // The name of the user to create a password for.
  3932. UserName *string `type:"string" required:"true"`
  3933. metadataCreateLoginProfileInput `json:"-" xml:"-"`
  3934. }
  3935. type metadataCreateLoginProfileInput struct {
  3936. SDKShapeTraits bool `type:"structure"`
  3937. }
  3938. // String returns the string representation
  3939. func (s CreateLoginProfileInput) String() string {
  3940. return awsutil.Prettify(s)
  3941. }
  3942. // GoString returns the string representation
  3943. func (s CreateLoginProfileInput) GoString() string {
  3944. return s.String()
  3945. }
  3946. // Contains the response to a successful CreateLoginProfile request.
  3947. type CreateLoginProfileOutput struct {
  3948. // The user name and password create date.
  3949. LoginProfile *LoginProfile `type:"structure" required:"true"`
  3950. metadataCreateLoginProfileOutput `json:"-" xml:"-"`
  3951. }
  3952. type metadataCreateLoginProfileOutput struct {
  3953. SDKShapeTraits bool `type:"structure"`
  3954. }
  3955. // String returns the string representation
  3956. func (s CreateLoginProfileOutput) String() string {
  3957. return awsutil.Prettify(s)
  3958. }
  3959. // GoString returns the string representation
  3960. func (s CreateLoginProfileOutput) GoString() string {
  3961. return s.String()
  3962. }
  3963. type CreateOpenIDConnectProviderInput struct {
  3964. // A list of client IDs (also known as audiences). When a mobile or web app
  3965. // registers with an OpenID Connect provider, they establish a value that identifies
  3966. // the application. (This is the value that's sent as the client_id parameter
  3967. // on OAuth requests.)
  3968. //
  3969. // You can register multiple client IDs with the same provider. For example,
  3970. // you might have multiple applications that use the same OIDC provider. You
  3971. // cannot register more than 100 client IDs with a single IAM OIDC provider.
  3972. //
  3973. // There is no defined format for a client ID. The CreateOpenIDConnectProviderRequest
  3974. // action accepts client IDs up to 255 characters long.
  3975. ClientIDList []*string `type:"list"`
  3976. // A list of server certificate thumbprints for the OpenID Connect (OIDC) identity
  3977. // provider's server certificate(s). Typically this list includes only one entry.
  3978. // However, IAM lets you have up to five thumbprints for an OIDC provider. This
  3979. // lets you maintain multiple thumbprints if the identity provider is rotating
  3980. // certificates.
  3981. //
  3982. // The server certificate thumbprint is the hex-encoded SHA-1 hash value of
  3983. // the X.509 certificate used by the domain where the OpenID Connect provider
  3984. // makes its keys available. It is always a 40-character string.
  3985. //
  3986. // You must provide at least one thumbprint when creating an IAM OIDC provider.
  3987. // For example, if the OIDC provider is server.example.com and the provider
  3988. // stores its keys at "https://keys.server.example.com/openid-connect", the
  3989. // thumbprint string would be the hex-encoded SHA-1 hash value of the certificate
  3990. // used by https://keys.server.example.com.
  3991. //
  3992. // For more information about obtaining the OIDC provider's thumbprint, see
  3993. // Obtaining the Thumbprint for an OpenID Connect Provider (http://docs.aws.amazon.com/IAM/latest/UserGuide/identity-providers-oidc-obtain-thumbprint.html)
  3994. // in the Using IAM guide.
  3995. ThumbprintList []*string `type:"list" required:"true"`
  3996. // The URL of the identity provider. The URL must begin with "https://" and
  3997. // should correspond to the iss claim in the provider's OpenID Connect ID tokens.
  3998. // Per the OIDC standard, path components are allowed but query parameters are
  3999. // not. Typically the URL consists of only a host name, like "https://server.example.org"
  4000. // or "https://example.com".
  4001. //
  4002. // You cannot register the same provider multiple times in a single AWS account.
  4003. // If you try to submit a URL that has already been used for an OpenID Connect
  4004. // provider in the AWS account, you will get an error.
  4005. Url *string `type:"string" required:"true"`
  4006. metadataCreateOpenIDConnectProviderInput `json:"-" xml:"-"`
  4007. }
  4008. type metadataCreateOpenIDConnectProviderInput struct {
  4009. SDKShapeTraits bool `type:"structure"`
  4010. }
  4011. // String returns the string representation
  4012. func (s CreateOpenIDConnectProviderInput) String() string {
  4013. return awsutil.Prettify(s)
  4014. }
  4015. // GoString returns the string representation
  4016. func (s CreateOpenIDConnectProviderInput) GoString() string {
  4017. return s.String()
  4018. }
  4019. // Contains the response to a successful CreateOpenIDConnectProvider request.
  4020. type CreateOpenIDConnectProviderOutput struct {
  4021. // The Amazon Resource Name (ARN) of the IAM OpenID Connect provider that was
  4022. // created. For more information, see OpenIDConnectProviderListEntry.
  4023. OpenIDConnectProviderArn *string `type:"string"`
  4024. metadataCreateOpenIDConnectProviderOutput `json:"-" xml:"-"`
  4025. }
  4026. type metadataCreateOpenIDConnectProviderOutput struct {
  4027. SDKShapeTraits bool `type:"structure"`
  4028. }
  4029. // String returns the string representation
  4030. func (s CreateOpenIDConnectProviderOutput) String() string {
  4031. return awsutil.Prettify(s)
  4032. }
  4033. // GoString returns the string representation
  4034. func (s CreateOpenIDConnectProviderOutput) GoString() string {
  4035. return s.String()
  4036. }
  4037. type CreatePolicyInput struct {
  4038. // A friendly description of the policy.
  4039. //
  4040. // Typically used to store information about the permissions defined in the
  4041. // policy. For example, "Grants access to production DynamoDB tables."
  4042. //
  4043. // The policy description is immutable. After a value is assigned, it cannot
  4044. // be changed.
  4045. Description *string `type:"string"`
  4046. // The path for the policy.
  4047. //
  4048. // For more information about paths, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  4049. // in the Using IAM guide.
  4050. //
  4051. // This parameter is optional. If it is not included, it defaults to a slash
  4052. // (/).
  4053. Path *string `type:"string"`
  4054. // The policy document.
  4055. PolicyDocument *string `type:"string" required:"true"`
  4056. // The name of the policy document.
  4057. PolicyName *string `type:"string" required:"true"`
  4058. metadataCreatePolicyInput `json:"-" xml:"-"`
  4059. }
  4060. type metadataCreatePolicyInput struct {
  4061. SDKShapeTraits bool `type:"structure"`
  4062. }
  4063. // String returns the string representation
  4064. func (s CreatePolicyInput) String() string {
  4065. return awsutil.Prettify(s)
  4066. }
  4067. // GoString returns the string representation
  4068. func (s CreatePolicyInput) GoString() string {
  4069. return s.String()
  4070. }
  4071. // Contains the response to a successful CreatePolicy request.
  4072. type CreatePolicyOutput struct {
  4073. // Information about the policy.
  4074. Policy *Policy `type:"structure"`
  4075. metadataCreatePolicyOutput `json:"-" xml:"-"`
  4076. }
  4077. type metadataCreatePolicyOutput struct {
  4078. SDKShapeTraits bool `type:"structure"`
  4079. }
  4080. // String returns the string representation
  4081. func (s CreatePolicyOutput) String() string {
  4082. return awsutil.Prettify(s)
  4083. }
  4084. // GoString returns the string representation
  4085. func (s CreatePolicyOutput) GoString() string {
  4086. return s.String()
  4087. }
  4088. type CreatePolicyVersionInput struct {
  4089. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  4090. //
  4091. // For more information about ARNs, go to Amazon Resource Names (ARNs) and
  4092. // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  4093. // in the AWS General Reference.
  4094. PolicyArn *string `type:"string" required:"true"`
  4095. // The policy document.
  4096. PolicyDocument *string `type:"string" required:"true"`
  4097. // Specifies whether to set this version as the policy's default version.
  4098. //
  4099. // When this parameter is true, the new policy version becomes the operative
  4100. // version; that is, the version that is in effect for the IAM users, groups,
  4101. // and roles that the policy is attached to.
  4102. //
  4103. // For more information about managed policy versions, see Versioning for Managed
  4104. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
  4105. // in the Using IAM guide.
  4106. SetAsDefault *bool `type:"boolean"`
  4107. metadataCreatePolicyVersionInput `json:"-" xml:"-"`
  4108. }
  4109. type metadataCreatePolicyVersionInput struct {
  4110. SDKShapeTraits bool `type:"structure"`
  4111. }
  4112. // String returns the string representation
  4113. func (s CreatePolicyVersionInput) String() string {
  4114. return awsutil.Prettify(s)
  4115. }
  4116. // GoString returns the string representation
  4117. func (s CreatePolicyVersionInput) GoString() string {
  4118. return s.String()
  4119. }
  4120. // Contains the response to a successful CreatePolicyVersion request.
  4121. type CreatePolicyVersionOutput struct {
  4122. // Information about the policy version.
  4123. PolicyVersion *PolicyVersion `type:"structure"`
  4124. metadataCreatePolicyVersionOutput `json:"-" xml:"-"`
  4125. }
  4126. type metadataCreatePolicyVersionOutput struct {
  4127. SDKShapeTraits bool `type:"structure"`
  4128. }
  4129. // String returns the string representation
  4130. func (s CreatePolicyVersionOutput) String() string {
  4131. return awsutil.Prettify(s)
  4132. }
  4133. // GoString returns the string representation
  4134. func (s CreatePolicyVersionOutput) GoString() string {
  4135. return s.String()
  4136. }
  4137. type CreateRoleInput struct {
  4138. // The policy that grants an entity permission to assume the role.
  4139. AssumeRolePolicyDocument *string `type:"string" required:"true"`
  4140. // The path to the role. For more information about paths, see IAM Identifiers
  4141. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  4142. // in the Using IAM guide.
  4143. //
  4144. // This parameter is optional. If it is not included, it defaults to a slash
  4145. // (/).
  4146. Path *string `type:"string"`
  4147. // The name of the role to create.
  4148. RoleName *string `type:"string" required:"true"`
  4149. metadataCreateRoleInput `json:"-" xml:"-"`
  4150. }
  4151. type metadataCreateRoleInput struct {
  4152. SDKShapeTraits bool `type:"structure"`
  4153. }
  4154. // String returns the string representation
  4155. func (s CreateRoleInput) String() string {
  4156. return awsutil.Prettify(s)
  4157. }
  4158. // GoString returns the string representation
  4159. func (s CreateRoleInput) GoString() string {
  4160. return s.String()
  4161. }
  4162. // Contains the response to a successful CreateRole request.
  4163. type CreateRoleOutput struct {
  4164. // Information about the role.
  4165. Role *Role `type:"structure" required:"true"`
  4166. metadataCreateRoleOutput `json:"-" xml:"-"`
  4167. }
  4168. type metadataCreateRoleOutput struct {
  4169. SDKShapeTraits bool `type:"structure"`
  4170. }
  4171. // String returns the string representation
  4172. func (s CreateRoleOutput) String() string {
  4173. return awsutil.Prettify(s)
  4174. }
  4175. // GoString returns the string representation
  4176. func (s CreateRoleOutput) GoString() string {
  4177. return s.String()
  4178. }
  4179. type CreateSAMLProviderInput struct {
  4180. // The name of the provider to create.
  4181. Name *string `type:"string" required:"true"`
  4182. // An XML document generated by an identity provider (IdP) that supports SAML
  4183. // 2.0. The document includes the issuer's name, expiration information, and
  4184. // keys that can be used to validate the SAML authentication response (assertions)
  4185. // that are received from the IdP. You must generate the metadata document using
  4186. // the identity management software that is used as your organization's IdP.
  4187. //
  4188. // For more information, see Creating Temporary Security Credentials for SAML
  4189. // Federation (http://docs.aws.amazon.com/STS/latest/UsingSTS/CreatingSAML.html)
  4190. // in the Using Temporary Security Credentials guide.
  4191. SAMLMetadataDocument *string `type:"string" required:"true"`
  4192. metadataCreateSAMLProviderInput `json:"-" xml:"-"`
  4193. }
  4194. type metadataCreateSAMLProviderInput struct {
  4195. SDKShapeTraits bool `type:"structure"`
  4196. }
  4197. // String returns the string representation
  4198. func (s CreateSAMLProviderInput) String() string {
  4199. return awsutil.Prettify(s)
  4200. }
  4201. // GoString returns the string representation
  4202. func (s CreateSAMLProviderInput) GoString() string {
  4203. return s.String()
  4204. }
  4205. // Contains the response to a successful CreateSAMLProvider request.
  4206. type CreateSAMLProviderOutput struct {
  4207. // The Amazon Resource Name (ARN) of the SAML provider.
  4208. SAMLProviderArn *string `type:"string"`
  4209. metadataCreateSAMLProviderOutput `json:"-" xml:"-"`
  4210. }
  4211. type metadataCreateSAMLProviderOutput struct {
  4212. SDKShapeTraits bool `type:"structure"`
  4213. }
  4214. // String returns the string representation
  4215. func (s CreateSAMLProviderOutput) String() string {
  4216. return awsutil.Prettify(s)
  4217. }
  4218. // GoString returns the string representation
  4219. func (s CreateSAMLProviderOutput) GoString() string {
  4220. return s.String()
  4221. }
  4222. type CreateUserInput struct {
  4223. // The path for the user name. For more information about paths, see IAM Identifiers
  4224. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  4225. // in the Using IAM guide.
  4226. //
  4227. // This parameter is optional. If it is not included, it defaults to a slash
  4228. // (/).
  4229. Path *string `type:"string"`
  4230. // The name of the user to create.
  4231. UserName *string `type:"string" required:"true"`
  4232. metadataCreateUserInput `json:"-" xml:"-"`
  4233. }
  4234. type metadataCreateUserInput struct {
  4235. SDKShapeTraits bool `type:"structure"`
  4236. }
  4237. // String returns the string representation
  4238. func (s CreateUserInput) String() string {
  4239. return awsutil.Prettify(s)
  4240. }
  4241. // GoString returns the string representation
  4242. func (s CreateUserInput) GoString() string {
  4243. return s.String()
  4244. }
  4245. // Contains the response to a successful CreateUser request.
  4246. type CreateUserOutput struct {
  4247. // Information about the user.
  4248. User *User `type:"structure"`
  4249. metadataCreateUserOutput `json:"-" xml:"-"`
  4250. }
  4251. type metadataCreateUserOutput struct {
  4252. SDKShapeTraits bool `type:"structure"`
  4253. }
  4254. // String returns the string representation
  4255. func (s CreateUserOutput) String() string {
  4256. return awsutil.Prettify(s)
  4257. }
  4258. // GoString returns the string representation
  4259. func (s CreateUserOutput) GoString() string {
  4260. return s.String()
  4261. }
  4262. type CreateVirtualMFADeviceInput struct {
  4263. // The path for the virtual MFA device. For more information about paths, see
  4264. // IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  4265. // in the Using IAM guide.
  4266. //
  4267. // This parameter is optional. If it is not included, it defaults to a slash
  4268. // (/).
  4269. Path *string `type:"string"`
  4270. // The name of the virtual MFA device. Use with path to uniquely identify a
  4271. // virtual MFA device.
  4272. VirtualMFADeviceName *string `type:"string" required:"true"`
  4273. metadataCreateVirtualMFADeviceInput `json:"-" xml:"-"`
  4274. }
  4275. type metadataCreateVirtualMFADeviceInput struct {
  4276. SDKShapeTraits bool `type:"structure"`
  4277. }
  4278. // String returns the string representation
  4279. func (s CreateVirtualMFADeviceInput) String() string {
  4280. return awsutil.Prettify(s)
  4281. }
  4282. // GoString returns the string representation
  4283. func (s CreateVirtualMFADeviceInput) GoString() string {
  4284. return s.String()
  4285. }
  4286. // Contains the response to a successful CreateVirtualMFADevice request.
  4287. type CreateVirtualMFADeviceOutput struct {
  4288. // A newly created virtual MFA device.
  4289. VirtualMFADevice *VirtualMFADevice `type:"structure" required:"true"`
  4290. metadataCreateVirtualMFADeviceOutput `json:"-" xml:"-"`
  4291. }
  4292. type metadataCreateVirtualMFADeviceOutput struct {
  4293. SDKShapeTraits bool `type:"structure"`
  4294. }
  4295. // String returns the string representation
  4296. func (s CreateVirtualMFADeviceOutput) String() string {
  4297. return awsutil.Prettify(s)
  4298. }
  4299. // GoString returns the string representation
  4300. func (s CreateVirtualMFADeviceOutput) GoString() string {
  4301. return s.String()
  4302. }
  4303. type DeactivateMFADeviceInput struct {
  4304. // The serial number that uniquely identifies the MFA device. For virtual MFA
  4305. // devices, the serial number is the device ARN.
  4306. SerialNumber *string `type:"string" required:"true"`
  4307. // The name of the user whose MFA device you want to deactivate.
  4308. UserName *string `type:"string" required:"true"`
  4309. metadataDeactivateMFADeviceInput `json:"-" xml:"-"`
  4310. }
  4311. type metadataDeactivateMFADeviceInput struct {
  4312. SDKShapeTraits bool `type:"structure"`
  4313. }
  4314. // String returns the string representation
  4315. func (s DeactivateMFADeviceInput) String() string {
  4316. return awsutil.Prettify(s)
  4317. }
  4318. // GoString returns the string representation
  4319. func (s DeactivateMFADeviceInput) GoString() string {
  4320. return s.String()
  4321. }
  4322. type DeactivateMFADeviceOutput struct {
  4323. metadataDeactivateMFADeviceOutput `json:"-" xml:"-"`
  4324. }
  4325. type metadataDeactivateMFADeviceOutput struct {
  4326. SDKShapeTraits bool `type:"structure"`
  4327. }
  4328. // String returns the string representation
  4329. func (s DeactivateMFADeviceOutput) String() string {
  4330. return awsutil.Prettify(s)
  4331. }
  4332. // GoString returns the string representation
  4333. func (s DeactivateMFADeviceOutput) GoString() string {
  4334. return s.String()
  4335. }
  4336. type DeleteAccessKeyInput struct {
  4337. // The access key ID for the access key ID and secret access key you want to
  4338. // delete.
  4339. AccessKeyId *string `type:"string" required:"true"`
  4340. // The name of the user whose key you want to delete.
  4341. UserName *string `type:"string"`
  4342. metadataDeleteAccessKeyInput `json:"-" xml:"-"`
  4343. }
  4344. type metadataDeleteAccessKeyInput struct {
  4345. SDKShapeTraits bool `type:"structure"`
  4346. }
  4347. // String returns the string representation
  4348. func (s DeleteAccessKeyInput) String() string {
  4349. return awsutil.Prettify(s)
  4350. }
  4351. // GoString returns the string representation
  4352. func (s DeleteAccessKeyInput) GoString() string {
  4353. return s.String()
  4354. }
  4355. type DeleteAccessKeyOutput struct {
  4356. metadataDeleteAccessKeyOutput `json:"-" xml:"-"`
  4357. }
  4358. type metadataDeleteAccessKeyOutput struct {
  4359. SDKShapeTraits bool `type:"structure"`
  4360. }
  4361. // String returns the string representation
  4362. func (s DeleteAccessKeyOutput) String() string {
  4363. return awsutil.Prettify(s)
  4364. }
  4365. // GoString returns the string representation
  4366. func (s DeleteAccessKeyOutput) GoString() string {
  4367. return s.String()
  4368. }
  4369. type DeleteAccountAliasInput struct {
  4370. // The name of the account alias to delete.
  4371. AccountAlias *string `type:"string" required:"true"`
  4372. metadataDeleteAccountAliasInput `json:"-" xml:"-"`
  4373. }
  4374. type metadataDeleteAccountAliasInput struct {
  4375. SDKShapeTraits bool `type:"structure"`
  4376. }
  4377. // String returns the string representation
  4378. func (s DeleteAccountAliasInput) String() string {
  4379. return awsutil.Prettify(s)
  4380. }
  4381. // GoString returns the string representation
  4382. func (s DeleteAccountAliasInput) GoString() string {
  4383. return s.String()
  4384. }
  4385. type DeleteAccountAliasOutput struct {
  4386. metadataDeleteAccountAliasOutput `json:"-" xml:"-"`
  4387. }
  4388. type metadataDeleteAccountAliasOutput struct {
  4389. SDKShapeTraits bool `type:"structure"`
  4390. }
  4391. // String returns the string representation
  4392. func (s DeleteAccountAliasOutput) String() string {
  4393. return awsutil.Prettify(s)
  4394. }
  4395. // GoString returns the string representation
  4396. func (s DeleteAccountAliasOutput) GoString() string {
  4397. return s.String()
  4398. }
  4399. type DeleteAccountPasswordPolicyInput struct {
  4400. metadataDeleteAccountPasswordPolicyInput `json:"-" xml:"-"`
  4401. }
  4402. type metadataDeleteAccountPasswordPolicyInput struct {
  4403. SDKShapeTraits bool `type:"structure"`
  4404. }
  4405. // String returns the string representation
  4406. func (s DeleteAccountPasswordPolicyInput) String() string {
  4407. return awsutil.Prettify(s)
  4408. }
  4409. // GoString returns the string representation
  4410. func (s DeleteAccountPasswordPolicyInput) GoString() string {
  4411. return s.String()
  4412. }
  4413. type DeleteAccountPasswordPolicyOutput struct {
  4414. metadataDeleteAccountPasswordPolicyOutput `json:"-" xml:"-"`
  4415. }
  4416. type metadataDeleteAccountPasswordPolicyOutput struct {
  4417. SDKShapeTraits bool `type:"structure"`
  4418. }
  4419. // String returns the string representation
  4420. func (s DeleteAccountPasswordPolicyOutput) String() string {
  4421. return awsutil.Prettify(s)
  4422. }
  4423. // GoString returns the string representation
  4424. func (s DeleteAccountPasswordPolicyOutput) GoString() string {
  4425. return s.String()
  4426. }
  4427. type DeleteGroupInput struct {
  4428. // The name of the group to delete.
  4429. GroupName *string `type:"string" required:"true"`
  4430. metadataDeleteGroupInput `json:"-" xml:"-"`
  4431. }
  4432. type metadataDeleteGroupInput struct {
  4433. SDKShapeTraits bool `type:"structure"`
  4434. }
  4435. // String returns the string representation
  4436. func (s DeleteGroupInput) String() string {
  4437. return awsutil.Prettify(s)
  4438. }
  4439. // GoString returns the string representation
  4440. func (s DeleteGroupInput) GoString() string {
  4441. return s.String()
  4442. }
  4443. type DeleteGroupOutput struct {
  4444. metadataDeleteGroupOutput `json:"-" xml:"-"`
  4445. }
  4446. type metadataDeleteGroupOutput struct {
  4447. SDKShapeTraits bool `type:"structure"`
  4448. }
  4449. // String returns the string representation
  4450. func (s DeleteGroupOutput) String() string {
  4451. return awsutil.Prettify(s)
  4452. }
  4453. // GoString returns the string representation
  4454. func (s DeleteGroupOutput) GoString() string {
  4455. return s.String()
  4456. }
  4457. type DeleteGroupPolicyInput struct {
  4458. // The name (friendly name, not ARN) identifying the group that the policy is
  4459. // embedded in.
  4460. GroupName *string `type:"string" required:"true"`
  4461. // The name identifying the policy document to delete.
  4462. PolicyName *string `type:"string" required:"true"`
  4463. metadataDeleteGroupPolicyInput `json:"-" xml:"-"`
  4464. }
  4465. type metadataDeleteGroupPolicyInput struct {
  4466. SDKShapeTraits bool `type:"structure"`
  4467. }
  4468. // String returns the string representation
  4469. func (s DeleteGroupPolicyInput) String() string {
  4470. return awsutil.Prettify(s)
  4471. }
  4472. // GoString returns the string representation
  4473. func (s DeleteGroupPolicyInput) GoString() string {
  4474. return s.String()
  4475. }
  4476. type DeleteGroupPolicyOutput struct {
  4477. metadataDeleteGroupPolicyOutput `json:"-" xml:"-"`
  4478. }
  4479. type metadataDeleteGroupPolicyOutput struct {
  4480. SDKShapeTraits bool `type:"structure"`
  4481. }
  4482. // String returns the string representation
  4483. func (s DeleteGroupPolicyOutput) String() string {
  4484. return awsutil.Prettify(s)
  4485. }
  4486. // GoString returns the string representation
  4487. func (s DeleteGroupPolicyOutput) GoString() string {
  4488. return s.String()
  4489. }
  4490. type DeleteInstanceProfileInput struct {
  4491. // The name of the instance profile to delete.
  4492. InstanceProfileName *string `type:"string" required:"true"`
  4493. metadataDeleteInstanceProfileInput `json:"-" xml:"-"`
  4494. }
  4495. type metadataDeleteInstanceProfileInput struct {
  4496. SDKShapeTraits bool `type:"structure"`
  4497. }
  4498. // String returns the string representation
  4499. func (s DeleteInstanceProfileInput) String() string {
  4500. return awsutil.Prettify(s)
  4501. }
  4502. // GoString returns the string representation
  4503. func (s DeleteInstanceProfileInput) GoString() string {
  4504. return s.String()
  4505. }
  4506. type DeleteInstanceProfileOutput struct {
  4507. metadataDeleteInstanceProfileOutput `json:"-" xml:"-"`
  4508. }
  4509. type metadataDeleteInstanceProfileOutput struct {
  4510. SDKShapeTraits bool `type:"structure"`
  4511. }
  4512. // String returns the string representation
  4513. func (s DeleteInstanceProfileOutput) String() string {
  4514. return awsutil.Prettify(s)
  4515. }
  4516. // GoString returns the string representation
  4517. func (s DeleteInstanceProfileOutput) GoString() string {
  4518. return s.String()
  4519. }
  4520. type DeleteLoginProfileInput struct {
  4521. // The name of the user whose password you want to delete.
  4522. UserName *string `type:"string" required:"true"`
  4523. metadataDeleteLoginProfileInput `json:"-" xml:"-"`
  4524. }
  4525. type metadataDeleteLoginProfileInput struct {
  4526. SDKShapeTraits bool `type:"structure"`
  4527. }
  4528. // String returns the string representation
  4529. func (s DeleteLoginProfileInput) String() string {
  4530. return awsutil.Prettify(s)
  4531. }
  4532. // GoString returns the string representation
  4533. func (s DeleteLoginProfileInput) GoString() string {
  4534. return s.String()
  4535. }
  4536. type DeleteLoginProfileOutput struct {
  4537. metadataDeleteLoginProfileOutput `json:"-" xml:"-"`
  4538. }
  4539. type metadataDeleteLoginProfileOutput struct {
  4540. SDKShapeTraits bool `type:"structure"`
  4541. }
  4542. // String returns the string representation
  4543. func (s DeleteLoginProfileOutput) String() string {
  4544. return awsutil.Prettify(s)
  4545. }
  4546. // GoString returns the string representation
  4547. func (s DeleteLoginProfileOutput) GoString() string {
  4548. return s.String()
  4549. }
  4550. type DeleteOpenIDConnectProviderInput struct {
  4551. // The Amazon Resource Name (ARN) of the IAM OpenID Connect provider to delete.
  4552. // You can get a list of OpenID Connect provider ARNs by using the ListOpenIDConnectProviders
  4553. // action.
  4554. OpenIDConnectProviderArn *string `type:"string" required:"true"`
  4555. metadataDeleteOpenIDConnectProviderInput `json:"-" xml:"-"`
  4556. }
  4557. type metadataDeleteOpenIDConnectProviderInput struct {
  4558. SDKShapeTraits bool `type:"structure"`
  4559. }
  4560. // String returns the string representation
  4561. func (s DeleteOpenIDConnectProviderInput) String() string {
  4562. return awsutil.Prettify(s)
  4563. }
  4564. // GoString returns the string representation
  4565. func (s DeleteOpenIDConnectProviderInput) GoString() string {
  4566. return s.String()
  4567. }
  4568. type DeleteOpenIDConnectProviderOutput struct {
  4569. metadataDeleteOpenIDConnectProviderOutput `json:"-" xml:"-"`
  4570. }
  4571. type metadataDeleteOpenIDConnectProviderOutput struct {
  4572. SDKShapeTraits bool `type:"structure"`
  4573. }
  4574. // String returns the string representation
  4575. func (s DeleteOpenIDConnectProviderOutput) String() string {
  4576. return awsutil.Prettify(s)
  4577. }
  4578. // GoString returns the string representation
  4579. func (s DeleteOpenIDConnectProviderOutput) GoString() string {
  4580. return s.String()
  4581. }
  4582. type DeletePolicyInput struct {
  4583. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  4584. //
  4585. // For more information about ARNs, go to Amazon Resource Names (ARNs) and
  4586. // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  4587. // in the AWS General Reference.
  4588. PolicyArn *string `type:"string" required:"true"`
  4589. metadataDeletePolicyInput `json:"-" xml:"-"`
  4590. }
  4591. type metadataDeletePolicyInput struct {
  4592. SDKShapeTraits bool `type:"structure"`
  4593. }
  4594. // String returns the string representation
  4595. func (s DeletePolicyInput) String() string {
  4596. return awsutil.Prettify(s)
  4597. }
  4598. // GoString returns the string representation
  4599. func (s DeletePolicyInput) GoString() string {
  4600. return s.String()
  4601. }
  4602. type DeletePolicyOutput struct {
  4603. metadataDeletePolicyOutput `json:"-" xml:"-"`
  4604. }
  4605. type metadataDeletePolicyOutput struct {
  4606. SDKShapeTraits bool `type:"structure"`
  4607. }
  4608. // String returns the string representation
  4609. func (s DeletePolicyOutput) String() string {
  4610. return awsutil.Prettify(s)
  4611. }
  4612. // GoString returns the string representation
  4613. func (s DeletePolicyOutput) GoString() string {
  4614. return s.String()
  4615. }
  4616. type DeletePolicyVersionInput struct {
  4617. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  4618. //
  4619. // For more information about ARNs, go to Amazon Resource Names (ARNs) and
  4620. // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  4621. // in the AWS General Reference.
  4622. PolicyArn *string `type:"string" required:"true"`
  4623. // The policy version to delete.
  4624. //
  4625. // For more information about managed policy versions, see Versioning for Managed
  4626. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
  4627. // in the Using IAM guide.
  4628. VersionId *string `type:"string" required:"true"`
  4629. metadataDeletePolicyVersionInput `json:"-" xml:"-"`
  4630. }
  4631. type metadataDeletePolicyVersionInput struct {
  4632. SDKShapeTraits bool `type:"structure"`
  4633. }
  4634. // String returns the string representation
  4635. func (s DeletePolicyVersionInput) String() string {
  4636. return awsutil.Prettify(s)
  4637. }
  4638. // GoString returns the string representation
  4639. func (s DeletePolicyVersionInput) GoString() string {
  4640. return s.String()
  4641. }
  4642. type DeletePolicyVersionOutput struct {
  4643. metadataDeletePolicyVersionOutput `json:"-" xml:"-"`
  4644. }
  4645. type metadataDeletePolicyVersionOutput struct {
  4646. SDKShapeTraits bool `type:"structure"`
  4647. }
  4648. // String returns the string representation
  4649. func (s DeletePolicyVersionOutput) String() string {
  4650. return awsutil.Prettify(s)
  4651. }
  4652. // GoString returns the string representation
  4653. func (s DeletePolicyVersionOutput) GoString() string {
  4654. return s.String()
  4655. }
  4656. type DeleteRoleInput struct {
  4657. // The name of the role to delete.
  4658. RoleName *string `type:"string" required:"true"`
  4659. metadataDeleteRoleInput `json:"-" xml:"-"`
  4660. }
  4661. type metadataDeleteRoleInput struct {
  4662. SDKShapeTraits bool `type:"structure"`
  4663. }
  4664. // String returns the string representation
  4665. func (s DeleteRoleInput) String() string {
  4666. return awsutil.Prettify(s)
  4667. }
  4668. // GoString returns the string representation
  4669. func (s DeleteRoleInput) GoString() string {
  4670. return s.String()
  4671. }
  4672. type DeleteRoleOutput struct {
  4673. metadataDeleteRoleOutput `json:"-" xml:"-"`
  4674. }
  4675. type metadataDeleteRoleOutput struct {
  4676. SDKShapeTraits bool `type:"structure"`
  4677. }
  4678. // String returns the string representation
  4679. func (s DeleteRoleOutput) String() string {
  4680. return awsutil.Prettify(s)
  4681. }
  4682. // GoString returns the string representation
  4683. func (s DeleteRoleOutput) GoString() string {
  4684. return s.String()
  4685. }
  4686. type DeleteRolePolicyInput struct {
  4687. // The name identifying the policy document to delete.
  4688. PolicyName *string `type:"string" required:"true"`
  4689. // The name (friendly name, not ARN) identifying the role that the policy is
  4690. // embedded in.
  4691. RoleName *string `type:"string" required:"true"`
  4692. metadataDeleteRolePolicyInput `json:"-" xml:"-"`
  4693. }
  4694. type metadataDeleteRolePolicyInput struct {
  4695. SDKShapeTraits bool `type:"structure"`
  4696. }
  4697. // String returns the string representation
  4698. func (s DeleteRolePolicyInput) String() string {
  4699. return awsutil.Prettify(s)
  4700. }
  4701. // GoString returns the string representation
  4702. func (s DeleteRolePolicyInput) GoString() string {
  4703. return s.String()
  4704. }
  4705. type DeleteRolePolicyOutput struct {
  4706. metadataDeleteRolePolicyOutput `json:"-" xml:"-"`
  4707. }
  4708. type metadataDeleteRolePolicyOutput struct {
  4709. SDKShapeTraits bool `type:"structure"`
  4710. }
  4711. // String returns the string representation
  4712. func (s DeleteRolePolicyOutput) String() string {
  4713. return awsutil.Prettify(s)
  4714. }
  4715. // GoString returns the string representation
  4716. func (s DeleteRolePolicyOutput) GoString() string {
  4717. return s.String()
  4718. }
  4719. type DeleteSAMLProviderInput struct {
  4720. // The Amazon Resource Name (ARN) of the SAML provider to delete.
  4721. SAMLProviderArn *string `type:"string" required:"true"`
  4722. metadataDeleteSAMLProviderInput `json:"-" xml:"-"`
  4723. }
  4724. type metadataDeleteSAMLProviderInput struct {
  4725. SDKShapeTraits bool `type:"structure"`
  4726. }
  4727. // String returns the string representation
  4728. func (s DeleteSAMLProviderInput) String() string {
  4729. return awsutil.Prettify(s)
  4730. }
  4731. // GoString returns the string representation
  4732. func (s DeleteSAMLProviderInput) GoString() string {
  4733. return s.String()
  4734. }
  4735. type DeleteSAMLProviderOutput struct {
  4736. metadataDeleteSAMLProviderOutput `json:"-" xml:"-"`
  4737. }
  4738. type metadataDeleteSAMLProviderOutput struct {
  4739. SDKShapeTraits bool `type:"structure"`
  4740. }
  4741. // String returns the string representation
  4742. func (s DeleteSAMLProviderOutput) String() string {
  4743. return awsutil.Prettify(s)
  4744. }
  4745. // GoString returns the string representation
  4746. func (s DeleteSAMLProviderOutput) GoString() string {
  4747. return s.String()
  4748. }
  4749. type DeleteSSHPublicKeyInput struct {
  4750. // The unique identifier for the SSH public key.
  4751. SSHPublicKeyId *string `type:"string" required:"true"`
  4752. // The name of the IAM user associated with the SSH public key.
  4753. UserName *string `type:"string" required:"true"`
  4754. metadataDeleteSSHPublicKeyInput `json:"-" xml:"-"`
  4755. }
  4756. type metadataDeleteSSHPublicKeyInput struct {
  4757. SDKShapeTraits bool `type:"structure"`
  4758. }
  4759. // String returns the string representation
  4760. func (s DeleteSSHPublicKeyInput) String() string {
  4761. return awsutil.Prettify(s)
  4762. }
  4763. // GoString returns the string representation
  4764. func (s DeleteSSHPublicKeyInput) GoString() string {
  4765. return s.String()
  4766. }
  4767. type DeleteSSHPublicKeyOutput struct {
  4768. metadataDeleteSSHPublicKeyOutput `json:"-" xml:"-"`
  4769. }
  4770. type metadataDeleteSSHPublicKeyOutput struct {
  4771. SDKShapeTraits bool `type:"structure"`
  4772. }
  4773. // String returns the string representation
  4774. func (s DeleteSSHPublicKeyOutput) String() string {
  4775. return awsutil.Prettify(s)
  4776. }
  4777. // GoString returns the string representation
  4778. func (s DeleteSSHPublicKeyOutput) GoString() string {
  4779. return s.String()
  4780. }
  4781. type DeleteServerCertificateInput struct {
  4782. // The name of the server certificate you want to delete.
  4783. ServerCertificateName *string `type:"string" required:"true"`
  4784. metadataDeleteServerCertificateInput `json:"-" xml:"-"`
  4785. }
  4786. type metadataDeleteServerCertificateInput struct {
  4787. SDKShapeTraits bool `type:"structure"`
  4788. }
  4789. // String returns the string representation
  4790. func (s DeleteServerCertificateInput) String() string {
  4791. return awsutil.Prettify(s)
  4792. }
  4793. // GoString returns the string representation
  4794. func (s DeleteServerCertificateInput) GoString() string {
  4795. return s.String()
  4796. }
  4797. type DeleteServerCertificateOutput struct {
  4798. metadataDeleteServerCertificateOutput `json:"-" xml:"-"`
  4799. }
  4800. type metadataDeleteServerCertificateOutput struct {
  4801. SDKShapeTraits bool `type:"structure"`
  4802. }
  4803. // String returns the string representation
  4804. func (s DeleteServerCertificateOutput) String() string {
  4805. return awsutil.Prettify(s)
  4806. }
  4807. // GoString returns the string representation
  4808. func (s DeleteServerCertificateOutput) GoString() string {
  4809. return s.String()
  4810. }
  4811. type DeleteSigningCertificateInput struct {
  4812. // The ID of the signing certificate to delete.
  4813. CertificateId *string `type:"string" required:"true"`
  4814. // The name of the user the signing certificate belongs to.
  4815. UserName *string `type:"string"`
  4816. metadataDeleteSigningCertificateInput `json:"-" xml:"-"`
  4817. }
  4818. type metadataDeleteSigningCertificateInput struct {
  4819. SDKShapeTraits bool `type:"structure"`
  4820. }
  4821. // String returns the string representation
  4822. func (s DeleteSigningCertificateInput) String() string {
  4823. return awsutil.Prettify(s)
  4824. }
  4825. // GoString returns the string representation
  4826. func (s DeleteSigningCertificateInput) GoString() string {
  4827. return s.String()
  4828. }
  4829. type DeleteSigningCertificateOutput struct {
  4830. metadataDeleteSigningCertificateOutput `json:"-" xml:"-"`
  4831. }
  4832. type metadataDeleteSigningCertificateOutput struct {
  4833. SDKShapeTraits bool `type:"structure"`
  4834. }
  4835. // String returns the string representation
  4836. func (s DeleteSigningCertificateOutput) String() string {
  4837. return awsutil.Prettify(s)
  4838. }
  4839. // GoString returns the string representation
  4840. func (s DeleteSigningCertificateOutput) GoString() string {
  4841. return s.String()
  4842. }
  4843. type DeleteUserInput struct {
  4844. // The name of the user to delete.
  4845. UserName *string `type:"string" required:"true"`
  4846. metadataDeleteUserInput `json:"-" xml:"-"`
  4847. }
  4848. type metadataDeleteUserInput struct {
  4849. SDKShapeTraits bool `type:"structure"`
  4850. }
  4851. // String returns the string representation
  4852. func (s DeleteUserInput) String() string {
  4853. return awsutil.Prettify(s)
  4854. }
  4855. // GoString returns the string representation
  4856. func (s DeleteUserInput) GoString() string {
  4857. return s.String()
  4858. }
  4859. type DeleteUserOutput struct {
  4860. metadataDeleteUserOutput `json:"-" xml:"-"`
  4861. }
  4862. type metadataDeleteUserOutput struct {
  4863. SDKShapeTraits bool `type:"structure"`
  4864. }
  4865. // String returns the string representation
  4866. func (s DeleteUserOutput) String() string {
  4867. return awsutil.Prettify(s)
  4868. }
  4869. // GoString returns the string representation
  4870. func (s DeleteUserOutput) GoString() string {
  4871. return s.String()
  4872. }
  4873. type DeleteUserPolicyInput struct {
  4874. // The name identifying the policy document to delete.
  4875. PolicyName *string `type:"string" required:"true"`
  4876. // The name (friendly name, not ARN) identifying the user that the policy is
  4877. // embedded in.
  4878. UserName *string `type:"string" required:"true"`
  4879. metadataDeleteUserPolicyInput `json:"-" xml:"-"`
  4880. }
  4881. type metadataDeleteUserPolicyInput struct {
  4882. SDKShapeTraits bool `type:"structure"`
  4883. }
  4884. // String returns the string representation
  4885. func (s DeleteUserPolicyInput) String() string {
  4886. return awsutil.Prettify(s)
  4887. }
  4888. // GoString returns the string representation
  4889. func (s DeleteUserPolicyInput) GoString() string {
  4890. return s.String()
  4891. }
  4892. type DeleteUserPolicyOutput struct {
  4893. metadataDeleteUserPolicyOutput `json:"-" xml:"-"`
  4894. }
  4895. type metadataDeleteUserPolicyOutput struct {
  4896. SDKShapeTraits bool `type:"structure"`
  4897. }
  4898. // String returns the string representation
  4899. func (s DeleteUserPolicyOutput) String() string {
  4900. return awsutil.Prettify(s)
  4901. }
  4902. // GoString returns the string representation
  4903. func (s DeleteUserPolicyOutput) GoString() string {
  4904. return s.String()
  4905. }
  4906. type DeleteVirtualMFADeviceInput struct {
  4907. // The serial number that uniquely identifies the MFA device. For virtual MFA
  4908. // devices, the serial number is the same as the ARN.
  4909. SerialNumber *string `type:"string" required:"true"`
  4910. metadataDeleteVirtualMFADeviceInput `json:"-" xml:"-"`
  4911. }
  4912. type metadataDeleteVirtualMFADeviceInput struct {
  4913. SDKShapeTraits bool `type:"structure"`
  4914. }
  4915. // String returns the string representation
  4916. func (s DeleteVirtualMFADeviceInput) String() string {
  4917. return awsutil.Prettify(s)
  4918. }
  4919. // GoString returns the string representation
  4920. func (s DeleteVirtualMFADeviceInput) GoString() string {
  4921. return s.String()
  4922. }
  4923. type DeleteVirtualMFADeviceOutput struct {
  4924. metadataDeleteVirtualMFADeviceOutput `json:"-" xml:"-"`
  4925. }
  4926. type metadataDeleteVirtualMFADeviceOutput struct {
  4927. SDKShapeTraits bool `type:"structure"`
  4928. }
  4929. // String returns the string representation
  4930. func (s DeleteVirtualMFADeviceOutput) String() string {
  4931. return awsutil.Prettify(s)
  4932. }
  4933. // GoString returns the string representation
  4934. func (s DeleteVirtualMFADeviceOutput) GoString() string {
  4935. return s.String()
  4936. }
  4937. type DetachGroupPolicyInput struct {
  4938. // The name (friendly name, not ARN) of the group to detach the policy from.
  4939. GroupName *string `type:"string" required:"true"`
  4940. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  4941. //
  4942. // For more information about ARNs, go to Amazon Resource Names (ARNs) and
  4943. // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  4944. // in the AWS General Reference.
  4945. PolicyArn *string `type:"string" required:"true"`
  4946. metadataDetachGroupPolicyInput `json:"-" xml:"-"`
  4947. }
  4948. type metadataDetachGroupPolicyInput struct {
  4949. SDKShapeTraits bool `type:"structure"`
  4950. }
  4951. // String returns the string representation
  4952. func (s DetachGroupPolicyInput) String() string {
  4953. return awsutil.Prettify(s)
  4954. }
  4955. // GoString returns the string representation
  4956. func (s DetachGroupPolicyInput) GoString() string {
  4957. return s.String()
  4958. }
  4959. type DetachGroupPolicyOutput struct {
  4960. metadataDetachGroupPolicyOutput `json:"-" xml:"-"`
  4961. }
  4962. type metadataDetachGroupPolicyOutput struct {
  4963. SDKShapeTraits bool `type:"structure"`
  4964. }
  4965. // String returns the string representation
  4966. func (s DetachGroupPolicyOutput) String() string {
  4967. return awsutil.Prettify(s)
  4968. }
  4969. // GoString returns the string representation
  4970. func (s DetachGroupPolicyOutput) GoString() string {
  4971. return s.String()
  4972. }
  4973. type DetachRolePolicyInput struct {
  4974. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  4975. //
  4976. // For more information about ARNs, go to Amazon Resource Names (ARNs) and
  4977. // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  4978. // in the AWS General Reference.
  4979. PolicyArn *string `type:"string" required:"true"`
  4980. // The name (friendly name, not ARN) of the role to detach the policy from.
  4981. RoleName *string `type:"string" required:"true"`
  4982. metadataDetachRolePolicyInput `json:"-" xml:"-"`
  4983. }
  4984. type metadataDetachRolePolicyInput struct {
  4985. SDKShapeTraits bool `type:"structure"`
  4986. }
  4987. // String returns the string representation
  4988. func (s DetachRolePolicyInput) String() string {
  4989. return awsutil.Prettify(s)
  4990. }
  4991. // GoString returns the string representation
  4992. func (s DetachRolePolicyInput) GoString() string {
  4993. return s.String()
  4994. }
  4995. type DetachRolePolicyOutput struct {
  4996. metadataDetachRolePolicyOutput `json:"-" xml:"-"`
  4997. }
  4998. type metadataDetachRolePolicyOutput struct {
  4999. SDKShapeTraits bool `type:"structure"`
  5000. }
  5001. // String returns the string representation
  5002. func (s DetachRolePolicyOutput) String() string {
  5003. return awsutil.Prettify(s)
  5004. }
  5005. // GoString returns the string representation
  5006. func (s DetachRolePolicyOutput) GoString() string {
  5007. return s.String()
  5008. }
  5009. type DetachUserPolicyInput struct {
  5010. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  5011. //
  5012. // For more information about ARNs, go to Amazon Resource Names (ARNs) and
  5013. // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  5014. // in the AWS General Reference.
  5015. PolicyArn *string `type:"string" required:"true"`
  5016. // The name (friendly name, not ARN) of the user to detach the policy from.
  5017. UserName *string `type:"string" required:"true"`
  5018. metadataDetachUserPolicyInput `json:"-" xml:"-"`
  5019. }
  5020. type metadataDetachUserPolicyInput struct {
  5021. SDKShapeTraits bool `type:"structure"`
  5022. }
  5023. // String returns the string representation
  5024. func (s DetachUserPolicyInput) String() string {
  5025. return awsutil.Prettify(s)
  5026. }
  5027. // GoString returns the string representation
  5028. func (s DetachUserPolicyInput) GoString() string {
  5029. return s.String()
  5030. }
  5031. type DetachUserPolicyOutput struct {
  5032. metadataDetachUserPolicyOutput `json:"-" xml:"-"`
  5033. }
  5034. type metadataDetachUserPolicyOutput struct {
  5035. SDKShapeTraits bool `type:"structure"`
  5036. }
  5037. // String returns the string representation
  5038. func (s DetachUserPolicyOutput) String() string {
  5039. return awsutil.Prettify(s)
  5040. }
  5041. // GoString returns the string representation
  5042. func (s DetachUserPolicyOutput) GoString() string {
  5043. return s.String()
  5044. }
  5045. type EnableMFADeviceInput struct {
  5046. // An authentication code emitted by the device.
  5047. AuthenticationCode1 *string `type:"string" required:"true"`
  5048. // A subsequent authentication code emitted by the device.
  5049. AuthenticationCode2 *string `type:"string" required:"true"`
  5050. // The serial number that uniquely identifies the MFA device. For virtual MFA
  5051. // devices, the serial number is the device ARN.
  5052. SerialNumber *string `type:"string" required:"true"`
  5053. // The name of the user for whom you want to enable the MFA device.
  5054. UserName *string `type:"string" required:"true"`
  5055. metadataEnableMFADeviceInput `json:"-" xml:"-"`
  5056. }
  5057. type metadataEnableMFADeviceInput struct {
  5058. SDKShapeTraits bool `type:"structure"`
  5059. }
  5060. // String returns the string representation
  5061. func (s EnableMFADeviceInput) String() string {
  5062. return awsutil.Prettify(s)
  5063. }
  5064. // GoString returns the string representation
  5065. func (s EnableMFADeviceInput) GoString() string {
  5066. return s.String()
  5067. }
  5068. type EnableMFADeviceOutput struct {
  5069. metadataEnableMFADeviceOutput `json:"-" xml:"-"`
  5070. }
  5071. type metadataEnableMFADeviceOutput struct {
  5072. SDKShapeTraits bool `type:"structure"`
  5073. }
  5074. // String returns the string representation
  5075. func (s EnableMFADeviceOutput) String() string {
  5076. return awsutil.Prettify(s)
  5077. }
  5078. // GoString returns the string representation
  5079. func (s EnableMFADeviceOutput) GoString() string {
  5080. return s.String()
  5081. }
  5082. type GenerateCredentialReportInput struct {
  5083. metadataGenerateCredentialReportInput `json:"-" xml:"-"`
  5084. }
  5085. type metadataGenerateCredentialReportInput struct {
  5086. SDKShapeTraits bool `type:"structure"`
  5087. }
  5088. // String returns the string representation
  5089. func (s GenerateCredentialReportInput) String() string {
  5090. return awsutil.Prettify(s)
  5091. }
  5092. // GoString returns the string representation
  5093. func (s GenerateCredentialReportInput) GoString() string {
  5094. return s.String()
  5095. }
  5096. // Contains the response to a successful GenerateCredentialReport request.
  5097. type GenerateCredentialReportOutput struct {
  5098. // Information about the credential report.
  5099. Description *string `type:"string"`
  5100. // Information about the state of the credential report.
  5101. State *string `type:"string" enum:"ReportStateType"`
  5102. metadataGenerateCredentialReportOutput `json:"-" xml:"-"`
  5103. }
  5104. type metadataGenerateCredentialReportOutput struct {
  5105. SDKShapeTraits bool `type:"structure"`
  5106. }
  5107. // String returns the string representation
  5108. func (s GenerateCredentialReportOutput) String() string {
  5109. return awsutil.Prettify(s)
  5110. }
  5111. // GoString returns the string representation
  5112. func (s GenerateCredentialReportOutput) GoString() string {
  5113. return s.String()
  5114. }
  5115. type GetAccessKeyLastUsedInput struct {
  5116. // The identifier of an access key.
  5117. AccessKeyId *string `type:"string" required:"true"`
  5118. metadataGetAccessKeyLastUsedInput `json:"-" xml:"-"`
  5119. }
  5120. type metadataGetAccessKeyLastUsedInput struct {
  5121. SDKShapeTraits bool `type:"structure"`
  5122. }
  5123. // String returns the string representation
  5124. func (s GetAccessKeyLastUsedInput) String() string {
  5125. return awsutil.Prettify(s)
  5126. }
  5127. // GoString returns the string representation
  5128. func (s GetAccessKeyLastUsedInput) GoString() string {
  5129. return s.String()
  5130. }
  5131. // Contains the response to a successful GetAccessKeyLastUsed request. It is
  5132. // also returned as a member of the AccessKeyMetaData structure returned by
  5133. // the ListAccessKeys action.
  5134. type GetAccessKeyLastUsedOutput struct {
  5135. // Contains information about the last time the access key was used.
  5136. AccessKeyLastUsed *AccessKeyLastUsed `type:"structure"`
  5137. // The name of the AWS IAM user that owns this access key.
  5138. UserName *string `type:"string"`
  5139. metadataGetAccessKeyLastUsedOutput `json:"-" xml:"-"`
  5140. }
  5141. type metadataGetAccessKeyLastUsedOutput struct {
  5142. SDKShapeTraits bool `type:"structure"`
  5143. }
  5144. // String returns the string representation
  5145. func (s GetAccessKeyLastUsedOutput) String() string {
  5146. return awsutil.Prettify(s)
  5147. }
  5148. // GoString returns the string representation
  5149. func (s GetAccessKeyLastUsedOutput) GoString() string {
  5150. return s.String()
  5151. }
  5152. type GetAccountAuthorizationDetailsInput struct {
  5153. // A list of entity types (user, group, role, local managed policy, or AWS managed
  5154. // policy) for filtering the results.
  5155. Filter []*string `type:"list"`
  5156. // Use this parameter only when paginating results and only after you have received
  5157. // a response where the results are truncated. Set it to the value of the Marker
  5158. // element in the response you just received.
  5159. Marker *string `type:"string"`
  5160. // Use this only when paginating results to indicate the maximum number of items
  5161. // you want in the response. If there are additional items beyond the maximum
  5162. // you specify, the IsTruncated response element is true.
  5163. //
  5164. // This parameter is optional. If you do not include it, it defaults to 100.
  5165. MaxItems *int64 `type:"integer"`
  5166. metadataGetAccountAuthorizationDetailsInput `json:"-" xml:"-"`
  5167. }
  5168. type metadataGetAccountAuthorizationDetailsInput struct {
  5169. SDKShapeTraits bool `type:"structure"`
  5170. }
  5171. // String returns the string representation
  5172. func (s GetAccountAuthorizationDetailsInput) String() string {
  5173. return awsutil.Prettify(s)
  5174. }
  5175. // GoString returns the string representation
  5176. func (s GetAccountAuthorizationDetailsInput) GoString() string {
  5177. return s.String()
  5178. }
  5179. // Contains the response to a successful GetAccountAuthorizationDetails request.
  5180. type GetAccountAuthorizationDetailsOutput struct {
  5181. // A list containing information about IAM groups.
  5182. GroupDetailList []*GroupDetail `type:"list"`
  5183. // A flag that indicates whether there are more items to return. If your results
  5184. // were truncated, you can make a subsequent pagination request using the Marker
  5185. // request parameter to retrieve more items.
  5186. IsTruncated *bool `type:"boolean"`
  5187. // When IsTruncated is true, this element is present and contains the value
  5188. // to use for the Marker parameter in a subsequent pagination request.
  5189. Marker *string `type:"string"`
  5190. // A list containing information about managed policies.
  5191. Policies []*ManagedPolicyDetail `type:"list"`
  5192. // A list containing information about IAM roles.
  5193. RoleDetailList []*RoleDetail `type:"list"`
  5194. // A list containing information about IAM users.
  5195. UserDetailList []*UserDetail `type:"list"`
  5196. metadataGetAccountAuthorizationDetailsOutput `json:"-" xml:"-"`
  5197. }
  5198. type metadataGetAccountAuthorizationDetailsOutput struct {
  5199. SDKShapeTraits bool `type:"structure"`
  5200. }
  5201. // String returns the string representation
  5202. func (s GetAccountAuthorizationDetailsOutput) String() string {
  5203. return awsutil.Prettify(s)
  5204. }
  5205. // GoString returns the string representation
  5206. func (s GetAccountAuthorizationDetailsOutput) GoString() string {
  5207. return s.String()
  5208. }
  5209. type GetAccountPasswordPolicyInput struct {
  5210. metadataGetAccountPasswordPolicyInput `json:"-" xml:"-"`
  5211. }
  5212. type metadataGetAccountPasswordPolicyInput struct {
  5213. SDKShapeTraits bool `type:"structure"`
  5214. }
  5215. // String returns the string representation
  5216. func (s GetAccountPasswordPolicyInput) String() string {
  5217. return awsutil.Prettify(s)
  5218. }
  5219. // GoString returns the string representation
  5220. func (s GetAccountPasswordPolicyInput) GoString() string {
  5221. return s.String()
  5222. }
  5223. // Contains the response to a successful GetAccountPasswordPolicy request.
  5224. type GetAccountPasswordPolicyOutput struct {
  5225. // Contains information about the account password policy.
  5226. //
  5227. // This data type is used as a response element in the GetAccountPasswordPolicy
  5228. // action.
  5229. PasswordPolicy *PasswordPolicy `type:"structure" required:"true"`
  5230. metadataGetAccountPasswordPolicyOutput `json:"-" xml:"-"`
  5231. }
  5232. type metadataGetAccountPasswordPolicyOutput struct {
  5233. SDKShapeTraits bool `type:"structure"`
  5234. }
  5235. // String returns the string representation
  5236. func (s GetAccountPasswordPolicyOutput) String() string {
  5237. return awsutil.Prettify(s)
  5238. }
  5239. // GoString returns the string representation
  5240. func (s GetAccountPasswordPolicyOutput) GoString() string {
  5241. return s.String()
  5242. }
  5243. type GetAccountSummaryInput struct {
  5244. metadataGetAccountSummaryInput `json:"-" xml:"-"`
  5245. }
  5246. type metadataGetAccountSummaryInput struct {
  5247. SDKShapeTraits bool `type:"structure"`
  5248. }
  5249. // String returns the string representation
  5250. func (s GetAccountSummaryInput) String() string {
  5251. return awsutil.Prettify(s)
  5252. }
  5253. // GoString returns the string representation
  5254. func (s GetAccountSummaryInput) GoString() string {
  5255. return s.String()
  5256. }
  5257. // Contains the response to a successful GetAccountSummary request.
  5258. type GetAccountSummaryOutput struct {
  5259. // A set of key value pairs containing information about IAM entity usage and
  5260. // IAM quotas.
  5261. //
  5262. // SummaryMap contains the following keys: AccessKeysPerUserQuota
  5263. //
  5264. // The maximum number of active access keys allowed for each IAM user.
  5265. //
  5266. // AccountAccessKeysPresent
  5267. //
  5268. // This value is 1 if the AWS account (root) has an access key, otherwise it
  5269. // is 0.
  5270. //
  5271. // AccountMFAEnabled
  5272. //
  5273. // This value is 1 if the AWS account (root) has an MFA device assigned, otherwise
  5274. // it is 0.
  5275. //
  5276. // AccountSigningCertificatesPresent
  5277. //
  5278. // This value is 1 if the AWS account (root) has a signing certificate, otherwise
  5279. // it is 0.
  5280. //
  5281. // AssumeRolePolicySizeQuota
  5282. //
  5283. // The maximum allowed size for assume role policy documents (trust policies),
  5284. // in non-whitespace characters.
  5285. //
  5286. // AttachedPoliciesPerGroupQuota
  5287. //
  5288. // The maximum number of managed policies that can be attached to an IAM group.
  5289. //
  5290. // AttachedPoliciesPerRoleQuota
  5291. //
  5292. // The maximum number of managed policies that can be attached to an IAM role.
  5293. //
  5294. // AttachedPoliciesPerUserQuota
  5295. //
  5296. // The maximum number of managed policies that can be attached to an IAM user.
  5297. //
  5298. // GroupPolicySizeQuota
  5299. //
  5300. // The maximum allowed size for the aggregate of all inline policies embedded
  5301. // in an IAM group, in non-whitespace characters.
  5302. //
  5303. // Groups
  5304. //
  5305. // The number of IAM groups in the AWS account.
  5306. //
  5307. // GroupsPerUserQuota
  5308. //
  5309. // The maximum number of IAM groups each IAM user can belong to.
  5310. //
  5311. // GroupsQuota
  5312. //
  5313. // The maximum number of IAM groups allowed in the AWS account.
  5314. //
  5315. // InstanceProfiles
  5316. //
  5317. // The number of instance profiles in the AWS account.
  5318. //
  5319. // InstanceProfilesQuota
  5320. //
  5321. // The maximum number of instance profiles allowed in the AWS account.
  5322. //
  5323. // MFADevices
  5324. //
  5325. // The number of MFA devices in the AWS account, including those assigned and
  5326. // unassigned.
  5327. //
  5328. // MFADevicesInUse
  5329. //
  5330. // The number of MFA devices that have been assigned to an IAM user or to the
  5331. // AWS account (root).
  5332. //
  5333. // Policies
  5334. //
  5335. // The number of customer managed policies in the AWS account.
  5336. //
  5337. // PoliciesQuota
  5338. //
  5339. // The maximum number of customer managed policies allowed in the AWS account.
  5340. //
  5341. // PolicySizeQuota
  5342. //
  5343. // The maximum allowed size of a customer managed policy, in non-whitespace
  5344. // characters.
  5345. //
  5346. // PolicyVersionsInUse
  5347. //
  5348. // The number of managed policies that are attached to IAM users, groups, or
  5349. // roles in the AWS account.
  5350. //
  5351. // PolicyVersionsInUseQuota
  5352. //
  5353. // The maximum number of managed policies that can be attached to IAM users,
  5354. // groups, or roles in the AWS account.
  5355. //
  5356. // Providers
  5357. //
  5358. // The number of identity providers in the AWS account.
  5359. //
  5360. // RolePolicySizeQuota
  5361. //
  5362. // The maximum allowed size for the aggregate of all inline policies (access
  5363. // policies, not the trust policy) embedded in an IAM role, in non-whitespace
  5364. // characters.
  5365. //
  5366. // Roles
  5367. //
  5368. // The number of IAM roles in the AWS account.
  5369. //
  5370. // RolesQuota
  5371. //
  5372. // The maximum number of IAM roles allowed in the AWS account.
  5373. //
  5374. // ServerCertificates
  5375. //
  5376. // The number of server certificates in the AWS account.
  5377. //
  5378. // ServerCertificatesQuota
  5379. //
  5380. // The maximum number of server certificates allowed in the AWS account.
  5381. //
  5382. // SigningCertificatesPerUserQuota
  5383. //
  5384. // The maximum number of X.509 signing certificates allowed for each IAM user.
  5385. //
  5386. // UserPolicySizeQuota
  5387. //
  5388. // The maximum allowed size for the aggregate of all inline policies embedded
  5389. // in an IAM user, in non-whitespace characters.
  5390. //
  5391. // Users
  5392. //
  5393. // The number of IAM users in the AWS account.
  5394. //
  5395. // UsersQuota
  5396. //
  5397. // The maximum number of IAM users allowed in the AWS account.
  5398. //
  5399. // VersionsPerPolicyQuota
  5400. //
  5401. // The maximum number of policy versions allowed for each managed policy.
  5402. SummaryMap map[string]*int64 `type:"map"`
  5403. metadataGetAccountSummaryOutput `json:"-" xml:"-"`
  5404. }
  5405. type metadataGetAccountSummaryOutput struct {
  5406. SDKShapeTraits bool `type:"structure"`
  5407. }
  5408. // String returns the string representation
  5409. func (s GetAccountSummaryOutput) String() string {
  5410. return awsutil.Prettify(s)
  5411. }
  5412. // GoString returns the string representation
  5413. func (s GetAccountSummaryOutput) GoString() string {
  5414. return s.String()
  5415. }
  5416. type GetCredentialReportInput struct {
  5417. metadataGetCredentialReportInput `json:"-" xml:"-"`
  5418. }
  5419. type metadataGetCredentialReportInput struct {
  5420. SDKShapeTraits bool `type:"structure"`
  5421. }
  5422. // String returns the string representation
  5423. func (s GetCredentialReportInput) String() string {
  5424. return awsutil.Prettify(s)
  5425. }
  5426. // GoString returns the string representation
  5427. func (s GetCredentialReportInput) GoString() string {
  5428. return s.String()
  5429. }
  5430. // Contains the response to a successful GetCredentialReport request.
  5431. type GetCredentialReportOutput struct {
  5432. // Contains the credential report. The report is Base64-encoded.
  5433. Content []byte `type:"blob"`
  5434. // The date and time when the credential report was created, in ISO 8601 date-time
  5435. // format (http://www.iso.org/iso/iso8601).
  5436. GeneratedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  5437. // The format (MIME type) of the credential report.
  5438. ReportFormat *string `type:"string" enum:"ReportFormatType"`
  5439. metadataGetCredentialReportOutput `json:"-" xml:"-"`
  5440. }
  5441. type metadataGetCredentialReportOutput struct {
  5442. SDKShapeTraits bool `type:"structure"`
  5443. }
  5444. // String returns the string representation
  5445. func (s GetCredentialReportOutput) String() string {
  5446. return awsutil.Prettify(s)
  5447. }
  5448. // GoString returns the string representation
  5449. func (s GetCredentialReportOutput) GoString() string {
  5450. return s.String()
  5451. }
  5452. type GetGroupInput struct {
  5453. // The name of the group.
  5454. GroupName *string `type:"string" required:"true"`
  5455. // Use this parameter only when paginating results and only after you have received
  5456. // a response where the results are truncated. Set it to the value of the Marker
  5457. // element in the response you just received.
  5458. Marker *string `type:"string"`
  5459. // Use this only when paginating results to indicate the maximum number of items
  5460. // you want in the response. If there are additional items beyond the maximum
  5461. // you specify, the IsTruncated response element is true.
  5462. //
  5463. // This parameter is optional. If you do not include it, it defaults to 100.
  5464. MaxItems *int64 `type:"integer"`
  5465. metadataGetGroupInput `json:"-" xml:"-"`
  5466. }
  5467. type metadataGetGroupInput struct {
  5468. SDKShapeTraits bool `type:"structure"`
  5469. }
  5470. // String returns the string representation
  5471. func (s GetGroupInput) String() string {
  5472. return awsutil.Prettify(s)
  5473. }
  5474. // GoString returns the string representation
  5475. func (s GetGroupInput) GoString() string {
  5476. return s.String()
  5477. }
  5478. // Contains the response to a successful GetGroup request.
  5479. type GetGroupOutput struct {
  5480. // Information about the group.
  5481. Group *Group `type:"structure" required:"true"`
  5482. // A flag that indicates whether there are more items to return. If your results
  5483. // were truncated, you can make a subsequent pagination request using the Marker
  5484. // request parameter to retrieve more items.
  5485. IsTruncated *bool `type:"boolean"`
  5486. // When IsTruncated is true, this element is present and contains the value
  5487. // to use for the Marker parameter in a subsequent pagination request.
  5488. Marker *string `type:"string"`
  5489. // A list of users in the group.
  5490. Users []*User `type:"list" required:"true"`
  5491. metadataGetGroupOutput `json:"-" xml:"-"`
  5492. }
  5493. type metadataGetGroupOutput struct {
  5494. SDKShapeTraits bool `type:"structure"`
  5495. }
  5496. // String returns the string representation
  5497. func (s GetGroupOutput) String() string {
  5498. return awsutil.Prettify(s)
  5499. }
  5500. // GoString returns the string representation
  5501. func (s GetGroupOutput) GoString() string {
  5502. return s.String()
  5503. }
  5504. type GetGroupPolicyInput struct {
  5505. // The name of the group the policy is associated with.
  5506. GroupName *string `type:"string" required:"true"`
  5507. // The name of the policy document to get.
  5508. PolicyName *string `type:"string" required:"true"`
  5509. metadataGetGroupPolicyInput `json:"-" xml:"-"`
  5510. }
  5511. type metadataGetGroupPolicyInput struct {
  5512. SDKShapeTraits bool `type:"structure"`
  5513. }
  5514. // String returns the string representation
  5515. func (s GetGroupPolicyInput) String() string {
  5516. return awsutil.Prettify(s)
  5517. }
  5518. // GoString returns the string representation
  5519. func (s GetGroupPolicyInput) GoString() string {
  5520. return s.String()
  5521. }
  5522. // Contains the response to a successful GetGroupPolicy request.
  5523. type GetGroupPolicyOutput struct {
  5524. // The group the policy is associated with.
  5525. GroupName *string `type:"string" required:"true"`
  5526. // The policy document.
  5527. PolicyDocument *string `type:"string" required:"true"`
  5528. // The name of the policy.
  5529. PolicyName *string `type:"string" required:"true"`
  5530. metadataGetGroupPolicyOutput `json:"-" xml:"-"`
  5531. }
  5532. type metadataGetGroupPolicyOutput struct {
  5533. SDKShapeTraits bool `type:"structure"`
  5534. }
  5535. // String returns the string representation
  5536. func (s GetGroupPolicyOutput) String() string {
  5537. return awsutil.Prettify(s)
  5538. }
  5539. // GoString returns the string representation
  5540. func (s GetGroupPolicyOutput) GoString() string {
  5541. return s.String()
  5542. }
  5543. type GetInstanceProfileInput struct {
  5544. // The name of the instance profile to get information about.
  5545. InstanceProfileName *string `type:"string" required:"true"`
  5546. metadataGetInstanceProfileInput `json:"-" xml:"-"`
  5547. }
  5548. type metadataGetInstanceProfileInput struct {
  5549. SDKShapeTraits bool `type:"structure"`
  5550. }
  5551. // String returns the string representation
  5552. func (s GetInstanceProfileInput) String() string {
  5553. return awsutil.Prettify(s)
  5554. }
  5555. // GoString returns the string representation
  5556. func (s GetInstanceProfileInput) GoString() string {
  5557. return s.String()
  5558. }
  5559. // Contains the response to a successful GetInstanceProfile request.
  5560. type GetInstanceProfileOutput struct {
  5561. // Information about the instance profile.
  5562. InstanceProfile *InstanceProfile `type:"structure" required:"true"`
  5563. metadataGetInstanceProfileOutput `json:"-" xml:"-"`
  5564. }
  5565. type metadataGetInstanceProfileOutput struct {
  5566. SDKShapeTraits bool `type:"structure"`
  5567. }
  5568. // String returns the string representation
  5569. func (s GetInstanceProfileOutput) String() string {
  5570. return awsutil.Prettify(s)
  5571. }
  5572. // GoString returns the string representation
  5573. func (s GetInstanceProfileOutput) GoString() string {
  5574. return s.String()
  5575. }
  5576. type GetLoginProfileInput struct {
  5577. // The name of the user whose login profile you want to retrieve.
  5578. UserName *string `type:"string" required:"true"`
  5579. metadataGetLoginProfileInput `json:"-" xml:"-"`
  5580. }
  5581. type metadataGetLoginProfileInput struct {
  5582. SDKShapeTraits bool `type:"structure"`
  5583. }
  5584. // String returns the string representation
  5585. func (s GetLoginProfileInput) String() string {
  5586. return awsutil.Prettify(s)
  5587. }
  5588. // GoString returns the string representation
  5589. func (s GetLoginProfileInput) GoString() string {
  5590. return s.String()
  5591. }
  5592. // Contains the response to a successful GetLoginProfile request.
  5593. type GetLoginProfileOutput struct {
  5594. // The user name and password create date for the user.
  5595. LoginProfile *LoginProfile `type:"structure" required:"true"`
  5596. metadataGetLoginProfileOutput `json:"-" xml:"-"`
  5597. }
  5598. type metadataGetLoginProfileOutput struct {
  5599. SDKShapeTraits bool `type:"structure"`
  5600. }
  5601. // String returns the string representation
  5602. func (s GetLoginProfileOutput) String() string {
  5603. return awsutil.Prettify(s)
  5604. }
  5605. // GoString returns the string representation
  5606. func (s GetLoginProfileOutput) GoString() string {
  5607. return s.String()
  5608. }
  5609. type GetOpenIDConnectProviderInput struct {
  5610. // The Amazon Resource Name (ARN) of the IAM OpenID Connect (OIDC) provider
  5611. // to get information for. You can get a list of OIDC provider ARNs by using
  5612. // the ListOpenIDConnectProviders action.
  5613. OpenIDConnectProviderArn *string `type:"string" required:"true"`
  5614. metadataGetOpenIDConnectProviderInput `json:"-" xml:"-"`
  5615. }
  5616. type metadataGetOpenIDConnectProviderInput struct {
  5617. SDKShapeTraits bool `type:"structure"`
  5618. }
  5619. // String returns the string representation
  5620. func (s GetOpenIDConnectProviderInput) String() string {
  5621. return awsutil.Prettify(s)
  5622. }
  5623. // GoString returns the string representation
  5624. func (s GetOpenIDConnectProviderInput) GoString() string {
  5625. return s.String()
  5626. }
  5627. // Contains the response to a successful GetOpenIDConnectProvider request.
  5628. type GetOpenIDConnectProviderOutput struct {
  5629. // A list of client IDs (also known as audiences) that are associated with the
  5630. // specified IAM OpenID Connect provider. For more information, see CreateOpenIDConnectProvider.
  5631. ClientIDList []*string `type:"list"`
  5632. // The date and time when the IAM OpenID Connect provider entity was created
  5633. // in the AWS account.
  5634. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  5635. // A list of certificate thumbprints that are associated with the specified
  5636. // IAM OpenID Connect provider. For more information, see CreateOpenIDConnectProvider.
  5637. ThumbprintList []*string `type:"list"`
  5638. // The URL that the IAM OpenID Connect provider is associated with. For more
  5639. // information, see CreateOpenIDConnectProvider.
  5640. Url *string `type:"string"`
  5641. metadataGetOpenIDConnectProviderOutput `json:"-" xml:"-"`
  5642. }
  5643. type metadataGetOpenIDConnectProviderOutput struct {
  5644. SDKShapeTraits bool `type:"structure"`
  5645. }
  5646. // String returns the string representation
  5647. func (s GetOpenIDConnectProviderOutput) String() string {
  5648. return awsutil.Prettify(s)
  5649. }
  5650. // GoString returns the string representation
  5651. func (s GetOpenIDConnectProviderOutput) GoString() string {
  5652. return s.String()
  5653. }
  5654. type GetPolicyInput struct {
  5655. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  5656. //
  5657. // For more information about ARNs, go to Amazon Resource Names (ARNs) and
  5658. // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  5659. // in the AWS General Reference.
  5660. PolicyArn *string `type:"string" required:"true"`
  5661. metadataGetPolicyInput `json:"-" xml:"-"`
  5662. }
  5663. type metadataGetPolicyInput struct {
  5664. SDKShapeTraits bool `type:"structure"`
  5665. }
  5666. // String returns the string representation
  5667. func (s GetPolicyInput) String() string {
  5668. return awsutil.Prettify(s)
  5669. }
  5670. // GoString returns the string representation
  5671. func (s GetPolicyInput) GoString() string {
  5672. return s.String()
  5673. }
  5674. // Contains the response to a successful GetPolicy request.
  5675. type GetPolicyOutput struct {
  5676. // Information about the policy.
  5677. Policy *Policy `type:"structure"`
  5678. metadataGetPolicyOutput `json:"-" xml:"-"`
  5679. }
  5680. type metadataGetPolicyOutput struct {
  5681. SDKShapeTraits bool `type:"structure"`
  5682. }
  5683. // String returns the string representation
  5684. func (s GetPolicyOutput) String() string {
  5685. return awsutil.Prettify(s)
  5686. }
  5687. // GoString returns the string representation
  5688. func (s GetPolicyOutput) GoString() string {
  5689. return s.String()
  5690. }
  5691. type GetPolicyVersionInput struct {
  5692. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  5693. //
  5694. // For more information about ARNs, go to Amazon Resource Names (ARNs) and
  5695. // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  5696. // in the AWS General Reference.
  5697. PolicyArn *string `type:"string" required:"true"`
  5698. // Identifies the policy version to retrieve.
  5699. VersionId *string `type:"string" required:"true"`
  5700. metadataGetPolicyVersionInput `json:"-" xml:"-"`
  5701. }
  5702. type metadataGetPolicyVersionInput struct {
  5703. SDKShapeTraits bool `type:"structure"`
  5704. }
  5705. // String returns the string representation
  5706. func (s GetPolicyVersionInput) String() string {
  5707. return awsutil.Prettify(s)
  5708. }
  5709. // GoString returns the string representation
  5710. func (s GetPolicyVersionInput) GoString() string {
  5711. return s.String()
  5712. }
  5713. // Contains the response to a successful GetPolicyVersion request.
  5714. type GetPolicyVersionOutput struct {
  5715. // Information about the policy version.
  5716. //
  5717. // For more information about managed policy versions, see Versioning for Managed
  5718. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
  5719. // in the Using IAM guide.
  5720. PolicyVersion *PolicyVersion `type:"structure"`
  5721. metadataGetPolicyVersionOutput `json:"-" xml:"-"`
  5722. }
  5723. type metadataGetPolicyVersionOutput struct {
  5724. SDKShapeTraits bool `type:"structure"`
  5725. }
  5726. // String returns the string representation
  5727. func (s GetPolicyVersionOutput) String() string {
  5728. return awsutil.Prettify(s)
  5729. }
  5730. // GoString returns the string representation
  5731. func (s GetPolicyVersionOutput) GoString() string {
  5732. return s.String()
  5733. }
  5734. type GetRoleInput struct {
  5735. // The name of the role to get information about.
  5736. RoleName *string `type:"string" required:"true"`
  5737. metadataGetRoleInput `json:"-" xml:"-"`
  5738. }
  5739. type metadataGetRoleInput struct {
  5740. SDKShapeTraits bool `type:"structure"`
  5741. }
  5742. // String returns the string representation
  5743. func (s GetRoleInput) String() string {
  5744. return awsutil.Prettify(s)
  5745. }
  5746. // GoString returns the string representation
  5747. func (s GetRoleInput) GoString() string {
  5748. return s.String()
  5749. }
  5750. // Contains the response to a successful GetRole request.
  5751. type GetRoleOutput struct {
  5752. // Information about the role.
  5753. Role *Role `type:"structure" required:"true"`
  5754. metadataGetRoleOutput `json:"-" xml:"-"`
  5755. }
  5756. type metadataGetRoleOutput struct {
  5757. SDKShapeTraits bool `type:"structure"`
  5758. }
  5759. // String returns the string representation
  5760. func (s GetRoleOutput) String() string {
  5761. return awsutil.Prettify(s)
  5762. }
  5763. // GoString returns the string representation
  5764. func (s GetRoleOutput) GoString() string {
  5765. return s.String()
  5766. }
  5767. type GetRolePolicyInput struct {
  5768. // The name of the policy document to get.
  5769. PolicyName *string `type:"string" required:"true"`
  5770. // The name of the role associated with the policy.
  5771. RoleName *string `type:"string" required:"true"`
  5772. metadataGetRolePolicyInput `json:"-" xml:"-"`
  5773. }
  5774. type metadataGetRolePolicyInput struct {
  5775. SDKShapeTraits bool `type:"structure"`
  5776. }
  5777. // String returns the string representation
  5778. func (s GetRolePolicyInput) String() string {
  5779. return awsutil.Prettify(s)
  5780. }
  5781. // GoString returns the string representation
  5782. func (s GetRolePolicyInput) GoString() string {
  5783. return s.String()
  5784. }
  5785. // Contains the response to a successful GetRolePolicy request.
  5786. type GetRolePolicyOutput struct {
  5787. // The policy document.
  5788. PolicyDocument *string `type:"string" required:"true"`
  5789. // The name of the policy.
  5790. PolicyName *string `type:"string" required:"true"`
  5791. // The role the policy is associated with.
  5792. RoleName *string `type:"string" required:"true"`
  5793. metadataGetRolePolicyOutput `json:"-" xml:"-"`
  5794. }
  5795. type metadataGetRolePolicyOutput struct {
  5796. SDKShapeTraits bool `type:"structure"`
  5797. }
  5798. // String returns the string representation
  5799. func (s GetRolePolicyOutput) String() string {
  5800. return awsutil.Prettify(s)
  5801. }
  5802. // GoString returns the string representation
  5803. func (s GetRolePolicyOutput) GoString() string {
  5804. return s.String()
  5805. }
  5806. type GetSAMLProviderInput struct {
  5807. // The Amazon Resource Name (ARN) of the SAML provider to get information about.
  5808. SAMLProviderArn *string `type:"string" required:"true"`
  5809. metadataGetSAMLProviderInput `json:"-" xml:"-"`
  5810. }
  5811. type metadataGetSAMLProviderInput struct {
  5812. SDKShapeTraits bool `type:"structure"`
  5813. }
  5814. // String returns the string representation
  5815. func (s GetSAMLProviderInput) String() string {
  5816. return awsutil.Prettify(s)
  5817. }
  5818. // GoString returns the string representation
  5819. func (s GetSAMLProviderInput) GoString() string {
  5820. return s.String()
  5821. }
  5822. // Contains the response to a successful GetSAMLProvider request.
  5823. type GetSAMLProviderOutput struct {
  5824. // The date and time when the SAML provider was created.
  5825. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  5826. // The XML metadata document that includes information about an identity provider.
  5827. SAMLMetadataDocument *string `type:"string"`
  5828. // The expiration date and time for the SAML provider.
  5829. ValidUntil *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  5830. metadataGetSAMLProviderOutput `json:"-" xml:"-"`
  5831. }
  5832. type metadataGetSAMLProviderOutput struct {
  5833. SDKShapeTraits bool `type:"structure"`
  5834. }
  5835. // String returns the string representation
  5836. func (s GetSAMLProviderOutput) String() string {
  5837. return awsutil.Prettify(s)
  5838. }
  5839. // GoString returns the string representation
  5840. func (s GetSAMLProviderOutput) GoString() string {
  5841. return s.String()
  5842. }
  5843. type GetSSHPublicKeyInput struct {
  5844. // Specifies the public key encoding format to use in the response. To retrieve
  5845. // the public key in ssh-rsa format, use SSH. To retrieve the public key in
  5846. // PEM format, use PEM.
  5847. Encoding *string `type:"string" required:"true" enum:"encodingType"`
  5848. // The unique identifier for the SSH public key.
  5849. SSHPublicKeyId *string `type:"string" required:"true"`
  5850. // The name of the IAM user associated with the SSH public key.
  5851. UserName *string `type:"string" required:"true"`
  5852. metadataGetSSHPublicKeyInput `json:"-" xml:"-"`
  5853. }
  5854. type metadataGetSSHPublicKeyInput struct {
  5855. SDKShapeTraits bool `type:"structure"`
  5856. }
  5857. // String returns the string representation
  5858. func (s GetSSHPublicKeyInput) String() string {
  5859. return awsutil.Prettify(s)
  5860. }
  5861. // GoString returns the string representation
  5862. func (s GetSSHPublicKeyInput) GoString() string {
  5863. return s.String()
  5864. }
  5865. // Contains the response to a successful GetSSHPublicKey request.
  5866. type GetSSHPublicKeyOutput struct {
  5867. // Information about the SSH public key.
  5868. SSHPublicKey *SSHPublicKey `type:"structure"`
  5869. metadataGetSSHPublicKeyOutput `json:"-" xml:"-"`
  5870. }
  5871. type metadataGetSSHPublicKeyOutput struct {
  5872. SDKShapeTraits bool `type:"structure"`
  5873. }
  5874. // String returns the string representation
  5875. func (s GetSSHPublicKeyOutput) String() string {
  5876. return awsutil.Prettify(s)
  5877. }
  5878. // GoString returns the string representation
  5879. func (s GetSSHPublicKeyOutput) GoString() string {
  5880. return s.String()
  5881. }
  5882. type GetServerCertificateInput struct {
  5883. // The name of the server certificate you want to retrieve information about.
  5884. ServerCertificateName *string `type:"string" required:"true"`
  5885. metadataGetServerCertificateInput `json:"-" xml:"-"`
  5886. }
  5887. type metadataGetServerCertificateInput struct {
  5888. SDKShapeTraits bool `type:"structure"`
  5889. }
  5890. // String returns the string representation
  5891. func (s GetServerCertificateInput) String() string {
  5892. return awsutil.Prettify(s)
  5893. }
  5894. // GoString returns the string representation
  5895. func (s GetServerCertificateInput) GoString() string {
  5896. return s.String()
  5897. }
  5898. // Contains the response to a successful GetServerCertificate request.
  5899. type GetServerCertificateOutput struct {
  5900. // Information about the server certificate.
  5901. ServerCertificate *ServerCertificate `type:"structure" required:"true"`
  5902. metadataGetServerCertificateOutput `json:"-" xml:"-"`
  5903. }
  5904. type metadataGetServerCertificateOutput struct {
  5905. SDKShapeTraits bool `type:"structure"`
  5906. }
  5907. // String returns the string representation
  5908. func (s GetServerCertificateOutput) String() string {
  5909. return awsutil.Prettify(s)
  5910. }
  5911. // GoString returns the string representation
  5912. func (s GetServerCertificateOutput) GoString() string {
  5913. return s.String()
  5914. }
  5915. type GetUserInput struct {
  5916. // The name of the user to get information about.
  5917. //
  5918. // This parameter is optional. If it is not included, it defaults to the user
  5919. // making the request.
  5920. UserName *string `type:"string"`
  5921. metadataGetUserInput `json:"-" xml:"-"`
  5922. }
  5923. type metadataGetUserInput struct {
  5924. SDKShapeTraits bool `type:"structure"`
  5925. }
  5926. // String returns the string representation
  5927. func (s GetUserInput) String() string {
  5928. return awsutil.Prettify(s)
  5929. }
  5930. // GoString returns the string representation
  5931. func (s GetUserInput) GoString() string {
  5932. return s.String()
  5933. }
  5934. // Contains the response to a successful GetUser request.
  5935. type GetUserOutput struct {
  5936. // Information about the user.
  5937. User *User `type:"structure" required:"true"`
  5938. metadataGetUserOutput `json:"-" xml:"-"`
  5939. }
  5940. type metadataGetUserOutput struct {
  5941. SDKShapeTraits bool `type:"structure"`
  5942. }
  5943. // String returns the string representation
  5944. func (s GetUserOutput) String() string {
  5945. return awsutil.Prettify(s)
  5946. }
  5947. // GoString returns the string representation
  5948. func (s GetUserOutput) GoString() string {
  5949. return s.String()
  5950. }
  5951. type GetUserPolicyInput struct {
  5952. // The name of the policy document to get.
  5953. PolicyName *string `type:"string" required:"true"`
  5954. // The name of the user who the policy is associated with.
  5955. UserName *string `type:"string" required:"true"`
  5956. metadataGetUserPolicyInput `json:"-" xml:"-"`
  5957. }
  5958. type metadataGetUserPolicyInput struct {
  5959. SDKShapeTraits bool `type:"structure"`
  5960. }
  5961. // String returns the string representation
  5962. func (s GetUserPolicyInput) String() string {
  5963. return awsutil.Prettify(s)
  5964. }
  5965. // GoString returns the string representation
  5966. func (s GetUserPolicyInput) GoString() string {
  5967. return s.String()
  5968. }
  5969. // Contains the response to a successful GetUserPolicy request.
  5970. type GetUserPolicyOutput struct {
  5971. // The policy document.
  5972. PolicyDocument *string `type:"string" required:"true"`
  5973. // The name of the policy.
  5974. PolicyName *string `type:"string" required:"true"`
  5975. // The user the policy is associated with.
  5976. UserName *string `type:"string" required:"true"`
  5977. metadataGetUserPolicyOutput `json:"-" xml:"-"`
  5978. }
  5979. type metadataGetUserPolicyOutput struct {
  5980. SDKShapeTraits bool `type:"structure"`
  5981. }
  5982. // String returns the string representation
  5983. func (s GetUserPolicyOutput) String() string {
  5984. return awsutil.Prettify(s)
  5985. }
  5986. // GoString returns the string representation
  5987. func (s GetUserPolicyOutput) GoString() string {
  5988. return s.String()
  5989. }
  5990. // Contains information about an IAM group entity.
  5991. //
  5992. // This data type is used as a response element in the following actions:
  5993. //
  5994. // CreateGroup GetGroup ListGroups
  5995. type Group struct {
  5996. // The Amazon Resource Name (ARN) specifying the group. For more information
  5997. // about ARNs and how to use them in policies, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  5998. // in the Using IAM guide.
  5999. Arn *string `type:"string" required:"true"`
  6000. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  6001. // when the group was created.
  6002. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  6003. // The stable and unique string identifying the group. For more information
  6004. // about IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  6005. // in the Using IAM guide.
  6006. GroupId *string `type:"string" required:"true"`
  6007. // The friendly name that identifies the group.
  6008. GroupName *string `type:"string" required:"true"`
  6009. // The path to the group. For more information about paths, see IAM Identifiers
  6010. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  6011. // in the Using IAM guide.
  6012. Path *string `type:"string" required:"true"`
  6013. metadataGroup `json:"-" xml:"-"`
  6014. }
  6015. type metadataGroup struct {
  6016. SDKShapeTraits bool `type:"structure"`
  6017. }
  6018. // String returns the string representation
  6019. func (s Group) String() string {
  6020. return awsutil.Prettify(s)
  6021. }
  6022. // GoString returns the string representation
  6023. func (s Group) GoString() string {
  6024. return s.String()
  6025. }
  6026. // Contains information about an IAM group, including all of the group's policies.
  6027. //
  6028. // This data type is used as a response element in the GetAccountAuthorizationDetails
  6029. // action.
  6030. type GroupDetail struct {
  6031. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  6032. //
  6033. // For more information about ARNs, go to Amazon Resource Names (ARNs) and
  6034. // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  6035. // in the AWS General Reference.
  6036. Arn *string `type:"string"`
  6037. // A list of the managed policies attached to the group.
  6038. AttachedManagedPolicies []*AttachedPolicy `type:"list"`
  6039. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  6040. // when the group was created.
  6041. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  6042. // The stable and unique string identifying the group. For more information
  6043. // about IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  6044. // in the Using IAM guide.
  6045. GroupId *string `type:"string"`
  6046. // The friendly name that identifies the group.
  6047. GroupName *string `type:"string"`
  6048. // A list of the inline policies embedded in the group.
  6049. GroupPolicyList []*PolicyDetail `type:"list"`
  6050. // The path to the group. For more information about paths, see IAM Identifiers
  6051. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  6052. // in the Using IAM guide.
  6053. Path *string `type:"string"`
  6054. metadataGroupDetail `json:"-" xml:"-"`
  6055. }
  6056. type metadataGroupDetail struct {
  6057. SDKShapeTraits bool `type:"structure"`
  6058. }
  6059. // String returns the string representation
  6060. func (s GroupDetail) String() string {
  6061. return awsutil.Prettify(s)
  6062. }
  6063. // GoString returns the string representation
  6064. func (s GroupDetail) GoString() string {
  6065. return s.String()
  6066. }
  6067. // Contains information about an instance profile.
  6068. //
  6069. // This data type is used as a response element in the following actions:
  6070. //
  6071. // CreateInstanceProfile
  6072. //
  6073. // GetInstanceProfile
  6074. //
  6075. // ListInstanceProfiles
  6076. //
  6077. // ListInstanceProfilesForRole
  6078. type InstanceProfile struct {
  6079. // The Amazon Resource Name (ARN) specifying the instance profile. For more
  6080. // information about ARNs and how to use them in policies, see IAM Identifiers
  6081. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  6082. // in the Using IAM guide.
  6083. Arn *string `type:"string" required:"true"`
  6084. // The date when the instance profile was created.
  6085. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  6086. // The stable and unique string identifying the instance profile. For more information
  6087. // about IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  6088. // in the Using IAM guide.
  6089. InstanceProfileId *string `type:"string" required:"true"`
  6090. // The name identifying the instance profile.
  6091. InstanceProfileName *string `type:"string" required:"true"`
  6092. // The path to the instance profile. For more information about paths, see IAM
  6093. // Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  6094. // in the Using IAM guide.
  6095. Path *string `type:"string" required:"true"`
  6096. // The role associated with the instance profile.
  6097. Roles []*Role `type:"list" required:"true"`
  6098. metadataInstanceProfile `json:"-" xml:"-"`
  6099. }
  6100. type metadataInstanceProfile struct {
  6101. SDKShapeTraits bool `type:"structure"`
  6102. }
  6103. // String returns the string representation
  6104. func (s InstanceProfile) String() string {
  6105. return awsutil.Prettify(s)
  6106. }
  6107. // GoString returns the string representation
  6108. func (s InstanceProfile) GoString() string {
  6109. return s.String()
  6110. }
  6111. type ListAccessKeysInput struct {
  6112. // Use this parameter only when paginating results and only after you have received
  6113. // a response where the results are truncated. Set it to the value of the Marker
  6114. // element in the response you just received.
  6115. Marker *string `type:"string"`
  6116. // Use this only when paginating results to indicate the maximum number of items
  6117. // you want in the response. If there are additional items beyond the maximum
  6118. // you specify, the IsTruncated response element is true.
  6119. //
  6120. // This parameter is optional. If you do not include it, it defaults to 100.
  6121. MaxItems *int64 `type:"integer"`
  6122. // The name of the user.
  6123. UserName *string `type:"string"`
  6124. metadataListAccessKeysInput `json:"-" xml:"-"`
  6125. }
  6126. type metadataListAccessKeysInput struct {
  6127. SDKShapeTraits bool `type:"structure"`
  6128. }
  6129. // String returns the string representation
  6130. func (s ListAccessKeysInput) String() string {
  6131. return awsutil.Prettify(s)
  6132. }
  6133. // GoString returns the string representation
  6134. func (s ListAccessKeysInput) GoString() string {
  6135. return s.String()
  6136. }
  6137. // Contains the response to a successful ListAccessKeys request.
  6138. type ListAccessKeysOutput struct {
  6139. // A list of access key metadata.
  6140. AccessKeyMetadata []*AccessKeyMetadata `type:"list" required:"true"`
  6141. // A flag that indicates whether there are more items to return. If your results
  6142. // were truncated, you can make a subsequent pagination request using the Marker
  6143. // request parameter to retrieve more items.
  6144. IsTruncated *bool `type:"boolean"`
  6145. // When IsTruncated is true, this element is present and contains the value
  6146. // to use for the Marker parameter in a subsequent pagination request.
  6147. Marker *string `type:"string"`
  6148. metadataListAccessKeysOutput `json:"-" xml:"-"`
  6149. }
  6150. type metadataListAccessKeysOutput struct {
  6151. SDKShapeTraits bool `type:"structure"`
  6152. }
  6153. // String returns the string representation
  6154. func (s ListAccessKeysOutput) String() string {
  6155. return awsutil.Prettify(s)
  6156. }
  6157. // GoString returns the string representation
  6158. func (s ListAccessKeysOutput) GoString() string {
  6159. return s.String()
  6160. }
  6161. type ListAccountAliasesInput struct {
  6162. // Use this parameter only when paginating results and only after you have received
  6163. // a response where the results are truncated. Set it to the value of the Marker
  6164. // element in the response you just received.
  6165. Marker *string `type:"string"`
  6166. // Use this only when paginating results to indicate the maximum number of items
  6167. // you want in the response. If there are additional items beyond the maximum
  6168. // you specify, the IsTruncated response element is true.
  6169. //
  6170. // This parameter is optional. If you do not include it, it defaults to 100.
  6171. MaxItems *int64 `type:"integer"`
  6172. metadataListAccountAliasesInput `json:"-" xml:"-"`
  6173. }
  6174. type metadataListAccountAliasesInput struct {
  6175. SDKShapeTraits bool `type:"structure"`
  6176. }
  6177. // String returns the string representation
  6178. func (s ListAccountAliasesInput) String() string {
  6179. return awsutil.Prettify(s)
  6180. }
  6181. // GoString returns the string representation
  6182. func (s ListAccountAliasesInput) GoString() string {
  6183. return s.String()
  6184. }
  6185. // Contains the response to a successful ListAccountAliases request.
  6186. type ListAccountAliasesOutput struct {
  6187. // A list of aliases associated with the account.
  6188. AccountAliases []*string `type:"list" required:"true"`
  6189. // A flag that indicates whether there are more items to return. If your results
  6190. // were truncated, you can make a subsequent pagination request using the Marker
  6191. // request parameter to retrieve more items.
  6192. IsTruncated *bool `type:"boolean"`
  6193. // When IsTruncated is true, this element is present and contains the value
  6194. // to use for the Marker parameter in a subsequent pagination request.
  6195. Marker *string `type:"string"`
  6196. metadataListAccountAliasesOutput `json:"-" xml:"-"`
  6197. }
  6198. type metadataListAccountAliasesOutput struct {
  6199. SDKShapeTraits bool `type:"structure"`
  6200. }
  6201. // String returns the string representation
  6202. func (s ListAccountAliasesOutput) String() string {
  6203. return awsutil.Prettify(s)
  6204. }
  6205. // GoString returns the string representation
  6206. func (s ListAccountAliasesOutput) GoString() string {
  6207. return s.String()
  6208. }
  6209. type ListAttachedGroupPoliciesInput struct {
  6210. // The name (friendly name, not ARN) of the group to list attached policies
  6211. // for.
  6212. GroupName *string `type:"string" required:"true"`
  6213. // Use this parameter only when paginating results and only after you have received
  6214. // a response where the results are truncated. Set it to the value of the Marker
  6215. // element in the response you just received.
  6216. Marker *string `type:"string"`
  6217. // Use this only when paginating results to indicate the maximum number of items
  6218. // you want in the response. If there are additional items beyond the maximum
  6219. // you specify, the IsTruncated response element is true.
  6220. //
  6221. // This parameter is optional. If you do not include it, it defaults to 100.
  6222. MaxItems *int64 `type:"integer"`
  6223. // The path prefix for filtering the results. This parameter is optional. If
  6224. // it is not included, it defaults to a slash (/), listing all policies.
  6225. PathPrefix *string `type:"string"`
  6226. metadataListAttachedGroupPoliciesInput `json:"-" xml:"-"`
  6227. }
  6228. type metadataListAttachedGroupPoliciesInput struct {
  6229. SDKShapeTraits bool `type:"structure"`
  6230. }
  6231. // String returns the string representation
  6232. func (s ListAttachedGroupPoliciesInput) String() string {
  6233. return awsutil.Prettify(s)
  6234. }
  6235. // GoString returns the string representation
  6236. func (s ListAttachedGroupPoliciesInput) GoString() string {
  6237. return s.String()
  6238. }
  6239. // Contains the response to a successful ListAttachedGroupPolicies request.
  6240. type ListAttachedGroupPoliciesOutput struct {
  6241. // A list of the attached policies.
  6242. AttachedPolicies []*AttachedPolicy `type:"list"`
  6243. // A flag that indicates whether there are more items to return. If your results
  6244. // were truncated, you can make a subsequent pagination request using the Marker
  6245. // request parameter to retrieve more items.
  6246. IsTruncated *bool `type:"boolean"`
  6247. // When IsTruncated is true, this element is present and contains the value
  6248. // to use for the Marker parameter in a subsequent pagination request.
  6249. Marker *string `type:"string"`
  6250. metadataListAttachedGroupPoliciesOutput `json:"-" xml:"-"`
  6251. }
  6252. type metadataListAttachedGroupPoliciesOutput struct {
  6253. SDKShapeTraits bool `type:"structure"`
  6254. }
  6255. // String returns the string representation
  6256. func (s ListAttachedGroupPoliciesOutput) String() string {
  6257. return awsutil.Prettify(s)
  6258. }
  6259. // GoString returns the string representation
  6260. func (s ListAttachedGroupPoliciesOutput) GoString() string {
  6261. return s.String()
  6262. }
  6263. type ListAttachedRolePoliciesInput struct {
  6264. // Use this parameter only when paginating results and only after you have received
  6265. // a response where the results are truncated. Set it to the value of the Marker
  6266. // element in the response you just received.
  6267. Marker *string `type:"string"`
  6268. // Use this only when paginating results to indicate the maximum number of items
  6269. // you want in the response. If there are additional items beyond the maximum
  6270. // you specify, the IsTruncated response element is true.
  6271. //
  6272. // This parameter is optional. If you do not include it, it defaults to 100.
  6273. MaxItems *int64 `type:"integer"`
  6274. // The path prefix for filtering the results. This parameter is optional. If
  6275. // it is not included, it defaults to a slash (/), listing all policies.
  6276. PathPrefix *string `type:"string"`
  6277. // The name (friendly name, not ARN) of the role to list attached policies for.
  6278. RoleName *string `type:"string" required:"true"`
  6279. metadataListAttachedRolePoliciesInput `json:"-" xml:"-"`
  6280. }
  6281. type metadataListAttachedRolePoliciesInput struct {
  6282. SDKShapeTraits bool `type:"structure"`
  6283. }
  6284. // String returns the string representation
  6285. func (s ListAttachedRolePoliciesInput) String() string {
  6286. return awsutil.Prettify(s)
  6287. }
  6288. // GoString returns the string representation
  6289. func (s ListAttachedRolePoliciesInput) GoString() string {
  6290. return s.String()
  6291. }
  6292. // Contains the response to a successful ListAttachedRolePolicies request.
  6293. type ListAttachedRolePoliciesOutput struct {
  6294. // A list of the attached policies.
  6295. AttachedPolicies []*AttachedPolicy `type:"list"`
  6296. // A flag that indicates whether there are more items to return. If your results
  6297. // were truncated, you can make a subsequent pagination request using the Marker
  6298. // request parameter to retrieve more items.
  6299. IsTruncated *bool `type:"boolean"`
  6300. // When IsTruncated is true, this element is present and contains the value
  6301. // to use for the Marker parameter in a subsequent pagination request.
  6302. Marker *string `type:"string"`
  6303. metadataListAttachedRolePoliciesOutput `json:"-" xml:"-"`
  6304. }
  6305. type metadataListAttachedRolePoliciesOutput struct {
  6306. SDKShapeTraits bool `type:"structure"`
  6307. }
  6308. // String returns the string representation
  6309. func (s ListAttachedRolePoliciesOutput) String() string {
  6310. return awsutil.Prettify(s)
  6311. }
  6312. // GoString returns the string representation
  6313. func (s ListAttachedRolePoliciesOutput) GoString() string {
  6314. return s.String()
  6315. }
  6316. type ListAttachedUserPoliciesInput struct {
  6317. // Use this parameter only when paginating results and only after you have received
  6318. // a response where the results are truncated. Set it to the value of the Marker
  6319. // element in the response you just received.
  6320. Marker *string `type:"string"`
  6321. // Use this only when paginating results to indicate the maximum number of items
  6322. // you want in the response. If there are additional items beyond the maximum
  6323. // you specify, the IsTruncated response element is true.
  6324. //
  6325. // This parameter is optional. If you do not include it, it defaults to 100.
  6326. MaxItems *int64 `type:"integer"`
  6327. // The path prefix for filtering the results. This parameter is optional. If
  6328. // it is not included, it defaults to a slash (/), listing all policies.
  6329. PathPrefix *string `type:"string"`
  6330. // The name (friendly name, not ARN) of the user to list attached policies for.
  6331. UserName *string `type:"string" required:"true"`
  6332. metadataListAttachedUserPoliciesInput `json:"-" xml:"-"`
  6333. }
  6334. type metadataListAttachedUserPoliciesInput struct {
  6335. SDKShapeTraits bool `type:"structure"`
  6336. }
  6337. // String returns the string representation
  6338. func (s ListAttachedUserPoliciesInput) String() string {
  6339. return awsutil.Prettify(s)
  6340. }
  6341. // GoString returns the string representation
  6342. func (s ListAttachedUserPoliciesInput) GoString() string {
  6343. return s.String()
  6344. }
  6345. // Contains the response to a successful ListAttachedUserPolicies request.
  6346. type ListAttachedUserPoliciesOutput struct {
  6347. // A list of the attached policies.
  6348. AttachedPolicies []*AttachedPolicy `type:"list"`
  6349. // A flag that indicates whether there are more items to return. If your results
  6350. // were truncated, you can make a subsequent pagination request using the Marker
  6351. // request parameter to retrieve more items.
  6352. IsTruncated *bool `type:"boolean"`
  6353. // When IsTruncated is true, this element is present and contains the value
  6354. // to use for the Marker parameter in a subsequent pagination request.
  6355. Marker *string `type:"string"`
  6356. metadataListAttachedUserPoliciesOutput `json:"-" xml:"-"`
  6357. }
  6358. type metadataListAttachedUserPoliciesOutput struct {
  6359. SDKShapeTraits bool `type:"structure"`
  6360. }
  6361. // String returns the string representation
  6362. func (s ListAttachedUserPoliciesOutput) String() string {
  6363. return awsutil.Prettify(s)
  6364. }
  6365. // GoString returns the string representation
  6366. func (s ListAttachedUserPoliciesOutput) GoString() string {
  6367. return s.String()
  6368. }
  6369. type ListEntitiesForPolicyInput struct {
  6370. // The entity type to use for filtering the results.
  6371. //
  6372. // For example, when EntityFilter is Role, only the roles that are attached
  6373. // to the specified policy are returned. This parameter is optional. If it is
  6374. // not included, all attached entities (users, groups, and roles) are returned.
  6375. EntityFilter *string `type:"string" enum:"EntityType"`
  6376. // Use this parameter only when paginating results and only after you have received
  6377. // a response where the results are truncated. Set it to the value of the Marker
  6378. // element in the response you just received.
  6379. Marker *string `type:"string"`
  6380. // Use this only when paginating results to indicate the maximum number of items
  6381. // you want in the response. If there are additional items beyond the maximum
  6382. // you specify, the IsTruncated response element is true.
  6383. //
  6384. // This parameter is optional. If you do not include it, it defaults to 100.
  6385. MaxItems *int64 `type:"integer"`
  6386. // The path prefix for filtering the results. This parameter is optional. If
  6387. // it is not included, it defaults to a slash (/), listing all entities.
  6388. PathPrefix *string `type:"string"`
  6389. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  6390. //
  6391. // For more information about ARNs, go to Amazon Resource Names (ARNs) and
  6392. // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  6393. // in the AWS General Reference.
  6394. PolicyArn *string `type:"string" required:"true"`
  6395. metadataListEntitiesForPolicyInput `json:"-" xml:"-"`
  6396. }
  6397. type metadataListEntitiesForPolicyInput struct {
  6398. SDKShapeTraits bool `type:"structure"`
  6399. }
  6400. // String returns the string representation
  6401. func (s ListEntitiesForPolicyInput) String() string {
  6402. return awsutil.Prettify(s)
  6403. }
  6404. // GoString returns the string representation
  6405. func (s ListEntitiesForPolicyInput) GoString() string {
  6406. return s.String()
  6407. }
  6408. // Contains the response to a successful ListEntitiesForPolicy request.
  6409. type ListEntitiesForPolicyOutput struct {
  6410. // A flag that indicates whether there are more items to return. If your results
  6411. // were truncated, you can make a subsequent pagination request using the Marker
  6412. // request parameter to retrieve more items.
  6413. IsTruncated *bool `type:"boolean"`
  6414. // When IsTruncated is true, this element is present and contains the value
  6415. // to use for the Marker parameter in a subsequent pagination request.
  6416. Marker *string `type:"string"`
  6417. // A list of groups that the policy is attached to.
  6418. PolicyGroups []*PolicyGroup `type:"list"`
  6419. // A list of roles that the policy is attached to.
  6420. PolicyRoles []*PolicyRole `type:"list"`
  6421. // A list of users that the policy is attached to.
  6422. PolicyUsers []*PolicyUser `type:"list"`
  6423. metadataListEntitiesForPolicyOutput `json:"-" xml:"-"`
  6424. }
  6425. type metadataListEntitiesForPolicyOutput struct {
  6426. SDKShapeTraits bool `type:"structure"`
  6427. }
  6428. // String returns the string representation
  6429. func (s ListEntitiesForPolicyOutput) String() string {
  6430. return awsutil.Prettify(s)
  6431. }
  6432. // GoString returns the string representation
  6433. func (s ListEntitiesForPolicyOutput) GoString() string {
  6434. return s.String()
  6435. }
  6436. type ListGroupPoliciesInput struct {
  6437. // The name of the group to list policies for.
  6438. GroupName *string `type:"string" required:"true"`
  6439. // Use this parameter only when paginating results and only after you have received
  6440. // a response where the results are truncated. Set it to the value of the Marker
  6441. // element in the response you just received.
  6442. Marker *string `type:"string"`
  6443. // Use this only when paginating results to indicate the maximum number of items
  6444. // you want in the response. If there are additional items beyond the maximum
  6445. // you specify, the IsTruncated response element is true.
  6446. //
  6447. // This parameter is optional. If you do not include it, it defaults to 100.
  6448. MaxItems *int64 `type:"integer"`
  6449. metadataListGroupPoliciesInput `json:"-" xml:"-"`
  6450. }
  6451. type metadataListGroupPoliciesInput struct {
  6452. SDKShapeTraits bool `type:"structure"`
  6453. }
  6454. // String returns the string representation
  6455. func (s ListGroupPoliciesInput) String() string {
  6456. return awsutil.Prettify(s)
  6457. }
  6458. // GoString returns the string representation
  6459. func (s ListGroupPoliciesInput) GoString() string {
  6460. return s.String()
  6461. }
  6462. // Contains the response to a successful ListGroupPolicies request.
  6463. type ListGroupPoliciesOutput struct {
  6464. // A flag that indicates whether there are more items to return. If your results
  6465. // were truncated, you can make a subsequent pagination request using the Marker
  6466. // request parameter to retrieve more items.
  6467. IsTruncated *bool `type:"boolean"`
  6468. // When IsTruncated is true, this element is present and contains the value
  6469. // to use for the Marker parameter in a subsequent pagination request.
  6470. Marker *string `type:"string"`
  6471. // A list of policy names.
  6472. PolicyNames []*string `type:"list" required:"true"`
  6473. metadataListGroupPoliciesOutput `json:"-" xml:"-"`
  6474. }
  6475. type metadataListGroupPoliciesOutput struct {
  6476. SDKShapeTraits bool `type:"structure"`
  6477. }
  6478. // String returns the string representation
  6479. func (s ListGroupPoliciesOutput) String() string {
  6480. return awsutil.Prettify(s)
  6481. }
  6482. // GoString returns the string representation
  6483. func (s ListGroupPoliciesOutput) GoString() string {
  6484. return s.String()
  6485. }
  6486. type ListGroupsForUserInput struct {
  6487. // Use this parameter only when paginating results and only after you have received
  6488. // a response where the results are truncated. Set it to the value of the Marker
  6489. // element in the response you just received.
  6490. Marker *string `type:"string"`
  6491. // Use this only when paginating results to indicate the maximum number of items
  6492. // you want in the response. If there are additional items beyond the maximum
  6493. // you specify, the IsTruncated response element is true.
  6494. //
  6495. // This parameter is optional. If you do not include it, it defaults to 100.
  6496. MaxItems *int64 `type:"integer"`
  6497. // The name of the user to list groups for.
  6498. UserName *string `type:"string" required:"true"`
  6499. metadataListGroupsForUserInput `json:"-" xml:"-"`
  6500. }
  6501. type metadataListGroupsForUserInput struct {
  6502. SDKShapeTraits bool `type:"structure"`
  6503. }
  6504. // String returns the string representation
  6505. func (s ListGroupsForUserInput) String() string {
  6506. return awsutil.Prettify(s)
  6507. }
  6508. // GoString returns the string representation
  6509. func (s ListGroupsForUserInput) GoString() string {
  6510. return s.String()
  6511. }
  6512. // Contains the response to a successful ListGroupsForUser request.
  6513. type ListGroupsForUserOutput struct {
  6514. // A list of groups.
  6515. Groups []*Group `type:"list" required:"true"`
  6516. // A flag that indicates whether there are more items to return. If your results
  6517. // were truncated, you can make a subsequent pagination request using the Marker
  6518. // request parameter to retrieve more items.
  6519. IsTruncated *bool `type:"boolean"`
  6520. // When IsTruncated is true, this element is present and contains the value
  6521. // to use for the Marker parameter in a subsequent pagination request.
  6522. Marker *string `type:"string"`
  6523. metadataListGroupsForUserOutput `json:"-" xml:"-"`
  6524. }
  6525. type metadataListGroupsForUserOutput struct {
  6526. SDKShapeTraits bool `type:"structure"`
  6527. }
  6528. // String returns the string representation
  6529. func (s ListGroupsForUserOutput) String() string {
  6530. return awsutil.Prettify(s)
  6531. }
  6532. // GoString returns the string representation
  6533. func (s ListGroupsForUserOutput) GoString() string {
  6534. return s.String()
  6535. }
  6536. type ListGroupsInput struct {
  6537. // Use this parameter only when paginating results and only after you have received
  6538. // a response where the results are truncated. Set it to the value of the Marker
  6539. // element in the response you just received.
  6540. Marker *string `type:"string"`
  6541. // Use this only when paginating results to indicate the maximum number of items
  6542. // you want in the response. If there are additional items beyond the maximum
  6543. // you specify, the IsTruncated response element is true.
  6544. //
  6545. // This parameter is optional. If you do not include it, it defaults to 100.
  6546. MaxItems *int64 `type:"integer"`
  6547. // The path prefix for filtering the results. For example, the prefix /division_abc/subdivision_xyz/
  6548. // gets all groups whose path starts with /division_abc/subdivision_xyz/.
  6549. //
  6550. // This parameter is optional. If it is not included, it defaults to a slash
  6551. // (/), listing all groups.
  6552. PathPrefix *string `type:"string"`
  6553. metadataListGroupsInput `json:"-" xml:"-"`
  6554. }
  6555. type metadataListGroupsInput struct {
  6556. SDKShapeTraits bool `type:"structure"`
  6557. }
  6558. // String returns the string representation
  6559. func (s ListGroupsInput) String() string {
  6560. return awsutil.Prettify(s)
  6561. }
  6562. // GoString returns the string representation
  6563. func (s ListGroupsInput) GoString() string {
  6564. return s.String()
  6565. }
  6566. // Contains the response to a successful ListGroups request.
  6567. type ListGroupsOutput struct {
  6568. // A list of groups.
  6569. Groups []*Group `type:"list" required:"true"`
  6570. // A flag that indicates whether there are more items to return. If your results
  6571. // were truncated, you can make a subsequent pagination request using the Marker
  6572. // request parameter to retrieve more items.
  6573. IsTruncated *bool `type:"boolean"`
  6574. // When IsTruncated is true, this element is present and contains the value
  6575. // to use for the Marker parameter in a subsequent pagination request.
  6576. Marker *string `type:"string"`
  6577. metadataListGroupsOutput `json:"-" xml:"-"`
  6578. }
  6579. type metadataListGroupsOutput struct {
  6580. SDKShapeTraits bool `type:"structure"`
  6581. }
  6582. // String returns the string representation
  6583. func (s ListGroupsOutput) String() string {
  6584. return awsutil.Prettify(s)
  6585. }
  6586. // GoString returns the string representation
  6587. func (s ListGroupsOutput) GoString() string {
  6588. return s.String()
  6589. }
  6590. type ListInstanceProfilesForRoleInput struct {
  6591. // Use this parameter only when paginating results and only after you have received
  6592. // a response where the results are truncated. Set it to the value of the Marker
  6593. // element in the response you just received.
  6594. Marker *string `type:"string"`
  6595. // Use this only when paginating results to indicate the maximum number of items
  6596. // you want in the response. If there are additional items beyond the maximum
  6597. // you specify, the IsTruncated response element is true.
  6598. //
  6599. // This parameter is optional. If you do not include it, it defaults to 100.
  6600. MaxItems *int64 `type:"integer"`
  6601. // The name of the role to list instance profiles for.
  6602. RoleName *string `type:"string" required:"true"`
  6603. metadataListInstanceProfilesForRoleInput `json:"-" xml:"-"`
  6604. }
  6605. type metadataListInstanceProfilesForRoleInput struct {
  6606. SDKShapeTraits bool `type:"structure"`
  6607. }
  6608. // String returns the string representation
  6609. func (s ListInstanceProfilesForRoleInput) String() string {
  6610. return awsutil.Prettify(s)
  6611. }
  6612. // GoString returns the string representation
  6613. func (s ListInstanceProfilesForRoleInput) GoString() string {
  6614. return s.String()
  6615. }
  6616. // Contains the response to a successful ListInstanceProfilesForRole request.
  6617. type ListInstanceProfilesForRoleOutput struct {
  6618. // A list of instance profiles.
  6619. InstanceProfiles []*InstanceProfile `type:"list" required:"true"`
  6620. // A flag that indicates whether there are more items to return. If your results
  6621. // were truncated, you can make a subsequent pagination request using the Marker
  6622. // request parameter to retrieve more items.
  6623. IsTruncated *bool `type:"boolean"`
  6624. // When IsTruncated is true, this element is present and contains the value
  6625. // to use for the Marker parameter in a subsequent pagination request.
  6626. Marker *string `type:"string"`
  6627. metadataListInstanceProfilesForRoleOutput `json:"-" xml:"-"`
  6628. }
  6629. type metadataListInstanceProfilesForRoleOutput struct {
  6630. SDKShapeTraits bool `type:"structure"`
  6631. }
  6632. // String returns the string representation
  6633. func (s ListInstanceProfilesForRoleOutput) String() string {
  6634. return awsutil.Prettify(s)
  6635. }
  6636. // GoString returns the string representation
  6637. func (s ListInstanceProfilesForRoleOutput) GoString() string {
  6638. return s.String()
  6639. }
  6640. type ListInstanceProfilesInput struct {
  6641. // Use this parameter only when paginating results and only after you have received
  6642. // a response where the results are truncated. Set it to the value of the Marker
  6643. // element in the response you just received.
  6644. Marker *string `type:"string"`
  6645. // Use this only when paginating results to indicate the maximum number of items
  6646. // you want in the response. If there are additional items beyond the maximum
  6647. // you specify, the IsTruncated response element is true.
  6648. //
  6649. // This parameter is optional. If you do not include it, it defaults to 100.
  6650. MaxItems *int64 `type:"integer"`
  6651. // The path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/
  6652. // gets all instance profiles whose path starts with /application_abc/component_xyz/.
  6653. //
  6654. // This parameter is optional. If it is not included, it defaults to a slash
  6655. // (/), listing all instance profiles.
  6656. PathPrefix *string `type:"string"`
  6657. metadataListInstanceProfilesInput `json:"-" xml:"-"`
  6658. }
  6659. type metadataListInstanceProfilesInput struct {
  6660. SDKShapeTraits bool `type:"structure"`
  6661. }
  6662. // String returns the string representation
  6663. func (s ListInstanceProfilesInput) String() string {
  6664. return awsutil.Prettify(s)
  6665. }
  6666. // GoString returns the string representation
  6667. func (s ListInstanceProfilesInput) GoString() string {
  6668. return s.String()
  6669. }
  6670. // Contains the response to a successful ListInstanceProfiles request.
  6671. type ListInstanceProfilesOutput struct {
  6672. // A list of instance profiles.
  6673. InstanceProfiles []*InstanceProfile `type:"list" required:"true"`
  6674. // A flag that indicates whether there are more items to return. If your results
  6675. // were truncated, you can make a subsequent pagination request using the Marker
  6676. // request parameter to retrieve more items.
  6677. IsTruncated *bool `type:"boolean"`
  6678. // When IsTruncated is true, this element is present and contains the value
  6679. // to use for the Marker parameter in a subsequent pagination request.
  6680. Marker *string `type:"string"`
  6681. metadataListInstanceProfilesOutput `json:"-" xml:"-"`
  6682. }
  6683. type metadataListInstanceProfilesOutput struct {
  6684. SDKShapeTraits bool `type:"structure"`
  6685. }
  6686. // String returns the string representation
  6687. func (s ListInstanceProfilesOutput) String() string {
  6688. return awsutil.Prettify(s)
  6689. }
  6690. // GoString returns the string representation
  6691. func (s ListInstanceProfilesOutput) GoString() string {
  6692. return s.String()
  6693. }
  6694. type ListMFADevicesInput struct {
  6695. // Use this parameter only when paginating results and only after you have received
  6696. // a response where the results are truncated. Set it to the value of the Marker
  6697. // element in the response you just received.
  6698. Marker *string `type:"string"`
  6699. // Use this only when paginating results to indicate the maximum number of items
  6700. // you want in the response. If there are additional items beyond the maximum
  6701. // you specify, the IsTruncated response element is true.
  6702. //
  6703. // This parameter is optional. If you do not include it, it defaults to 100.
  6704. MaxItems *int64 `type:"integer"`
  6705. // The name of the user whose MFA devices you want to list.
  6706. UserName *string `type:"string"`
  6707. metadataListMFADevicesInput `json:"-" xml:"-"`
  6708. }
  6709. type metadataListMFADevicesInput struct {
  6710. SDKShapeTraits bool `type:"structure"`
  6711. }
  6712. // String returns the string representation
  6713. func (s ListMFADevicesInput) String() string {
  6714. return awsutil.Prettify(s)
  6715. }
  6716. // GoString returns the string representation
  6717. func (s ListMFADevicesInput) GoString() string {
  6718. return s.String()
  6719. }
  6720. // Contains the response to a successful ListMFADevices request.
  6721. type ListMFADevicesOutput struct {
  6722. // A flag that indicates whether there are more items to return. If your results
  6723. // were truncated, you can make a subsequent pagination request using the Marker
  6724. // request parameter to retrieve more items.
  6725. IsTruncated *bool `type:"boolean"`
  6726. // A list of MFA devices.
  6727. MFADevices []*MFADevice `type:"list" required:"true"`
  6728. // When IsTruncated is true, this element is present and contains the value
  6729. // to use for the Marker parameter in a subsequent pagination request.
  6730. Marker *string `type:"string"`
  6731. metadataListMFADevicesOutput `json:"-" xml:"-"`
  6732. }
  6733. type metadataListMFADevicesOutput struct {
  6734. SDKShapeTraits bool `type:"structure"`
  6735. }
  6736. // String returns the string representation
  6737. func (s ListMFADevicesOutput) String() string {
  6738. return awsutil.Prettify(s)
  6739. }
  6740. // GoString returns the string representation
  6741. func (s ListMFADevicesOutput) GoString() string {
  6742. return s.String()
  6743. }
  6744. type ListOpenIDConnectProvidersInput struct {
  6745. metadataListOpenIDConnectProvidersInput `json:"-" xml:"-"`
  6746. }
  6747. type metadataListOpenIDConnectProvidersInput struct {
  6748. SDKShapeTraits bool `type:"structure"`
  6749. }
  6750. // String returns the string representation
  6751. func (s ListOpenIDConnectProvidersInput) String() string {
  6752. return awsutil.Prettify(s)
  6753. }
  6754. // GoString returns the string representation
  6755. func (s ListOpenIDConnectProvidersInput) GoString() string {
  6756. return s.String()
  6757. }
  6758. // Contains the response to a successful ListOpenIDConnectProviders request.
  6759. type ListOpenIDConnectProvidersOutput struct {
  6760. // The list of IAM OpenID Connect providers in the AWS account.
  6761. OpenIDConnectProviderList []*OpenIDConnectProviderListEntry `type:"list"`
  6762. metadataListOpenIDConnectProvidersOutput `json:"-" xml:"-"`
  6763. }
  6764. type metadataListOpenIDConnectProvidersOutput struct {
  6765. SDKShapeTraits bool `type:"structure"`
  6766. }
  6767. // String returns the string representation
  6768. func (s ListOpenIDConnectProvidersOutput) String() string {
  6769. return awsutil.Prettify(s)
  6770. }
  6771. // GoString returns the string representation
  6772. func (s ListOpenIDConnectProvidersOutput) GoString() string {
  6773. return s.String()
  6774. }
  6775. type ListPoliciesInput struct {
  6776. // Use this parameter only when paginating results and only after you have received
  6777. // a response where the results are truncated. Set it to the value of the Marker
  6778. // element in the response you just received.
  6779. Marker *string `type:"string"`
  6780. // Use this only when paginating results to indicate the maximum number of items
  6781. // you want in the response. If there are additional items beyond the maximum
  6782. // you specify, the IsTruncated response element is true.
  6783. //
  6784. // This parameter is optional. If you do not include it, it defaults to 100.
  6785. MaxItems *int64 `type:"integer"`
  6786. // A flag to filter the results to only the attached policies.
  6787. //
  6788. // When OnlyAttached is true, the returned list contains only the policies
  6789. // that are attached to a user, group, or role. When OnlyAttached is false,
  6790. // or when the parameter is not included, all policies are returned.
  6791. OnlyAttached *bool `type:"boolean"`
  6792. // The path prefix for filtering the results. This parameter is optional. If
  6793. // it is not included, it defaults to a slash (/), listing all policies.
  6794. PathPrefix *string `type:"string"`
  6795. // The scope to use for filtering the results.
  6796. //
  6797. // To list only AWS managed policies, set Scope to AWS. To list only the customer
  6798. // managed policies in your AWS account, set Scope to Local.
  6799. //
  6800. // This parameter is optional. If it is not included, or if it is set to All,
  6801. // all policies are returned.
  6802. Scope *string `type:"string" enum:"policyScopeType"`
  6803. metadataListPoliciesInput `json:"-" xml:"-"`
  6804. }
  6805. type metadataListPoliciesInput struct {
  6806. SDKShapeTraits bool `type:"structure"`
  6807. }
  6808. // String returns the string representation
  6809. func (s ListPoliciesInput) String() string {
  6810. return awsutil.Prettify(s)
  6811. }
  6812. // GoString returns the string representation
  6813. func (s ListPoliciesInput) GoString() string {
  6814. return s.String()
  6815. }
  6816. // Contains the response to a successful ListPolicies request.
  6817. type ListPoliciesOutput struct {
  6818. // A flag that indicates whether there are more items to return. If your results
  6819. // were truncated, you can make a subsequent pagination request using the Marker
  6820. // request parameter to retrieve more items.
  6821. IsTruncated *bool `type:"boolean"`
  6822. // When IsTruncated is true, this element is present and contains the value
  6823. // to use for the Marker parameter in a subsequent pagination request.
  6824. Marker *string `type:"string"`
  6825. // A list of policies.
  6826. Policies []*Policy `type:"list"`
  6827. metadataListPoliciesOutput `json:"-" xml:"-"`
  6828. }
  6829. type metadataListPoliciesOutput struct {
  6830. SDKShapeTraits bool `type:"structure"`
  6831. }
  6832. // String returns the string representation
  6833. func (s ListPoliciesOutput) String() string {
  6834. return awsutil.Prettify(s)
  6835. }
  6836. // GoString returns the string representation
  6837. func (s ListPoliciesOutput) GoString() string {
  6838. return s.String()
  6839. }
  6840. type ListPolicyVersionsInput struct {
  6841. // Use this parameter only when paginating results and only after you have received
  6842. // a response where the results are truncated. Set it to the value of the Marker
  6843. // element in the response you just received.
  6844. Marker *string `type:"string"`
  6845. // Use this only when paginating results to indicate the maximum number of items
  6846. // you want in the response. If there are additional items beyond the maximum
  6847. // you specify, the IsTruncated response element is true.
  6848. //
  6849. // This parameter is optional. If you do not include it, it defaults to 100.
  6850. MaxItems *int64 `type:"integer"`
  6851. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  6852. //
  6853. // For more information about ARNs, go to Amazon Resource Names (ARNs) and
  6854. // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  6855. // in the AWS General Reference.
  6856. PolicyArn *string `type:"string" required:"true"`
  6857. metadataListPolicyVersionsInput `json:"-" xml:"-"`
  6858. }
  6859. type metadataListPolicyVersionsInput struct {
  6860. SDKShapeTraits bool `type:"structure"`
  6861. }
  6862. // String returns the string representation
  6863. func (s ListPolicyVersionsInput) String() string {
  6864. return awsutil.Prettify(s)
  6865. }
  6866. // GoString returns the string representation
  6867. func (s ListPolicyVersionsInput) GoString() string {
  6868. return s.String()
  6869. }
  6870. // Contains the response to a successful ListPolicyVersions request.
  6871. type ListPolicyVersionsOutput struct {
  6872. // A flag that indicates whether there are more items to return. If your results
  6873. // were truncated, you can make a subsequent pagination request using the Marker
  6874. // request parameter to retrieve more items.
  6875. IsTruncated *bool `type:"boolean"`
  6876. // When IsTruncated is true, this element is present and contains the value
  6877. // to use for the Marker parameter in a subsequent pagination request.
  6878. Marker *string `type:"string"`
  6879. // A list of policy versions.
  6880. //
  6881. // For more information about managed policy versions, see Versioning for Managed
  6882. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
  6883. // in the Using IAM guide.
  6884. Versions []*PolicyVersion `type:"list"`
  6885. metadataListPolicyVersionsOutput `json:"-" xml:"-"`
  6886. }
  6887. type metadataListPolicyVersionsOutput struct {
  6888. SDKShapeTraits bool `type:"structure"`
  6889. }
  6890. // String returns the string representation
  6891. func (s ListPolicyVersionsOutput) String() string {
  6892. return awsutil.Prettify(s)
  6893. }
  6894. // GoString returns the string representation
  6895. func (s ListPolicyVersionsOutput) GoString() string {
  6896. return s.String()
  6897. }
  6898. type ListRolePoliciesInput struct {
  6899. // Use this parameter only when paginating results and only after you have received
  6900. // a response where the results are truncated. Set it to the value of the Marker
  6901. // element in the response you just received.
  6902. Marker *string `type:"string"`
  6903. // Use this only when paginating results to indicate the maximum number of items
  6904. // you want in the response. If there are additional items beyond the maximum
  6905. // you specify, the IsTruncated response element is true.
  6906. //
  6907. // This parameter is optional. If you do not include it, it defaults to 100.
  6908. MaxItems *int64 `type:"integer"`
  6909. // The name of the role to list policies for.
  6910. RoleName *string `type:"string" required:"true"`
  6911. metadataListRolePoliciesInput `json:"-" xml:"-"`
  6912. }
  6913. type metadataListRolePoliciesInput struct {
  6914. SDKShapeTraits bool `type:"structure"`
  6915. }
  6916. // String returns the string representation
  6917. func (s ListRolePoliciesInput) String() string {
  6918. return awsutil.Prettify(s)
  6919. }
  6920. // GoString returns the string representation
  6921. func (s ListRolePoliciesInput) GoString() string {
  6922. return s.String()
  6923. }
  6924. // Contains the response to a successful ListRolePolicies request.
  6925. type ListRolePoliciesOutput struct {
  6926. // A flag that indicates whether there are more items to return. If your results
  6927. // were truncated, you can make a subsequent pagination request using the Marker
  6928. // request parameter to retrieve more items.
  6929. IsTruncated *bool `type:"boolean"`
  6930. // When IsTruncated is true, this element is present and contains the value
  6931. // to use for the Marker parameter in a subsequent pagination request.
  6932. Marker *string `type:"string"`
  6933. // A list of policy names.
  6934. PolicyNames []*string `type:"list" required:"true"`
  6935. metadataListRolePoliciesOutput `json:"-" xml:"-"`
  6936. }
  6937. type metadataListRolePoliciesOutput struct {
  6938. SDKShapeTraits bool `type:"structure"`
  6939. }
  6940. // String returns the string representation
  6941. func (s ListRolePoliciesOutput) String() string {
  6942. return awsutil.Prettify(s)
  6943. }
  6944. // GoString returns the string representation
  6945. func (s ListRolePoliciesOutput) GoString() string {
  6946. return s.String()
  6947. }
  6948. type ListRolesInput struct {
  6949. // Use this parameter only when paginating results and only after you have received
  6950. // a response where the results are truncated. Set it to the value of the Marker
  6951. // element in the response you just received.
  6952. Marker *string `type:"string"`
  6953. // Use this only when paginating results to indicate the maximum number of items
  6954. // you want in the response. If there are additional items beyond the maximum
  6955. // you specify, the IsTruncated response element is true.
  6956. //
  6957. // This parameter is optional. If you do not include it, it defaults to 100.
  6958. MaxItems *int64 `type:"integer"`
  6959. // The path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/
  6960. // gets all roles whose path starts with /application_abc/component_xyz/.
  6961. //
  6962. // This parameter is optional. If it is not included, it defaults to a slash
  6963. // (/), listing all roles.
  6964. PathPrefix *string `type:"string"`
  6965. metadataListRolesInput `json:"-" xml:"-"`
  6966. }
  6967. type metadataListRolesInput struct {
  6968. SDKShapeTraits bool `type:"structure"`
  6969. }
  6970. // String returns the string representation
  6971. func (s ListRolesInput) String() string {
  6972. return awsutil.Prettify(s)
  6973. }
  6974. // GoString returns the string representation
  6975. func (s ListRolesInput) GoString() string {
  6976. return s.String()
  6977. }
  6978. // Contains the response to a successful ListRoles request.
  6979. type ListRolesOutput struct {
  6980. // A flag that indicates whether there are more items to return. If your results
  6981. // were truncated, you can make a subsequent pagination request using the Marker
  6982. // request parameter to retrieve more items.
  6983. IsTruncated *bool `type:"boolean"`
  6984. // When IsTruncated is true, this element is present and contains the value
  6985. // to use for the Marker parameter in a subsequent pagination request.
  6986. Marker *string `type:"string"`
  6987. // A list of roles.
  6988. Roles []*Role `type:"list" required:"true"`
  6989. metadataListRolesOutput `json:"-" xml:"-"`
  6990. }
  6991. type metadataListRolesOutput struct {
  6992. SDKShapeTraits bool `type:"structure"`
  6993. }
  6994. // String returns the string representation
  6995. func (s ListRolesOutput) String() string {
  6996. return awsutil.Prettify(s)
  6997. }
  6998. // GoString returns the string representation
  6999. func (s ListRolesOutput) GoString() string {
  7000. return s.String()
  7001. }
  7002. type ListSAMLProvidersInput struct {
  7003. metadataListSAMLProvidersInput `json:"-" xml:"-"`
  7004. }
  7005. type metadataListSAMLProvidersInput struct {
  7006. SDKShapeTraits bool `type:"structure"`
  7007. }
  7008. // String returns the string representation
  7009. func (s ListSAMLProvidersInput) String() string {
  7010. return awsutil.Prettify(s)
  7011. }
  7012. // GoString returns the string representation
  7013. func (s ListSAMLProvidersInput) GoString() string {
  7014. return s.String()
  7015. }
  7016. // Contains the response to a successful ListSAMLProviders request.
  7017. type ListSAMLProvidersOutput struct {
  7018. // The list of SAML providers for this account.
  7019. SAMLProviderList []*SAMLProviderListEntry `type:"list"`
  7020. metadataListSAMLProvidersOutput `json:"-" xml:"-"`
  7021. }
  7022. type metadataListSAMLProvidersOutput struct {
  7023. SDKShapeTraits bool `type:"structure"`
  7024. }
  7025. // String returns the string representation
  7026. func (s ListSAMLProvidersOutput) String() string {
  7027. return awsutil.Prettify(s)
  7028. }
  7029. // GoString returns the string representation
  7030. func (s ListSAMLProvidersOutput) GoString() string {
  7031. return s.String()
  7032. }
  7033. type ListSSHPublicKeysInput struct {
  7034. // Use this parameter only when paginating results and only after you have received
  7035. // a response where the results are truncated. Set it to the value of the Marker
  7036. // element in the response you just received.
  7037. Marker *string `type:"string"`
  7038. // Use this only when paginating results to indicate the maximum number of items
  7039. // you want in the response. If there are additional items beyond the maximum
  7040. // you specify, the IsTruncated response element is true.
  7041. //
  7042. // This parameter is optional. If you do not include it, it defaults to 100.
  7043. MaxItems *int64 `type:"integer"`
  7044. // The name of the IAM user to list SSH public keys for. If none is specified,
  7045. // the UserName field is determined implicitly based on the AWS access key used
  7046. // to sign the request.
  7047. UserName *string `type:"string"`
  7048. metadataListSSHPublicKeysInput `json:"-" xml:"-"`
  7049. }
  7050. type metadataListSSHPublicKeysInput struct {
  7051. SDKShapeTraits bool `type:"structure"`
  7052. }
  7053. // String returns the string representation
  7054. func (s ListSSHPublicKeysInput) String() string {
  7055. return awsutil.Prettify(s)
  7056. }
  7057. // GoString returns the string representation
  7058. func (s ListSSHPublicKeysInput) GoString() string {
  7059. return s.String()
  7060. }
  7061. // Contains the response to a successful ListSSHPublicKeys request.
  7062. type ListSSHPublicKeysOutput struct {
  7063. // A flag that indicates whether there are more items to return. If your results
  7064. // were truncated, you can make a subsequent pagination request using the Marker
  7065. // request parameter to retrieve more items.
  7066. IsTruncated *bool `type:"boolean"`
  7067. // When IsTruncated is true, this element is present and contains the value
  7068. // to use for the Marker parameter in a subsequent pagination request.
  7069. Marker *string `type:"string"`
  7070. // A list of SSH public keys.
  7071. SSHPublicKeys []*SSHPublicKeyMetadata `type:"list"`
  7072. metadataListSSHPublicKeysOutput `json:"-" xml:"-"`
  7073. }
  7074. type metadataListSSHPublicKeysOutput struct {
  7075. SDKShapeTraits bool `type:"structure"`
  7076. }
  7077. // String returns the string representation
  7078. func (s ListSSHPublicKeysOutput) String() string {
  7079. return awsutil.Prettify(s)
  7080. }
  7081. // GoString returns the string representation
  7082. func (s ListSSHPublicKeysOutput) GoString() string {
  7083. return s.String()
  7084. }
  7085. type ListServerCertificatesInput struct {
  7086. // Use this parameter only when paginating results and only after you have received
  7087. // a response where the results are truncated. Set it to the value of the Marker
  7088. // element in the response you just received.
  7089. Marker *string `type:"string"`
  7090. // Use this only when paginating results to indicate the maximum number of items
  7091. // you want in the response. If there are additional items beyond the maximum
  7092. // you specify, the IsTruncated response element is true.
  7093. //
  7094. // This parameter is optional. If you do not include it, it defaults to 100.
  7095. MaxItems *int64 `type:"integer"`
  7096. // The path prefix for filtering the results. For example: /company/servercerts
  7097. // would get all server certificates for which the path starts with /company/servercerts.
  7098. //
  7099. // This parameter is optional. If it is not included, it defaults to a slash
  7100. // (/), listing all server certificates.
  7101. PathPrefix *string `type:"string"`
  7102. metadataListServerCertificatesInput `json:"-" xml:"-"`
  7103. }
  7104. type metadataListServerCertificatesInput struct {
  7105. SDKShapeTraits bool `type:"structure"`
  7106. }
  7107. // String returns the string representation
  7108. func (s ListServerCertificatesInput) String() string {
  7109. return awsutil.Prettify(s)
  7110. }
  7111. // GoString returns the string representation
  7112. func (s ListServerCertificatesInput) GoString() string {
  7113. return s.String()
  7114. }
  7115. // Contains the response to a successful ListServerCertificates request.
  7116. type ListServerCertificatesOutput struct {
  7117. // A flag that indicates whether there are more items to return. If your results
  7118. // were truncated, you can make a subsequent pagination request using the Marker
  7119. // request parameter to retrieve more items.
  7120. IsTruncated *bool `type:"boolean"`
  7121. // When IsTruncated is true, this element is present and contains the value
  7122. // to use for the Marker parameter in a subsequent pagination request.
  7123. Marker *string `type:"string"`
  7124. // A list of server certificates.
  7125. ServerCertificateMetadataList []*ServerCertificateMetadata `type:"list" required:"true"`
  7126. metadataListServerCertificatesOutput `json:"-" xml:"-"`
  7127. }
  7128. type metadataListServerCertificatesOutput struct {
  7129. SDKShapeTraits bool `type:"structure"`
  7130. }
  7131. // String returns the string representation
  7132. func (s ListServerCertificatesOutput) String() string {
  7133. return awsutil.Prettify(s)
  7134. }
  7135. // GoString returns the string representation
  7136. func (s ListServerCertificatesOutput) GoString() string {
  7137. return s.String()
  7138. }
  7139. type ListSigningCertificatesInput struct {
  7140. // Use this parameter only when paginating results and only after you have received
  7141. // a response where the results are truncated. Set it to the value of the Marker
  7142. // element in the response you just received.
  7143. Marker *string `type:"string"`
  7144. // Use this only when paginating results to indicate the maximum number of items
  7145. // you want in the response. If there are additional items beyond the maximum
  7146. // you specify, the IsTruncated response element is true.
  7147. //
  7148. // This parameter is optional. If you do not include it, it defaults to 100.
  7149. MaxItems *int64 `type:"integer"`
  7150. // The name of the user.
  7151. UserName *string `type:"string"`
  7152. metadataListSigningCertificatesInput `json:"-" xml:"-"`
  7153. }
  7154. type metadataListSigningCertificatesInput struct {
  7155. SDKShapeTraits bool `type:"structure"`
  7156. }
  7157. // String returns the string representation
  7158. func (s ListSigningCertificatesInput) String() string {
  7159. return awsutil.Prettify(s)
  7160. }
  7161. // GoString returns the string representation
  7162. func (s ListSigningCertificatesInput) GoString() string {
  7163. return s.String()
  7164. }
  7165. // Contains the response to a successful ListSigningCertificates request.
  7166. type ListSigningCertificatesOutput struct {
  7167. // A list of the user's signing certificate information.
  7168. Certificates []*SigningCertificate `type:"list" required:"true"`
  7169. // A flag that indicates whether there are more items to return. If your results
  7170. // were truncated, you can make a subsequent pagination request using the Marker
  7171. // request parameter to retrieve more items.
  7172. IsTruncated *bool `type:"boolean"`
  7173. // When IsTruncated is true, this element is present and contains the value
  7174. // to use for the Marker parameter in a subsequent pagination request.
  7175. Marker *string `type:"string"`
  7176. metadataListSigningCertificatesOutput `json:"-" xml:"-"`
  7177. }
  7178. type metadataListSigningCertificatesOutput struct {
  7179. SDKShapeTraits bool `type:"structure"`
  7180. }
  7181. // String returns the string representation
  7182. func (s ListSigningCertificatesOutput) String() string {
  7183. return awsutil.Prettify(s)
  7184. }
  7185. // GoString returns the string representation
  7186. func (s ListSigningCertificatesOutput) GoString() string {
  7187. return s.String()
  7188. }
  7189. type ListUserPoliciesInput struct {
  7190. // Use this parameter only when paginating results and only after you have received
  7191. // a response where the results are truncated. Set it to the value of the Marker
  7192. // element in the response you just received.
  7193. Marker *string `type:"string"`
  7194. // Use this only when paginating results to indicate the maximum number of items
  7195. // you want in the response. If there are additional items beyond the maximum
  7196. // you specify, the IsTruncated response element is true.
  7197. //
  7198. // This parameter is optional. If you do not include it, it defaults to 100.
  7199. MaxItems *int64 `type:"integer"`
  7200. // The name of the user to list policies for.
  7201. UserName *string `type:"string" required:"true"`
  7202. metadataListUserPoliciesInput `json:"-" xml:"-"`
  7203. }
  7204. type metadataListUserPoliciesInput struct {
  7205. SDKShapeTraits bool `type:"structure"`
  7206. }
  7207. // String returns the string representation
  7208. func (s ListUserPoliciesInput) String() string {
  7209. return awsutil.Prettify(s)
  7210. }
  7211. // GoString returns the string representation
  7212. func (s ListUserPoliciesInput) GoString() string {
  7213. return s.String()
  7214. }
  7215. // Contains the response to a successful ListUserPolicies request.
  7216. type ListUserPoliciesOutput struct {
  7217. // A flag that indicates whether there are more items to return. If your results
  7218. // were truncated, you can make a subsequent pagination request using the Marker
  7219. // request parameter to retrieve more items.
  7220. IsTruncated *bool `type:"boolean"`
  7221. // When IsTruncated is true, this element is present and contains the value
  7222. // to use for the Marker parameter in a subsequent pagination request.
  7223. Marker *string `type:"string"`
  7224. // A list of policy names.
  7225. PolicyNames []*string `type:"list" required:"true"`
  7226. metadataListUserPoliciesOutput `json:"-" xml:"-"`
  7227. }
  7228. type metadataListUserPoliciesOutput struct {
  7229. SDKShapeTraits bool `type:"structure"`
  7230. }
  7231. // String returns the string representation
  7232. func (s ListUserPoliciesOutput) String() string {
  7233. return awsutil.Prettify(s)
  7234. }
  7235. // GoString returns the string representation
  7236. func (s ListUserPoliciesOutput) GoString() string {
  7237. return s.String()
  7238. }
  7239. type ListUsersInput struct {
  7240. // Use this parameter only when paginating results and only after you have received
  7241. // a response where the results are truncated. Set it to the value of the Marker
  7242. // element in the response you just received.
  7243. Marker *string `type:"string"`
  7244. // Use this only when paginating results to indicate the maximum number of items
  7245. // you want in the response. If there are additional items beyond the maximum
  7246. // you specify, the IsTruncated response element is true.
  7247. //
  7248. // This parameter is optional. If you do not include it, it defaults to 100.
  7249. MaxItems *int64 `type:"integer"`
  7250. // The path prefix for filtering the results. For example: /division_abc/subdivision_xyz/,
  7251. // which would get all user names whose path starts with /division_abc/subdivision_xyz/.
  7252. //
  7253. // This parameter is optional. If it is not included, it defaults to a slash
  7254. // (/), listing all user names.
  7255. PathPrefix *string `type:"string"`
  7256. metadataListUsersInput `json:"-" xml:"-"`
  7257. }
  7258. type metadataListUsersInput struct {
  7259. SDKShapeTraits bool `type:"structure"`
  7260. }
  7261. // String returns the string representation
  7262. func (s ListUsersInput) String() string {
  7263. return awsutil.Prettify(s)
  7264. }
  7265. // GoString returns the string representation
  7266. func (s ListUsersInput) GoString() string {
  7267. return s.String()
  7268. }
  7269. // Contains the response to a successful ListUsers request.
  7270. type ListUsersOutput struct {
  7271. // A flag that indicates whether there are more items to return. If your results
  7272. // were truncated, you can make a subsequent pagination request using the Marker
  7273. // request parameter to retrieve more items.
  7274. IsTruncated *bool `type:"boolean"`
  7275. // When IsTruncated is true, this element is present and contains the value
  7276. // to use for the Marker parameter in a subsequent pagination request.
  7277. Marker *string `type:"string"`
  7278. // A list of users.
  7279. Users []*User `type:"list" required:"true"`
  7280. metadataListUsersOutput `json:"-" xml:"-"`
  7281. }
  7282. type metadataListUsersOutput struct {
  7283. SDKShapeTraits bool `type:"structure"`
  7284. }
  7285. // String returns the string representation
  7286. func (s ListUsersOutput) String() string {
  7287. return awsutil.Prettify(s)
  7288. }
  7289. // GoString returns the string representation
  7290. func (s ListUsersOutput) GoString() string {
  7291. return s.String()
  7292. }
  7293. type ListVirtualMFADevicesInput struct {
  7294. // The status (unassigned or assigned) of the devices to list. If you do not
  7295. // specify an AssignmentStatus, the action defaults to Any which lists both
  7296. // assigned and unassigned virtual MFA devices.
  7297. AssignmentStatus *string `type:"string" enum:"assignmentStatusType"`
  7298. // Use this parameter only when paginating results and only after you have received
  7299. // a response where the results are truncated. Set it to the value of the Marker
  7300. // element in the response you just received.
  7301. Marker *string `type:"string"`
  7302. // Use this only when paginating results to indicate the maximum number of items
  7303. // you want in the response. If there are additional items beyond the maximum
  7304. // you specify, the IsTruncated response element is true.
  7305. //
  7306. // This parameter is optional. If you do not include it, it defaults to 100.
  7307. MaxItems *int64 `type:"integer"`
  7308. metadataListVirtualMFADevicesInput `json:"-" xml:"-"`
  7309. }
  7310. type metadataListVirtualMFADevicesInput struct {
  7311. SDKShapeTraits bool `type:"structure"`
  7312. }
  7313. // String returns the string representation
  7314. func (s ListVirtualMFADevicesInput) String() string {
  7315. return awsutil.Prettify(s)
  7316. }
  7317. // GoString returns the string representation
  7318. func (s ListVirtualMFADevicesInput) GoString() string {
  7319. return s.String()
  7320. }
  7321. // Contains the response to a successful ListVirtualMFADevices request.
  7322. type ListVirtualMFADevicesOutput struct {
  7323. // A flag that indicates whether there are more items to return. If your results
  7324. // were truncated, you can make a subsequent pagination request using the Marker
  7325. // request parameter to retrieve more items.
  7326. IsTruncated *bool `type:"boolean"`
  7327. // When IsTruncated is true, this element is present and contains the value
  7328. // to use for the Marker parameter in a subsequent pagination request.
  7329. Marker *string `type:"string"`
  7330. // The list of virtual MFA devices in the current account that match the AssignmentStatus
  7331. // value that was passed in the request.
  7332. VirtualMFADevices []*VirtualMFADevice `type:"list" required:"true"`
  7333. metadataListVirtualMFADevicesOutput `json:"-" xml:"-"`
  7334. }
  7335. type metadataListVirtualMFADevicesOutput struct {
  7336. SDKShapeTraits bool `type:"structure"`
  7337. }
  7338. // String returns the string representation
  7339. func (s ListVirtualMFADevicesOutput) String() string {
  7340. return awsutil.Prettify(s)
  7341. }
  7342. // GoString returns the string representation
  7343. func (s ListVirtualMFADevicesOutput) GoString() string {
  7344. return s.String()
  7345. }
  7346. // Contains the user name and password create date for a user.
  7347. //
  7348. // This data type is used as a response element in the CreateLoginProfile
  7349. // and GetLoginProfile actions.
  7350. type LoginProfile struct {
  7351. // The date when the password for the user was created.
  7352. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  7353. // Specifies whether the user is required to set a new password on next sign-in.
  7354. PasswordResetRequired *bool `type:"boolean"`
  7355. // The name of the user, which can be used for signing in to the AWS Management
  7356. // Console.
  7357. UserName *string `type:"string" required:"true"`
  7358. metadataLoginProfile `json:"-" xml:"-"`
  7359. }
  7360. type metadataLoginProfile struct {
  7361. SDKShapeTraits bool `type:"structure"`
  7362. }
  7363. // String returns the string representation
  7364. func (s LoginProfile) String() string {
  7365. return awsutil.Prettify(s)
  7366. }
  7367. // GoString returns the string representation
  7368. func (s LoginProfile) GoString() string {
  7369. return s.String()
  7370. }
  7371. // Contains information about an MFA device.
  7372. //
  7373. // This data type is used as a response element in the ListMFADevices action.
  7374. type MFADevice struct {
  7375. // The date when the MFA device was enabled for the user.
  7376. EnableDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  7377. // The serial number that uniquely identifies the MFA device. For virtual MFA
  7378. // devices, the serial number is the device ARN.
  7379. SerialNumber *string `type:"string" required:"true"`
  7380. // The user with whom the MFA device is associated.
  7381. UserName *string `type:"string" required:"true"`
  7382. metadataMFADevice `json:"-" xml:"-"`
  7383. }
  7384. type metadataMFADevice struct {
  7385. SDKShapeTraits bool `type:"structure"`
  7386. }
  7387. // String returns the string representation
  7388. func (s MFADevice) String() string {
  7389. return awsutil.Prettify(s)
  7390. }
  7391. // GoString returns the string representation
  7392. func (s MFADevice) GoString() string {
  7393. return s.String()
  7394. }
  7395. // Contains information about a managed policy, including the policy's ARN,
  7396. // versions, and the number of principal entities (users, groups, and roles)
  7397. // that the policy is attached to.
  7398. //
  7399. // This data type is used as a response element in the GetAccountAuthorizationDetails
  7400. // action.
  7401. //
  7402. // For more information about managed policies, see Managed Policies and Inline
  7403. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  7404. // in the Using IAM guide.
  7405. type ManagedPolicyDetail struct {
  7406. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  7407. //
  7408. // For more information about ARNs, go to Amazon Resource Names (ARNs) and
  7409. // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  7410. // in the AWS General Reference.
  7411. Arn *string `type:"string"`
  7412. // The number of principal entities (users, groups, and roles) that the policy
  7413. // is attached to.
  7414. AttachmentCount *int64 `type:"integer"`
  7415. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  7416. // when the policy was created.
  7417. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  7418. // The identifier for the version of the policy that is set as the default (operative)
  7419. // version.
  7420. //
  7421. // For more information about policy versions, see Versioning for Managed Policies
  7422. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
  7423. // in the Using IAM guide.
  7424. DefaultVersionId *string `type:"string"`
  7425. // A friendly description of the policy.
  7426. Description *string `type:"string"`
  7427. // Specifies whether the policy can be attached to an IAM user, group, or role.
  7428. IsAttachable *bool `type:"boolean"`
  7429. // The path to the policy.
  7430. //
  7431. // For more information about paths, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  7432. // in the Using IAM guide.
  7433. Path *string `type:"string"`
  7434. // The stable and unique string identifying the policy.
  7435. //
  7436. // For more information about IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  7437. // in the Using IAM guide.
  7438. PolicyId *string `type:"string"`
  7439. // The friendly name (not ARN) identifying the policy.
  7440. PolicyName *string `type:"string"`
  7441. // A list containing information about the versions of the policy.
  7442. PolicyVersionList []*PolicyVersion `type:"list"`
  7443. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  7444. // when the policy was last updated.
  7445. //
  7446. // When a policy has only one version, this field contains the date and time
  7447. // when the policy was created. When a policy has more than one version, this
  7448. // field contains the date and time when the most recent policy version was
  7449. // created.
  7450. UpdateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  7451. metadataManagedPolicyDetail `json:"-" xml:"-"`
  7452. }
  7453. type metadataManagedPolicyDetail struct {
  7454. SDKShapeTraits bool `type:"structure"`
  7455. }
  7456. // String returns the string representation
  7457. func (s ManagedPolicyDetail) String() string {
  7458. return awsutil.Prettify(s)
  7459. }
  7460. // GoString returns the string representation
  7461. func (s ManagedPolicyDetail) GoString() string {
  7462. return s.String()
  7463. }
  7464. // Contains the Amazon Resource Name (ARN) for an IAM OpenID Connect provider.
  7465. type OpenIDConnectProviderListEntry struct {
  7466. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  7467. //
  7468. // For more information about ARNs, go to Amazon Resource Names (ARNs) and
  7469. // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  7470. // in the AWS General Reference.
  7471. Arn *string `type:"string"`
  7472. metadataOpenIDConnectProviderListEntry `json:"-" xml:"-"`
  7473. }
  7474. type metadataOpenIDConnectProviderListEntry struct {
  7475. SDKShapeTraits bool `type:"structure"`
  7476. }
  7477. // String returns the string representation
  7478. func (s OpenIDConnectProviderListEntry) String() string {
  7479. return awsutil.Prettify(s)
  7480. }
  7481. // GoString returns the string representation
  7482. func (s OpenIDConnectProviderListEntry) GoString() string {
  7483. return s.String()
  7484. }
  7485. // Contains information about the account password policy.
  7486. //
  7487. // This data type is used as a response element in the GetAccountPasswordPolicy
  7488. // action.
  7489. type PasswordPolicy struct {
  7490. // Specifies whether IAM users are allowed to change their own password.
  7491. AllowUsersToChangePassword *bool `type:"boolean"`
  7492. // Specifies whether IAM users are required to change their password after a
  7493. // specified number of days.
  7494. ExpirePasswords *bool `type:"boolean"`
  7495. // Specifies whether IAM users are prevented from setting a new password after
  7496. // their password has expired.
  7497. HardExpiry *bool `type:"boolean"`
  7498. // The number of days that an IAM user password is valid.
  7499. MaxPasswordAge *int64 `type:"integer"`
  7500. // Minimum length to require for IAM user passwords.
  7501. MinimumPasswordLength *int64 `type:"integer"`
  7502. // Specifies the number of previous passwords that IAM users are prevented from
  7503. // reusing.
  7504. PasswordReusePrevention *int64 `type:"integer"`
  7505. // Specifies whether to require lowercase characters for IAM user passwords.
  7506. RequireLowercaseCharacters *bool `type:"boolean"`
  7507. // Specifies whether to require numbers for IAM user passwords.
  7508. RequireNumbers *bool `type:"boolean"`
  7509. // Specifies whether to require symbols for IAM user passwords.
  7510. RequireSymbols *bool `type:"boolean"`
  7511. // Specifies whether to require uppercase characters for IAM user passwords.
  7512. RequireUppercaseCharacters *bool `type:"boolean"`
  7513. metadataPasswordPolicy `json:"-" xml:"-"`
  7514. }
  7515. type metadataPasswordPolicy struct {
  7516. SDKShapeTraits bool `type:"structure"`
  7517. }
  7518. // String returns the string representation
  7519. func (s PasswordPolicy) String() string {
  7520. return awsutil.Prettify(s)
  7521. }
  7522. // GoString returns the string representation
  7523. func (s PasswordPolicy) GoString() string {
  7524. return s.String()
  7525. }
  7526. // Contains information about a managed policy.
  7527. //
  7528. // This data type is used as a response element in the CreatePolicy, GetPolicy,
  7529. // and ListPolicies actions.
  7530. //
  7531. // For more information about managed policies, refer to Managed Policies and
  7532. // Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  7533. // in the Using IAM guide.
  7534. type Policy struct {
  7535. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  7536. //
  7537. // For more information about ARNs, go to Amazon Resource Names (ARNs) and
  7538. // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  7539. // in the AWS General Reference.
  7540. Arn *string `type:"string"`
  7541. // The number of entities (users, groups, and roles) that the policy is attached
  7542. // to.
  7543. AttachmentCount *int64 `type:"integer"`
  7544. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  7545. // when the policy was created.
  7546. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  7547. // The identifier for the version of the policy that is set as the default version.
  7548. DefaultVersionId *string `type:"string"`
  7549. // A friendly description of the policy.
  7550. //
  7551. // This element is included in the response to the GetPolicy operation. It
  7552. // is not included in the response to the ListPolicies operation.
  7553. Description *string `type:"string"`
  7554. // Specifies whether the policy can be attached to an IAM user, group, or role.
  7555. IsAttachable *bool `type:"boolean"`
  7556. // The path to the policy.
  7557. //
  7558. // For more information about paths, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  7559. // in the Using IAM guide.
  7560. Path *string `type:"string"`
  7561. // The stable and unique string identifying the policy.
  7562. //
  7563. // For more information about IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  7564. // in the Using IAM guide.
  7565. PolicyId *string `type:"string"`
  7566. // The friendly name (not ARN) identifying the policy.
  7567. PolicyName *string `type:"string"`
  7568. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  7569. // when the policy was last updated.
  7570. //
  7571. // When a policy has only one version, this field contains the date and time
  7572. // when the policy was created. When a policy has more than one version, this
  7573. // field contains the date and time when the most recent policy version was
  7574. // created.
  7575. UpdateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  7576. metadataPolicy `json:"-" xml:"-"`
  7577. }
  7578. type metadataPolicy struct {
  7579. SDKShapeTraits bool `type:"structure"`
  7580. }
  7581. // String returns the string representation
  7582. func (s Policy) String() string {
  7583. return awsutil.Prettify(s)
  7584. }
  7585. // GoString returns the string representation
  7586. func (s Policy) GoString() string {
  7587. return s.String()
  7588. }
  7589. // Contains information about an IAM policy, including the policy document.
  7590. //
  7591. // This data type is used as a response element in the GetAccountAuthorizationDetails
  7592. // action.
  7593. type PolicyDetail struct {
  7594. // The policy document.
  7595. PolicyDocument *string `type:"string"`
  7596. // The name of the policy.
  7597. PolicyName *string `type:"string"`
  7598. metadataPolicyDetail `json:"-" xml:"-"`
  7599. }
  7600. type metadataPolicyDetail struct {
  7601. SDKShapeTraits bool `type:"structure"`
  7602. }
  7603. // String returns the string representation
  7604. func (s PolicyDetail) String() string {
  7605. return awsutil.Prettify(s)
  7606. }
  7607. // GoString returns the string representation
  7608. func (s PolicyDetail) GoString() string {
  7609. return s.String()
  7610. }
  7611. // Contains information about a group that a managed policy is attached to.
  7612. //
  7613. // This data type is used as a response element in the ListEntitiesForPolicy
  7614. // action.
  7615. //
  7616. // For more information about managed policies, refer to Managed Policies and
  7617. // Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  7618. // in the Using IAM guide.
  7619. type PolicyGroup struct {
  7620. // The name (friendly name, not ARN) identifying the group.
  7621. GroupName *string `type:"string"`
  7622. metadataPolicyGroup `json:"-" xml:"-"`
  7623. }
  7624. type metadataPolicyGroup struct {
  7625. SDKShapeTraits bool `type:"structure"`
  7626. }
  7627. // String returns the string representation
  7628. func (s PolicyGroup) String() string {
  7629. return awsutil.Prettify(s)
  7630. }
  7631. // GoString returns the string representation
  7632. func (s PolicyGroup) GoString() string {
  7633. return s.String()
  7634. }
  7635. // Contains information about a role that a managed policy is attached to.
  7636. //
  7637. // This data type is used as a response element in the ListEntitiesForPolicy
  7638. // action.
  7639. //
  7640. // For more information about managed policies, refer to Managed Policies and
  7641. // Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  7642. // in the Using IAM guide.
  7643. type PolicyRole struct {
  7644. // The name (friendly name, not ARN) identifying the role.
  7645. RoleName *string `type:"string"`
  7646. metadataPolicyRole `json:"-" xml:"-"`
  7647. }
  7648. type metadataPolicyRole struct {
  7649. SDKShapeTraits bool `type:"structure"`
  7650. }
  7651. // String returns the string representation
  7652. func (s PolicyRole) String() string {
  7653. return awsutil.Prettify(s)
  7654. }
  7655. // GoString returns the string representation
  7656. func (s PolicyRole) GoString() string {
  7657. return s.String()
  7658. }
  7659. // Contains information about a user that a managed policy is attached to.
  7660. //
  7661. // This data type is used as a response element in the ListEntitiesForPolicy
  7662. // action.
  7663. //
  7664. // For more information about managed policies, refer to Managed Policies and
  7665. // Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  7666. // in the Using IAM guide.
  7667. type PolicyUser struct {
  7668. // The name (friendly name, not ARN) identifying the user.
  7669. UserName *string `type:"string"`
  7670. metadataPolicyUser `json:"-" xml:"-"`
  7671. }
  7672. type metadataPolicyUser struct {
  7673. SDKShapeTraits bool `type:"structure"`
  7674. }
  7675. // String returns the string representation
  7676. func (s PolicyUser) String() string {
  7677. return awsutil.Prettify(s)
  7678. }
  7679. // GoString returns the string representation
  7680. func (s PolicyUser) GoString() string {
  7681. return s.String()
  7682. }
  7683. // Contains information about a version of a managed policy.
  7684. //
  7685. // This data type is used as a response element in the CreatePolicyVersion,
  7686. // GetPolicyVersion, ListPolicyVersions, and GetAccountAuthorizationDetails
  7687. // actions.
  7688. //
  7689. // For more information about managed policies, refer to Managed Policies and
  7690. // Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  7691. // in the Using IAM guide.
  7692. type PolicyVersion struct {
  7693. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  7694. // when the policy version was created.
  7695. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  7696. // The policy document.
  7697. //
  7698. // The policy document is returned in the response to the GetPolicyVersion
  7699. // and GetAccountAuthorizationDetails operations. It is not returned in the
  7700. // response to the CreatePolicyVersion or ListPolicyVersions operations.
  7701. Document *string `type:"string"`
  7702. // Specifies whether the policy version is set as the policy's default version.
  7703. IsDefaultVersion *bool `type:"boolean"`
  7704. // The identifier for the policy version.
  7705. //
  7706. // Policy version identifiers always begin with v (always lowercase). When
  7707. // a policy is created, the first policy version is v1.
  7708. VersionId *string `type:"string"`
  7709. metadataPolicyVersion `json:"-" xml:"-"`
  7710. }
  7711. type metadataPolicyVersion struct {
  7712. SDKShapeTraits bool `type:"structure"`
  7713. }
  7714. // String returns the string representation
  7715. func (s PolicyVersion) String() string {
  7716. return awsutil.Prettify(s)
  7717. }
  7718. // GoString returns the string representation
  7719. func (s PolicyVersion) GoString() string {
  7720. return s.String()
  7721. }
  7722. type PutGroupPolicyInput struct {
  7723. // The name of the group to associate the policy with.
  7724. GroupName *string `type:"string" required:"true"`
  7725. // The policy document.
  7726. PolicyDocument *string `type:"string" required:"true"`
  7727. // The name of the policy document.
  7728. PolicyName *string `type:"string" required:"true"`
  7729. metadataPutGroupPolicyInput `json:"-" xml:"-"`
  7730. }
  7731. type metadataPutGroupPolicyInput struct {
  7732. SDKShapeTraits bool `type:"structure"`
  7733. }
  7734. // String returns the string representation
  7735. func (s PutGroupPolicyInput) String() string {
  7736. return awsutil.Prettify(s)
  7737. }
  7738. // GoString returns the string representation
  7739. func (s PutGroupPolicyInput) GoString() string {
  7740. return s.String()
  7741. }
  7742. type PutGroupPolicyOutput struct {
  7743. metadataPutGroupPolicyOutput `json:"-" xml:"-"`
  7744. }
  7745. type metadataPutGroupPolicyOutput struct {
  7746. SDKShapeTraits bool `type:"structure"`
  7747. }
  7748. // String returns the string representation
  7749. func (s PutGroupPolicyOutput) String() string {
  7750. return awsutil.Prettify(s)
  7751. }
  7752. // GoString returns the string representation
  7753. func (s PutGroupPolicyOutput) GoString() string {
  7754. return s.String()
  7755. }
  7756. type PutRolePolicyInput struct {
  7757. // The policy document.
  7758. PolicyDocument *string `type:"string" required:"true"`
  7759. // The name of the policy document.
  7760. PolicyName *string `type:"string" required:"true"`
  7761. // The name of the role to associate the policy with.
  7762. RoleName *string `type:"string" required:"true"`
  7763. metadataPutRolePolicyInput `json:"-" xml:"-"`
  7764. }
  7765. type metadataPutRolePolicyInput struct {
  7766. SDKShapeTraits bool `type:"structure"`
  7767. }
  7768. // String returns the string representation
  7769. func (s PutRolePolicyInput) String() string {
  7770. return awsutil.Prettify(s)
  7771. }
  7772. // GoString returns the string representation
  7773. func (s PutRolePolicyInput) GoString() string {
  7774. return s.String()
  7775. }
  7776. type PutRolePolicyOutput struct {
  7777. metadataPutRolePolicyOutput `json:"-" xml:"-"`
  7778. }
  7779. type metadataPutRolePolicyOutput struct {
  7780. SDKShapeTraits bool `type:"structure"`
  7781. }
  7782. // String returns the string representation
  7783. func (s PutRolePolicyOutput) String() string {
  7784. return awsutil.Prettify(s)
  7785. }
  7786. // GoString returns the string representation
  7787. func (s PutRolePolicyOutput) GoString() string {
  7788. return s.String()
  7789. }
  7790. type PutUserPolicyInput struct {
  7791. // The policy document.
  7792. PolicyDocument *string `type:"string" required:"true"`
  7793. // The name of the policy document.
  7794. PolicyName *string `type:"string" required:"true"`
  7795. // The name of the user to associate the policy with.
  7796. UserName *string `type:"string" required:"true"`
  7797. metadataPutUserPolicyInput `json:"-" xml:"-"`
  7798. }
  7799. type metadataPutUserPolicyInput struct {
  7800. SDKShapeTraits bool `type:"structure"`
  7801. }
  7802. // String returns the string representation
  7803. func (s PutUserPolicyInput) String() string {
  7804. return awsutil.Prettify(s)
  7805. }
  7806. // GoString returns the string representation
  7807. func (s PutUserPolicyInput) GoString() string {
  7808. return s.String()
  7809. }
  7810. type PutUserPolicyOutput struct {
  7811. metadataPutUserPolicyOutput `json:"-" xml:"-"`
  7812. }
  7813. type metadataPutUserPolicyOutput struct {
  7814. SDKShapeTraits bool `type:"structure"`
  7815. }
  7816. // String returns the string representation
  7817. func (s PutUserPolicyOutput) String() string {
  7818. return awsutil.Prettify(s)
  7819. }
  7820. // GoString returns the string representation
  7821. func (s PutUserPolicyOutput) GoString() string {
  7822. return s.String()
  7823. }
  7824. type RemoveClientIDFromOpenIDConnectProviderInput struct {
  7825. // The client ID (also known as audience) to remove from the IAM OpenID Connect
  7826. // provider. For more information about client IDs, see CreateOpenIDConnectProvider.
  7827. ClientID *string `type:"string" required:"true"`
  7828. // The Amazon Resource Name (ARN) of the IAM OpenID Connect (OIDC) provider
  7829. // to remove the client ID from. You can get a list of OIDC provider ARNs by
  7830. // using the ListOpenIDConnectProviders action.
  7831. OpenIDConnectProviderArn *string `type:"string" required:"true"`
  7832. metadataRemoveClientIDFromOpenIDConnectProviderInput `json:"-" xml:"-"`
  7833. }
  7834. type metadataRemoveClientIDFromOpenIDConnectProviderInput struct {
  7835. SDKShapeTraits bool `type:"structure"`
  7836. }
  7837. // String returns the string representation
  7838. func (s RemoveClientIDFromOpenIDConnectProviderInput) String() string {
  7839. return awsutil.Prettify(s)
  7840. }
  7841. // GoString returns the string representation
  7842. func (s RemoveClientIDFromOpenIDConnectProviderInput) GoString() string {
  7843. return s.String()
  7844. }
  7845. type RemoveClientIDFromOpenIDConnectProviderOutput struct {
  7846. metadataRemoveClientIDFromOpenIDConnectProviderOutput `json:"-" xml:"-"`
  7847. }
  7848. type metadataRemoveClientIDFromOpenIDConnectProviderOutput struct {
  7849. SDKShapeTraits bool `type:"structure"`
  7850. }
  7851. // String returns the string representation
  7852. func (s RemoveClientIDFromOpenIDConnectProviderOutput) String() string {
  7853. return awsutil.Prettify(s)
  7854. }
  7855. // GoString returns the string representation
  7856. func (s RemoveClientIDFromOpenIDConnectProviderOutput) GoString() string {
  7857. return s.String()
  7858. }
  7859. type RemoveRoleFromInstanceProfileInput struct {
  7860. // The name of the instance profile to update.
  7861. InstanceProfileName *string `type:"string" required:"true"`
  7862. // The name of the role to remove.
  7863. RoleName *string `type:"string" required:"true"`
  7864. metadataRemoveRoleFromInstanceProfileInput `json:"-" xml:"-"`
  7865. }
  7866. type metadataRemoveRoleFromInstanceProfileInput struct {
  7867. SDKShapeTraits bool `type:"structure"`
  7868. }
  7869. // String returns the string representation
  7870. func (s RemoveRoleFromInstanceProfileInput) String() string {
  7871. return awsutil.Prettify(s)
  7872. }
  7873. // GoString returns the string representation
  7874. func (s RemoveRoleFromInstanceProfileInput) GoString() string {
  7875. return s.String()
  7876. }
  7877. type RemoveRoleFromInstanceProfileOutput struct {
  7878. metadataRemoveRoleFromInstanceProfileOutput `json:"-" xml:"-"`
  7879. }
  7880. type metadataRemoveRoleFromInstanceProfileOutput struct {
  7881. SDKShapeTraits bool `type:"structure"`
  7882. }
  7883. // String returns the string representation
  7884. func (s RemoveRoleFromInstanceProfileOutput) String() string {
  7885. return awsutil.Prettify(s)
  7886. }
  7887. // GoString returns the string representation
  7888. func (s RemoveRoleFromInstanceProfileOutput) GoString() string {
  7889. return s.String()
  7890. }
  7891. type RemoveUserFromGroupInput struct {
  7892. // The name of the group to update.
  7893. GroupName *string `type:"string" required:"true"`
  7894. // The name of the user to remove.
  7895. UserName *string `type:"string" required:"true"`
  7896. metadataRemoveUserFromGroupInput `json:"-" xml:"-"`
  7897. }
  7898. type metadataRemoveUserFromGroupInput struct {
  7899. SDKShapeTraits bool `type:"structure"`
  7900. }
  7901. // String returns the string representation
  7902. func (s RemoveUserFromGroupInput) String() string {
  7903. return awsutil.Prettify(s)
  7904. }
  7905. // GoString returns the string representation
  7906. func (s RemoveUserFromGroupInput) GoString() string {
  7907. return s.String()
  7908. }
  7909. type RemoveUserFromGroupOutput struct {
  7910. metadataRemoveUserFromGroupOutput `json:"-" xml:"-"`
  7911. }
  7912. type metadataRemoveUserFromGroupOutput struct {
  7913. SDKShapeTraits bool `type:"structure"`
  7914. }
  7915. // String returns the string representation
  7916. func (s RemoveUserFromGroupOutput) String() string {
  7917. return awsutil.Prettify(s)
  7918. }
  7919. // GoString returns the string representation
  7920. func (s RemoveUserFromGroupOutput) GoString() string {
  7921. return s.String()
  7922. }
  7923. type ResyncMFADeviceInput struct {
  7924. // An authentication code emitted by the device.
  7925. AuthenticationCode1 *string `type:"string" required:"true"`
  7926. // A subsequent authentication code emitted by the device.
  7927. AuthenticationCode2 *string `type:"string" required:"true"`
  7928. // Serial number that uniquely identifies the MFA device.
  7929. SerialNumber *string `type:"string" required:"true"`
  7930. // The name of the user whose MFA device you want to resynchronize.
  7931. UserName *string `type:"string" required:"true"`
  7932. metadataResyncMFADeviceInput `json:"-" xml:"-"`
  7933. }
  7934. type metadataResyncMFADeviceInput struct {
  7935. SDKShapeTraits bool `type:"structure"`
  7936. }
  7937. // String returns the string representation
  7938. func (s ResyncMFADeviceInput) String() string {
  7939. return awsutil.Prettify(s)
  7940. }
  7941. // GoString returns the string representation
  7942. func (s ResyncMFADeviceInput) GoString() string {
  7943. return s.String()
  7944. }
  7945. type ResyncMFADeviceOutput struct {
  7946. metadataResyncMFADeviceOutput `json:"-" xml:"-"`
  7947. }
  7948. type metadataResyncMFADeviceOutput struct {
  7949. SDKShapeTraits bool `type:"structure"`
  7950. }
  7951. // String returns the string representation
  7952. func (s ResyncMFADeviceOutput) String() string {
  7953. return awsutil.Prettify(s)
  7954. }
  7955. // GoString returns the string representation
  7956. func (s ResyncMFADeviceOutput) GoString() string {
  7957. return s.String()
  7958. }
  7959. // Contains information about an IAM role.
  7960. //
  7961. // This data type is used as a response element in the following actions:
  7962. //
  7963. // CreateRole
  7964. //
  7965. // GetRole
  7966. //
  7967. // ListRoles
  7968. type Role struct {
  7969. // The Amazon Resource Name (ARN) specifying the role. For more information
  7970. // about ARNs and how to use them in policies, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  7971. // in the Using IAM guide.
  7972. Arn *string `type:"string" required:"true"`
  7973. // The policy that grants an entity permission to assume the role.
  7974. AssumeRolePolicyDocument *string `type:"string"`
  7975. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  7976. // when the role was created.
  7977. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  7978. // The path to the role. For more information about paths, see IAM Identifiers
  7979. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  7980. // in the Using IAM guide.
  7981. Path *string `type:"string" required:"true"`
  7982. // The stable and unique string identifying the role. For more information about
  7983. // IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  7984. // in the Using IAM guide.
  7985. RoleId *string `type:"string" required:"true"`
  7986. // The friendly name that identifies the role.
  7987. RoleName *string `type:"string" required:"true"`
  7988. metadataRole `json:"-" xml:"-"`
  7989. }
  7990. type metadataRole struct {
  7991. SDKShapeTraits bool `type:"structure"`
  7992. }
  7993. // String returns the string representation
  7994. func (s Role) String() string {
  7995. return awsutil.Prettify(s)
  7996. }
  7997. // GoString returns the string representation
  7998. func (s Role) GoString() string {
  7999. return s.String()
  8000. }
  8001. // Contains information about an IAM role, including all of the role's policies.
  8002. //
  8003. // This data type is used as a response element in the GetAccountAuthorizationDetails
  8004. // action.
  8005. type RoleDetail struct {
  8006. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  8007. //
  8008. // For more information about ARNs, go to Amazon Resource Names (ARNs) and
  8009. // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  8010. // in the AWS General Reference.
  8011. Arn *string `type:"string"`
  8012. // The trust policy that grants permission to assume the role.
  8013. AssumeRolePolicyDocument *string `type:"string"`
  8014. // A list of managed policies attached to the role. These policies are the role's
  8015. // access (permissions) policies.
  8016. AttachedManagedPolicies []*AttachedPolicy `type:"list"`
  8017. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  8018. // when the role was created.
  8019. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  8020. // Contains a list of instance profiles.
  8021. InstanceProfileList []*InstanceProfile `type:"list"`
  8022. // The path to the role. For more information about paths, see IAM Identifiers
  8023. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  8024. // in the Using IAM guide.
  8025. Path *string `type:"string"`
  8026. // The stable and unique string identifying the role. For more information about
  8027. // IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  8028. // in the Using IAM guide.
  8029. RoleId *string `type:"string"`
  8030. // The friendly name that identifies the role.
  8031. RoleName *string `type:"string"`
  8032. // A list of inline policies embedded in the role. These policies are the role's
  8033. // access (permissions) policies.
  8034. RolePolicyList []*PolicyDetail `type:"list"`
  8035. metadataRoleDetail `json:"-" xml:"-"`
  8036. }
  8037. type metadataRoleDetail struct {
  8038. SDKShapeTraits bool `type:"structure"`
  8039. }
  8040. // String returns the string representation
  8041. func (s RoleDetail) String() string {
  8042. return awsutil.Prettify(s)
  8043. }
  8044. // GoString returns the string representation
  8045. func (s RoleDetail) GoString() string {
  8046. return s.String()
  8047. }
  8048. // Contains the list of SAML providers for this account.
  8049. type SAMLProviderListEntry struct {
  8050. // The Amazon Resource Name (ARN) of the SAML provider.
  8051. Arn *string `type:"string"`
  8052. // The date and time when the SAML provider was created.
  8053. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  8054. // The expiration date and time for the SAML provider.
  8055. ValidUntil *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  8056. metadataSAMLProviderListEntry `json:"-" xml:"-"`
  8057. }
  8058. type metadataSAMLProviderListEntry struct {
  8059. SDKShapeTraits bool `type:"structure"`
  8060. }
  8061. // String returns the string representation
  8062. func (s SAMLProviderListEntry) String() string {
  8063. return awsutil.Prettify(s)
  8064. }
  8065. // GoString returns the string representation
  8066. func (s SAMLProviderListEntry) GoString() string {
  8067. return s.String()
  8068. }
  8069. // Contains information about an SSH public key.
  8070. //
  8071. // This data type is used as a response element in the GetSSHPublicKey and
  8072. // UploadSSHPublicKey actions.
  8073. type SSHPublicKey struct {
  8074. // The MD5 message digest of the SSH public key.
  8075. Fingerprint *string `type:"string" required:"true"`
  8076. // The SSH public key.
  8077. SSHPublicKeyBody *string `type:"string" required:"true"`
  8078. // The unique identifier for the SSH public key.
  8079. SSHPublicKeyId *string `type:"string" required:"true"`
  8080. // The status of the SSH public key. Active means the key can be used for authentication
  8081. // with an AWS CodeCommit repository. Inactive means the key cannot be used.
  8082. Status *string `type:"string" required:"true" enum:"statusType"`
  8083. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  8084. // when the SSH public key was uploaded.
  8085. UploadDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  8086. // The name of the IAM user associated with the SSH public key.
  8087. UserName *string `type:"string" required:"true"`
  8088. metadataSSHPublicKey `json:"-" xml:"-"`
  8089. }
  8090. type metadataSSHPublicKey struct {
  8091. SDKShapeTraits bool `type:"structure"`
  8092. }
  8093. // String returns the string representation
  8094. func (s SSHPublicKey) String() string {
  8095. return awsutil.Prettify(s)
  8096. }
  8097. // GoString returns the string representation
  8098. func (s SSHPublicKey) GoString() string {
  8099. return s.String()
  8100. }
  8101. // Contains information about an SSH public key, without the key's body or fingerprint.
  8102. //
  8103. // This data type is used as a response element in the ListSSHPublicKeys action.
  8104. type SSHPublicKeyMetadata struct {
  8105. // The unique identifier for the SSH public key.
  8106. SSHPublicKeyId *string `type:"string" required:"true"`
  8107. // The status of the SSH public key. Active means the key can be used for authentication
  8108. // with an AWS CodeCommit repository. Inactive means the key cannot be used.
  8109. Status *string `type:"string" required:"true" enum:"statusType"`
  8110. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  8111. // when the SSH public key was uploaded.
  8112. UploadDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  8113. // The name of the IAM user associated with the SSH public key.
  8114. UserName *string `type:"string" required:"true"`
  8115. metadataSSHPublicKeyMetadata `json:"-" xml:"-"`
  8116. }
  8117. type metadataSSHPublicKeyMetadata struct {
  8118. SDKShapeTraits bool `type:"structure"`
  8119. }
  8120. // String returns the string representation
  8121. func (s SSHPublicKeyMetadata) String() string {
  8122. return awsutil.Prettify(s)
  8123. }
  8124. // GoString returns the string representation
  8125. func (s SSHPublicKeyMetadata) GoString() string {
  8126. return s.String()
  8127. }
  8128. // Contains information about a server certificate.
  8129. //
  8130. // This data type is used as a response element in the GetServerCertificate
  8131. // action.
  8132. type ServerCertificate struct {
  8133. // The contents of the public key certificate.
  8134. CertificateBody *string `type:"string" required:"true"`
  8135. // The contents of the public key certificate chain.
  8136. CertificateChain *string `type:"string"`
  8137. // The meta information of the server certificate, such as its name, path, ID,
  8138. // and ARN.
  8139. ServerCertificateMetadata *ServerCertificateMetadata `type:"structure" required:"true"`
  8140. metadataServerCertificate `json:"-" xml:"-"`
  8141. }
  8142. type metadataServerCertificate struct {
  8143. SDKShapeTraits bool `type:"structure"`
  8144. }
  8145. // String returns the string representation
  8146. func (s ServerCertificate) String() string {
  8147. return awsutil.Prettify(s)
  8148. }
  8149. // GoString returns the string representation
  8150. func (s ServerCertificate) GoString() string {
  8151. return s.String()
  8152. }
  8153. // Contains information about a server certificate without its certificate body,
  8154. // certificate chain, and private key.
  8155. //
  8156. // This data type is used as a response element in the UploadServerCertificate
  8157. // and ListServerCertificates actions.
  8158. type ServerCertificateMetadata struct {
  8159. // The Amazon Resource Name (ARN) specifying the server certificate. For more
  8160. // information about ARNs and how to use them in policies, see IAM Identifiers
  8161. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  8162. // in the Using IAM guide.
  8163. Arn *string `type:"string" required:"true"`
  8164. // The date on which the certificate is set to expire.
  8165. Expiration *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  8166. // The path to the server certificate. For more information about paths, see
  8167. // IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  8168. // in the Using IAM guide.
  8169. Path *string `type:"string" required:"true"`
  8170. // The stable and unique string identifying the server certificate. For more
  8171. // information about IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  8172. // in the Using IAM guide.
  8173. ServerCertificateId *string `type:"string" required:"true"`
  8174. // The name that identifies the server certificate.
  8175. ServerCertificateName *string `type:"string" required:"true"`
  8176. // The date when the server certificate was uploaded.
  8177. UploadDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  8178. metadataServerCertificateMetadata `json:"-" xml:"-"`
  8179. }
  8180. type metadataServerCertificateMetadata struct {
  8181. SDKShapeTraits bool `type:"structure"`
  8182. }
  8183. // String returns the string representation
  8184. func (s ServerCertificateMetadata) String() string {
  8185. return awsutil.Prettify(s)
  8186. }
  8187. // GoString returns the string representation
  8188. func (s ServerCertificateMetadata) GoString() string {
  8189. return s.String()
  8190. }
  8191. type SetDefaultPolicyVersionInput struct {
  8192. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  8193. //
  8194. // For more information about ARNs, go to Amazon Resource Names (ARNs) and
  8195. // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  8196. // in the AWS General Reference.
  8197. PolicyArn *string `type:"string" required:"true"`
  8198. // The version of the policy to set as the default (operative) version.
  8199. //
  8200. // For more information about managed policy versions, see Versioning for Managed
  8201. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
  8202. // in the Using IAM guide.
  8203. VersionId *string `type:"string" required:"true"`
  8204. metadataSetDefaultPolicyVersionInput `json:"-" xml:"-"`
  8205. }
  8206. type metadataSetDefaultPolicyVersionInput struct {
  8207. SDKShapeTraits bool `type:"structure"`
  8208. }
  8209. // String returns the string representation
  8210. func (s SetDefaultPolicyVersionInput) String() string {
  8211. return awsutil.Prettify(s)
  8212. }
  8213. // GoString returns the string representation
  8214. func (s SetDefaultPolicyVersionInput) GoString() string {
  8215. return s.String()
  8216. }
  8217. type SetDefaultPolicyVersionOutput struct {
  8218. metadataSetDefaultPolicyVersionOutput `json:"-" xml:"-"`
  8219. }
  8220. type metadataSetDefaultPolicyVersionOutput struct {
  8221. SDKShapeTraits bool `type:"structure"`
  8222. }
  8223. // String returns the string representation
  8224. func (s SetDefaultPolicyVersionOutput) String() string {
  8225. return awsutil.Prettify(s)
  8226. }
  8227. // GoString returns the string representation
  8228. func (s SetDefaultPolicyVersionOutput) GoString() string {
  8229. return s.String()
  8230. }
  8231. // Contains information about an X.509 signing certificate.
  8232. //
  8233. // This data type is used as a response element in the UploadSigningCertificate
  8234. // and ListSigningCertificates actions.
  8235. type SigningCertificate struct {
  8236. // The contents of the signing certificate.
  8237. CertificateBody *string `type:"string" required:"true"`
  8238. // The ID for the signing certificate.
  8239. CertificateId *string `type:"string" required:"true"`
  8240. // The status of the signing certificate. Active means the key is valid for
  8241. // API calls, while Inactive means it is not.
  8242. Status *string `type:"string" required:"true" enum:"statusType"`
  8243. // The date when the signing certificate was uploaded.
  8244. UploadDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  8245. // The name of the user the signing certificate is associated with.
  8246. UserName *string `type:"string" required:"true"`
  8247. metadataSigningCertificate `json:"-" xml:"-"`
  8248. }
  8249. type metadataSigningCertificate struct {
  8250. SDKShapeTraits bool `type:"structure"`
  8251. }
  8252. // String returns the string representation
  8253. func (s SigningCertificate) String() string {
  8254. return awsutil.Prettify(s)
  8255. }
  8256. // GoString returns the string representation
  8257. func (s SigningCertificate) GoString() string {
  8258. return s.String()
  8259. }
  8260. type UpdateAccessKeyInput struct {
  8261. // The access key ID of the secret access key you want to update.
  8262. AccessKeyId *string `type:"string" required:"true"`
  8263. // The status you want to assign to the secret access key. Active means the
  8264. // key can be used for API calls to AWS, while Inactive means the key cannot
  8265. // be used.
  8266. Status *string `type:"string" required:"true" enum:"statusType"`
  8267. // The name of the user whose key you want to update.
  8268. UserName *string `type:"string"`
  8269. metadataUpdateAccessKeyInput `json:"-" xml:"-"`
  8270. }
  8271. type metadataUpdateAccessKeyInput struct {
  8272. SDKShapeTraits bool `type:"structure"`
  8273. }
  8274. // String returns the string representation
  8275. func (s UpdateAccessKeyInput) String() string {
  8276. return awsutil.Prettify(s)
  8277. }
  8278. // GoString returns the string representation
  8279. func (s UpdateAccessKeyInput) GoString() string {
  8280. return s.String()
  8281. }
  8282. type UpdateAccessKeyOutput struct {
  8283. metadataUpdateAccessKeyOutput `json:"-" xml:"-"`
  8284. }
  8285. type metadataUpdateAccessKeyOutput struct {
  8286. SDKShapeTraits bool `type:"structure"`
  8287. }
  8288. // String returns the string representation
  8289. func (s UpdateAccessKeyOutput) String() string {
  8290. return awsutil.Prettify(s)
  8291. }
  8292. // GoString returns the string representation
  8293. func (s UpdateAccessKeyOutput) GoString() string {
  8294. return s.String()
  8295. }
  8296. type UpdateAccountPasswordPolicyInput struct {
  8297. // Allows all IAM users in your account to use the AWS Management Console to
  8298. // change their own passwords. For more information, see Letting IAM Users Change
  8299. // Their Own Passwords (http://docs.aws.amazon.com/IAM/latest/UserGuide/HowToPwdIAMUser.html)
  8300. // in the Using IAM guide.
  8301. //
  8302. // Default value: false
  8303. AllowUsersToChangePassword *bool `type:"boolean"`
  8304. // Prevents IAM users from setting a new password after their password has expired.
  8305. //
  8306. // Default value: false
  8307. HardExpiry *bool `type:"boolean"`
  8308. // The number of days that an IAM user password is valid. The default value
  8309. // of 0 means IAM user passwords never expire.
  8310. //
  8311. // Default value: 0
  8312. MaxPasswordAge *int64 `type:"integer"`
  8313. // The minimum number of characters allowed in an IAM user password.
  8314. //
  8315. // Default value: 6
  8316. MinimumPasswordLength *int64 `type:"integer"`
  8317. // Specifies the number of previous passwords that IAM users are prevented from
  8318. // reusing. The default value of 0 means IAM users are not prevented from reusing
  8319. // previous passwords.
  8320. //
  8321. // Default value: 0
  8322. PasswordReusePrevention *int64 `type:"integer"`
  8323. // Specifies whether IAM user passwords must contain at least one lowercase
  8324. // character from the ISO basic Latin alphabet (a to z).
  8325. //
  8326. // Default value: false
  8327. RequireLowercaseCharacters *bool `type:"boolean"`
  8328. // Specifies whether IAM user passwords must contain at least one numeric character
  8329. // (0 to 9).
  8330. //
  8331. // Default value: false
  8332. RequireNumbers *bool `type:"boolean"`
  8333. // Specifies whether IAM user passwords must contain at least one of the following
  8334. // non-alphanumeric characters:
  8335. //
  8336. // ! @ # $ % ^ & * ( ) _ + - = [ ] { } | '
  8337. //
  8338. // Default value: false
  8339. RequireSymbols *bool `type:"boolean"`
  8340. // Specifies whether IAM user passwords must contain at least one uppercase
  8341. // character from the ISO basic Latin alphabet (A to Z).
  8342. //
  8343. // Default value: false
  8344. RequireUppercaseCharacters *bool `type:"boolean"`
  8345. metadataUpdateAccountPasswordPolicyInput `json:"-" xml:"-"`
  8346. }
  8347. type metadataUpdateAccountPasswordPolicyInput struct {
  8348. SDKShapeTraits bool `type:"structure"`
  8349. }
  8350. // String returns the string representation
  8351. func (s UpdateAccountPasswordPolicyInput) String() string {
  8352. return awsutil.Prettify(s)
  8353. }
  8354. // GoString returns the string representation
  8355. func (s UpdateAccountPasswordPolicyInput) GoString() string {
  8356. return s.String()
  8357. }
  8358. type UpdateAccountPasswordPolicyOutput struct {
  8359. metadataUpdateAccountPasswordPolicyOutput `json:"-" xml:"-"`
  8360. }
  8361. type metadataUpdateAccountPasswordPolicyOutput struct {
  8362. SDKShapeTraits bool `type:"structure"`
  8363. }
  8364. // String returns the string representation
  8365. func (s UpdateAccountPasswordPolicyOutput) String() string {
  8366. return awsutil.Prettify(s)
  8367. }
  8368. // GoString returns the string representation
  8369. func (s UpdateAccountPasswordPolicyOutput) GoString() string {
  8370. return s.String()
  8371. }
  8372. type UpdateAssumeRolePolicyInput struct {
  8373. // The policy that grants an entity permission to assume the role.
  8374. PolicyDocument *string `type:"string" required:"true"`
  8375. // The name of the role to update.
  8376. RoleName *string `type:"string" required:"true"`
  8377. metadataUpdateAssumeRolePolicyInput `json:"-" xml:"-"`
  8378. }
  8379. type metadataUpdateAssumeRolePolicyInput struct {
  8380. SDKShapeTraits bool `type:"structure"`
  8381. }
  8382. // String returns the string representation
  8383. func (s UpdateAssumeRolePolicyInput) String() string {
  8384. return awsutil.Prettify(s)
  8385. }
  8386. // GoString returns the string representation
  8387. func (s UpdateAssumeRolePolicyInput) GoString() string {
  8388. return s.String()
  8389. }
  8390. type UpdateAssumeRolePolicyOutput struct {
  8391. metadataUpdateAssumeRolePolicyOutput `json:"-" xml:"-"`
  8392. }
  8393. type metadataUpdateAssumeRolePolicyOutput struct {
  8394. SDKShapeTraits bool `type:"structure"`
  8395. }
  8396. // String returns the string representation
  8397. func (s UpdateAssumeRolePolicyOutput) String() string {
  8398. return awsutil.Prettify(s)
  8399. }
  8400. // GoString returns the string representation
  8401. func (s UpdateAssumeRolePolicyOutput) GoString() string {
  8402. return s.String()
  8403. }
  8404. type UpdateGroupInput struct {
  8405. // Name of the group to update. If you're changing the name of the group, this
  8406. // is the original name.
  8407. GroupName *string `type:"string" required:"true"`
  8408. // New name for the group. Only include this if changing the group's name.
  8409. NewGroupName *string `type:"string"`
  8410. // New path for the group. Only include this if changing the group's path.
  8411. NewPath *string `type:"string"`
  8412. metadataUpdateGroupInput `json:"-" xml:"-"`
  8413. }
  8414. type metadataUpdateGroupInput struct {
  8415. SDKShapeTraits bool `type:"structure"`
  8416. }
  8417. // String returns the string representation
  8418. func (s UpdateGroupInput) String() string {
  8419. return awsutil.Prettify(s)
  8420. }
  8421. // GoString returns the string representation
  8422. func (s UpdateGroupInput) GoString() string {
  8423. return s.String()
  8424. }
  8425. type UpdateGroupOutput struct {
  8426. metadataUpdateGroupOutput `json:"-" xml:"-"`
  8427. }
  8428. type metadataUpdateGroupOutput struct {
  8429. SDKShapeTraits bool `type:"structure"`
  8430. }
  8431. // String returns the string representation
  8432. func (s UpdateGroupOutput) String() string {
  8433. return awsutil.Prettify(s)
  8434. }
  8435. // GoString returns the string representation
  8436. func (s UpdateGroupOutput) GoString() string {
  8437. return s.String()
  8438. }
  8439. type UpdateLoginProfileInput struct {
  8440. // The new password for the specified user.
  8441. Password *string `type:"string"`
  8442. // Require the specified user to set a new password on next sign-in.
  8443. PasswordResetRequired *bool `type:"boolean"`
  8444. // The name of the user whose password you want to update.
  8445. UserName *string `type:"string" required:"true"`
  8446. metadataUpdateLoginProfileInput `json:"-" xml:"-"`
  8447. }
  8448. type metadataUpdateLoginProfileInput struct {
  8449. SDKShapeTraits bool `type:"structure"`
  8450. }
  8451. // String returns the string representation
  8452. func (s UpdateLoginProfileInput) String() string {
  8453. return awsutil.Prettify(s)
  8454. }
  8455. // GoString returns the string representation
  8456. func (s UpdateLoginProfileInput) GoString() string {
  8457. return s.String()
  8458. }
  8459. type UpdateLoginProfileOutput struct {
  8460. metadataUpdateLoginProfileOutput `json:"-" xml:"-"`
  8461. }
  8462. type metadataUpdateLoginProfileOutput struct {
  8463. SDKShapeTraits bool `type:"structure"`
  8464. }
  8465. // String returns the string representation
  8466. func (s UpdateLoginProfileOutput) String() string {
  8467. return awsutil.Prettify(s)
  8468. }
  8469. // GoString returns the string representation
  8470. func (s UpdateLoginProfileOutput) GoString() string {
  8471. return s.String()
  8472. }
  8473. type UpdateOpenIDConnectProviderThumbprintInput struct {
  8474. // The Amazon Resource Name (ARN) of the IAM OpenID Connect (OIDC) provider
  8475. // to update the thumbprint for. You can get a list of OIDC provider ARNs by
  8476. // using the ListOpenIDConnectProviders action.
  8477. OpenIDConnectProviderArn *string `type:"string" required:"true"`
  8478. // A list of certificate thumbprints that are associated with the specified
  8479. // IAM OpenID Connect provider. For more information, see CreateOpenIDConnectProvider.
  8480. ThumbprintList []*string `type:"list" required:"true"`
  8481. metadataUpdateOpenIDConnectProviderThumbprintInput `json:"-" xml:"-"`
  8482. }
  8483. type metadataUpdateOpenIDConnectProviderThumbprintInput struct {
  8484. SDKShapeTraits bool `type:"structure"`
  8485. }
  8486. // String returns the string representation
  8487. func (s UpdateOpenIDConnectProviderThumbprintInput) String() string {
  8488. return awsutil.Prettify(s)
  8489. }
  8490. // GoString returns the string representation
  8491. func (s UpdateOpenIDConnectProviderThumbprintInput) GoString() string {
  8492. return s.String()
  8493. }
  8494. type UpdateOpenIDConnectProviderThumbprintOutput struct {
  8495. metadataUpdateOpenIDConnectProviderThumbprintOutput `json:"-" xml:"-"`
  8496. }
  8497. type metadataUpdateOpenIDConnectProviderThumbprintOutput struct {
  8498. SDKShapeTraits bool `type:"structure"`
  8499. }
  8500. // String returns the string representation
  8501. func (s UpdateOpenIDConnectProviderThumbprintOutput) String() string {
  8502. return awsutil.Prettify(s)
  8503. }
  8504. // GoString returns the string representation
  8505. func (s UpdateOpenIDConnectProviderThumbprintOutput) GoString() string {
  8506. return s.String()
  8507. }
  8508. type UpdateSAMLProviderInput struct {
  8509. // An XML document generated by an identity provider (IdP) that supports SAML
  8510. // 2.0. The document includes the issuer's name, expiration information, and
  8511. // keys that can be used to validate the SAML authentication response (assertions)
  8512. // that are received from the IdP. You must generate the metadata document using
  8513. // the identity management software that is used as your organization's IdP.
  8514. SAMLMetadataDocument *string `type:"string" required:"true"`
  8515. // The Amazon Resource Name (ARN) of the SAML provider to update.
  8516. SAMLProviderArn *string `type:"string" required:"true"`
  8517. metadataUpdateSAMLProviderInput `json:"-" xml:"-"`
  8518. }
  8519. type metadataUpdateSAMLProviderInput struct {
  8520. SDKShapeTraits bool `type:"structure"`
  8521. }
  8522. // String returns the string representation
  8523. func (s UpdateSAMLProviderInput) String() string {
  8524. return awsutil.Prettify(s)
  8525. }
  8526. // GoString returns the string representation
  8527. func (s UpdateSAMLProviderInput) GoString() string {
  8528. return s.String()
  8529. }
  8530. // Contains the response to a successful UpdateSAMLProvider request.
  8531. type UpdateSAMLProviderOutput struct {
  8532. // The Amazon Resource Name (ARN) of the SAML provider that was updated.
  8533. SAMLProviderArn *string `type:"string"`
  8534. metadataUpdateSAMLProviderOutput `json:"-" xml:"-"`
  8535. }
  8536. type metadataUpdateSAMLProviderOutput struct {
  8537. SDKShapeTraits bool `type:"structure"`
  8538. }
  8539. // String returns the string representation
  8540. func (s UpdateSAMLProviderOutput) String() string {
  8541. return awsutil.Prettify(s)
  8542. }
  8543. // GoString returns the string representation
  8544. func (s UpdateSAMLProviderOutput) GoString() string {
  8545. return s.String()
  8546. }
  8547. type UpdateSSHPublicKeyInput struct {
  8548. // The unique identifier for the SSH public key.
  8549. SSHPublicKeyId *string `type:"string" required:"true"`
  8550. // The status to assign to the SSH public key. Active means the key can be used
  8551. // for authentication with an AWS CodeCommit repository. Inactive means the
  8552. // key cannot be used.
  8553. Status *string `type:"string" required:"true" enum:"statusType"`
  8554. // The name of the IAM user associated with the SSH public key.
  8555. UserName *string `type:"string" required:"true"`
  8556. metadataUpdateSSHPublicKeyInput `json:"-" xml:"-"`
  8557. }
  8558. type metadataUpdateSSHPublicKeyInput struct {
  8559. SDKShapeTraits bool `type:"structure"`
  8560. }
  8561. // String returns the string representation
  8562. func (s UpdateSSHPublicKeyInput) String() string {
  8563. return awsutil.Prettify(s)
  8564. }
  8565. // GoString returns the string representation
  8566. func (s UpdateSSHPublicKeyInput) GoString() string {
  8567. return s.String()
  8568. }
  8569. type UpdateSSHPublicKeyOutput struct {
  8570. metadataUpdateSSHPublicKeyOutput `json:"-" xml:"-"`
  8571. }
  8572. type metadataUpdateSSHPublicKeyOutput struct {
  8573. SDKShapeTraits bool `type:"structure"`
  8574. }
  8575. // String returns the string representation
  8576. func (s UpdateSSHPublicKeyOutput) String() string {
  8577. return awsutil.Prettify(s)
  8578. }
  8579. // GoString returns the string representation
  8580. func (s UpdateSSHPublicKeyOutput) GoString() string {
  8581. return s.String()
  8582. }
  8583. type UpdateServerCertificateInput struct {
  8584. // The new path for the server certificate. Include this only if you are updating
  8585. // the server certificate's path.
  8586. NewPath *string `type:"string"`
  8587. // The new name for the server certificate. Include this only if you are updating
  8588. // the server certificate's name. The name of the certificate cannot contain
  8589. // any spaces.
  8590. NewServerCertificateName *string `type:"string"`
  8591. // The name of the server certificate that you want to update.
  8592. ServerCertificateName *string `type:"string" required:"true"`
  8593. metadataUpdateServerCertificateInput `json:"-" xml:"-"`
  8594. }
  8595. type metadataUpdateServerCertificateInput struct {
  8596. SDKShapeTraits bool `type:"structure"`
  8597. }
  8598. // String returns the string representation
  8599. func (s UpdateServerCertificateInput) String() string {
  8600. return awsutil.Prettify(s)
  8601. }
  8602. // GoString returns the string representation
  8603. func (s UpdateServerCertificateInput) GoString() string {
  8604. return s.String()
  8605. }
  8606. type UpdateServerCertificateOutput struct {
  8607. metadataUpdateServerCertificateOutput `json:"-" xml:"-"`
  8608. }
  8609. type metadataUpdateServerCertificateOutput struct {
  8610. SDKShapeTraits bool `type:"structure"`
  8611. }
  8612. // String returns the string representation
  8613. func (s UpdateServerCertificateOutput) String() string {
  8614. return awsutil.Prettify(s)
  8615. }
  8616. // GoString returns the string representation
  8617. func (s UpdateServerCertificateOutput) GoString() string {
  8618. return s.String()
  8619. }
  8620. type UpdateSigningCertificateInput struct {
  8621. // The ID of the signing certificate you want to update.
  8622. CertificateId *string `type:"string" required:"true"`
  8623. // The status you want to assign to the certificate. Active means the certificate
  8624. // can be used for API calls to AWS, while Inactive means the certificate cannot
  8625. // be used.
  8626. Status *string `type:"string" required:"true" enum:"statusType"`
  8627. // The name of the user the signing certificate belongs to.
  8628. UserName *string `type:"string"`
  8629. metadataUpdateSigningCertificateInput `json:"-" xml:"-"`
  8630. }
  8631. type metadataUpdateSigningCertificateInput struct {
  8632. SDKShapeTraits bool `type:"structure"`
  8633. }
  8634. // String returns the string representation
  8635. func (s UpdateSigningCertificateInput) String() string {
  8636. return awsutil.Prettify(s)
  8637. }
  8638. // GoString returns the string representation
  8639. func (s UpdateSigningCertificateInput) GoString() string {
  8640. return s.String()
  8641. }
  8642. type UpdateSigningCertificateOutput struct {
  8643. metadataUpdateSigningCertificateOutput `json:"-" xml:"-"`
  8644. }
  8645. type metadataUpdateSigningCertificateOutput struct {
  8646. SDKShapeTraits bool `type:"structure"`
  8647. }
  8648. // String returns the string representation
  8649. func (s UpdateSigningCertificateOutput) String() string {
  8650. return awsutil.Prettify(s)
  8651. }
  8652. // GoString returns the string representation
  8653. func (s UpdateSigningCertificateOutput) GoString() string {
  8654. return s.String()
  8655. }
  8656. type UpdateUserInput struct {
  8657. // New path for the user. Include this parameter only if you're changing the
  8658. // user's path.
  8659. NewPath *string `type:"string"`
  8660. // New name for the user. Include this parameter only if you're changing the
  8661. // user's name.
  8662. NewUserName *string `type:"string"`
  8663. // Name of the user to update. If you're changing the name of the user, this
  8664. // is the original user name.
  8665. UserName *string `type:"string" required:"true"`
  8666. metadataUpdateUserInput `json:"-" xml:"-"`
  8667. }
  8668. type metadataUpdateUserInput struct {
  8669. SDKShapeTraits bool `type:"structure"`
  8670. }
  8671. // String returns the string representation
  8672. func (s UpdateUserInput) String() string {
  8673. return awsutil.Prettify(s)
  8674. }
  8675. // GoString returns the string representation
  8676. func (s UpdateUserInput) GoString() string {
  8677. return s.String()
  8678. }
  8679. type UpdateUserOutput struct {
  8680. metadataUpdateUserOutput `json:"-" xml:"-"`
  8681. }
  8682. type metadataUpdateUserOutput struct {
  8683. SDKShapeTraits bool `type:"structure"`
  8684. }
  8685. // String returns the string representation
  8686. func (s UpdateUserOutput) String() string {
  8687. return awsutil.Prettify(s)
  8688. }
  8689. // GoString returns the string representation
  8690. func (s UpdateUserOutput) GoString() string {
  8691. return s.String()
  8692. }
  8693. type UploadSSHPublicKeyInput struct {
  8694. // The SSH public key. The public key must be encoded in ssh-rsa format or PEM
  8695. // format.
  8696. SSHPublicKeyBody *string `type:"string" required:"true"`
  8697. // The name of the IAM user to associate the SSH public key with.
  8698. UserName *string `type:"string" required:"true"`
  8699. metadataUploadSSHPublicKeyInput `json:"-" xml:"-"`
  8700. }
  8701. type metadataUploadSSHPublicKeyInput struct {
  8702. SDKShapeTraits bool `type:"structure"`
  8703. }
  8704. // String returns the string representation
  8705. func (s UploadSSHPublicKeyInput) String() string {
  8706. return awsutil.Prettify(s)
  8707. }
  8708. // GoString returns the string representation
  8709. func (s UploadSSHPublicKeyInput) GoString() string {
  8710. return s.String()
  8711. }
  8712. // Contains the response to a successful UploadSSHPublicKey request.
  8713. type UploadSSHPublicKeyOutput struct {
  8714. // Contains information about the SSH public key.
  8715. SSHPublicKey *SSHPublicKey `type:"structure"`
  8716. metadataUploadSSHPublicKeyOutput `json:"-" xml:"-"`
  8717. }
  8718. type metadataUploadSSHPublicKeyOutput struct {
  8719. SDKShapeTraits bool `type:"structure"`
  8720. }
  8721. // String returns the string representation
  8722. func (s UploadSSHPublicKeyOutput) String() string {
  8723. return awsutil.Prettify(s)
  8724. }
  8725. // GoString returns the string representation
  8726. func (s UploadSSHPublicKeyOutput) GoString() string {
  8727. return s.String()
  8728. }
  8729. type UploadServerCertificateInput struct {
  8730. // The contents of the public key certificate in PEM-encoded format.
  8731. CertificateBody *string `type:"string" required:"true"`
  8732. // The contents of the certificate chain. This is typically a concatenation
  8733. // of the PEM-encoded public key certificates of the chain.
  8734. CertificateChain *string `type:"string"`
  8735. // The path for the server certificate. For more information about paths, see
  8736. // IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  8737. // in the Using IAM guide.
  8738. //
  8739. // This parameter is optional. If it is not included, it defaults to a slash
  8740. // (/).
  8741. //
  8742. // If you are uploading a server certificate specifically for use with Amazon
  8743. // CloudFront distributions, you must specify a path using the --path option.
  8744. // The path must begin with /cloudfront and must include a trailing slash (for
  8745. // example, /cloudfront/test/).
  8746. Path *string `type:"string"`
  8747. // The contents of the private key in PEM-encoded format.
  8748. PrivateKey *string `type:"string" required:"true"`
  8749. // The name for the server certificate. Do not include the path in this value.
  8750. // The name of the certificate cannot contain any spaces.
  8751. ServerCertificateName *string `type:"string" required:"true"`
  8752. metadataUploadServerCertificateInput `json:"-" xml:"-"`
  8753. }
  8754. type metadataUploadServerCertificateInput struct {
  8755. SDKShapeTraits bool `type:"structure"`
  8756. }
  8757. // String returns the string representation
  8758. func (s UploadServerCertificateInput) String() string {
  8759. return awsutil.Prettify(s)
  8760. }
  8761. // GoString returns the string representation
  8762. func (s UploadServerCertificateInput) GoString() string {
  8763. return s.String()
  8764. }
  8765. // Contains the response to a successful UploadServerCertificate request.
  8766. type UploadServerCertificateOutput struct {
  8767. // The meta information of the uploaded server certificate without its certificate
  8768. // body, certificate chain, and private key.
  8769. ServerCertificateMetadata *ServerCertificateMetadata `type:"structure"`
  8770. metadataUploadServerCertificateOutput `json:"-" xml:"-"`
  8771. }
  8772. type metadataUploadServerCertificateOutput struct {
  8773. SDKShapeTraits bool `type:"structure"`
  8774. }
  8775. // String returns the string representation
  8776. func (s UploadServerCertificateOutput) String() string {
  8777. return awsutil.Prettify(s)
  8778. }
  8779. // GoString returns the string representation
  8780. func (s UploadServerCertificateOutput) GoString() string {
  8781. return s.String()
  8782. }
  8783. type UploadSigningCertificateInput struct {
  8784. // The contents of the signing certificate.
  8785. CertificateBody *string `type:"string" required:"true"`
  8786. // The name of the user the signing certificate is for.
  8787. UserName *string `type:"string"`
  8788. metadataUploadSigningCertificateInput `json:"-" xml:"-"`
  8789. }
  8790. type metadataUploadSigningCertificateInput struct {
  8791. SDKShapeTraits bool `type:"structure"`
  8792. }
  8793. // String returns the string representation
  8794. func (s UploadSigningCertificateInput) String() string {
  8795. return awsutil.Prettify(s)
  8796. }
  8797. // GoString returns the string representation
  8798. func (s UploadSigningCertificateInput) GoString() string {
  8799. return s.String()
  8800. }
  8801. // Contains the response to a successful UploadSigningCertificate request.
  8802. type UploadSigningCertificateOutput struct {
  8803. // Information about the certificate.
  8804. Certificate *SigningCertificate `type:"structure" required:"true"`
  8805. metadataUploadSigningCertificateOutput `json:"-" xml:"-"`
  8806. }
  8807. type metadataUploadSigningCertificateOutput struct {
  8808. SDKShapeTraits bool `type:"structure"`
  8809. }
  8810. // String returns the string representation
  8811. func (s UploadSigningCertificateOutput) String() string {
  8812. return awsutil.Prettify(s)
  8813. }
  8814. // GoString returns the string representation
  8815. func (s UploadSigningCertificateOutput) GoString() string {
  8816. return s.String()
  8817. }
  8818. // Contains information about an IAM user entity.
  8819. //
  8820. // This data type is used as a response element in the following actions:
  8821. //
  8822. // CreateUser
  8823. //
  8824. // GetUser
  8825. //
  8826. // ListUsers
  8827. type User struct {
  8828. // The Amazon Resource Name (ARN) that identifies the user. For more information
  8829. // about ARNs and how to use ARNs in policies, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  8830. // in the Using IAM guide.
  8831. Arn *string `type:"string" required:"true"`
  8832. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  8833. // when the user was created.
  8834. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  8835. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  8836. // when the user's password was last used to sign in to an AWS website. For
  8837. // a list of AWS websites that capture a user's last sign-in time, see the Credential
  8838. // Reports (http://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html)
  8839. // topic in the Using IAM guide. If a password is used more than once in a five-minute
  8840. // span, only the first use is returned in this field. This field is null (not
  8841. // present) when:
  8842. //
  8843. // The user does not have a password
  8844. //
  8845. // The password exists but has never been used (at least not since IAM started
  8846. // tracking this information on October 20th, 2014
  8847. //
  8848. // there is no sign-in data associated with the user
  8849. //
  8850. // This value is returned only in the GetUser and ListUsers actions.
  8851. PasswordLastUsed *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  8852. // The path to the user. For more information about paths, see IAM Identifiers
  8853. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  8854. // in the Using IAM guide.
  8855. Path *string `type:"string" required:"true"`
  8856. // The stable and unique string identifying the user. For more information about
  8857. // IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  8858. // in the Using IAM guide.
  8859. UserId *string `type:"string" required:"true"`
  8860. // The friendly name identifying the user.
  8861. UserName *string `type:"string" required:"true"`
  8862. metadataUser `json:"-" xml:"-"`
  8863. }
  8864. type metadataUser struct {
  8865. SDKShapeTraits bool `type:"structure"`
  8866. }
  8867. // String returns the string representation
  8868. func (s User) String() string {
  8869. return awsutil.Prettify(s)
  8870. }
  8871. // GoString returns the string representation
  8872. func (s User) GoString() string {
  8873. return s.String()
  8874. }
  8875. // Contains information about an IAM user, including all the user's policies
  8876. // and all the IAM groups the user is in.
  8877. //
  8878. // This data type is used as a response element in the GetAccountAuthorizationDetails
  8879. // action.
  8880. type UserDetail struct {
  8881. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  8882. //
  8883. // For more information about ARNs, go to Amazon Resource Names (ARNs) and
  8884. // AWS Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  8885. // in the AWS General Reference.
  8886. Arn *string `type:"string"`
  8887. // A list of the managed policies attached to the user.
  8888. AttachedManagedPolicies []*AttachedPolicy `type:"list"`
  8889. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  8890. // when the user was created.
  8891. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  8892. // A list of IAM groups that the user is in.
  8893. GroupList []*string `type:"list"`
  8894. // The path to the user. For more information about paths, see IAM Identifiers
  8895. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  8896. // in the Using IAM guide.
  8897. Path *string `type:"string"`
  8898. // The stable and unique string identifying the user. For more information about
  8899. // IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  8900. // in the Using IAM guide.
  8901. UserId *string `type:"string"`
  8902. // The friendly name identifying the user.
  8903. UserName *string `type:"string"`
  8904. // A list of the inline policies embedded in the user.
  8905. UserPolicyList []*PolicyDetail `type:"list"`
  8906. metadataUserDetail `json:"-" xml:"-"`
  8907. }
  8908. type metadataUserDetail struct {
  8909. SDKShapeTraits bool `type:"structure"`
  8910. }
  8911. // String returns the string representation
  8912. func (s UserDetail) String() string {
  8913. return awsutil.Prettify(s)
  8914. }
  8915. // GoString returns the string representation
  8916. func (s UserDetail) GoString() string {
  8917. return s.String()
  8918. }
  8919. // Contains information about a virtual MFA device.
  8920. type VirtualMFADevice struct {
  8921. // The Base32 seed defined as specified in RFC3548 (http://www.ietf.org/rfc/rfc3548.txt).
  8922. // The Base32StringSeed is Base64-encoded.
  8923. Base32StringSeed []byte `type:"blob"`
  8924. // The date and time on which the virtual MFA device was enabled.
  8925. EnableDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  8926. // A QR code PNG image that encodes otpauth://totp/$virtualMFADeviceName@$AccountName?secret=$Base32String
  8927. // where $virtualMFADeviceName is one of the create call arguments, AccountName
  8928. // is the user name if set (otherwise, the account ID otherwise), and Base32String
  8929. // is the seed in Base32 format. The Base32String value is Base64-encoded.
  8930. QRCodePNG []byte `type:"blob"`
  8931. // The serial number associated with VirtualMFADevice.
  8932. SerialNumber *string `type:"string" required:"true"`
  8933. // Contains information about an IAM user entity.
  8934. //
  8935. // This data type is used as a response element in the following actions:
  8936. //
  8937. // CreateUser
  8938. //
  8939. // GetUser
  8940. //
  8941. // ListUsers
  8942. User *User `type:"structure"`
  8943. metadataVirtualMFADevice `json:"-" xml:"-"`
  8944. }
  8945. type metadataVirtualMFADevice struct {
  8946. SDKShapeTraits bool `type:"structure"`
  8947. }
  8948. // String returns the string representation
  8949. func (s VirtualMFADevice) String() string {
  8950. return awsutil.Prettify(s)
  8951. }
  8952. // GoString returns the string representation
  8953. func (s VirtualMFADevice) GoString() string {
  8954. return s.String()
  8955. }
  8956. const (
  8957. // @enum EntityType
  8958. EntityTypeUser = "User"
  8959. // @enum EntityType
  8960. EntityTypeRole = "Role"
  8961. // @enum EntityType
  8962. EntityTypeGroup = "Group"
  8963. // @enum EntityType
  8964. EntityTypeLocalManagedPolicy = "LocalManagedPolicy"
  8965. // @enum EntityType
  8966. EntityTypeAwsmanagedPolicy = "AWSManagedPolicy"
  8967. )
  8968. const (
  8969. // @enum ReportFormatType
  8970. ReportFormatTypeTextCsv = "text/csv"
  8971. )
  8972. const (
  8973. // @enum ReportStateType
  8974. ReportStateTypeStarted = "STARTED"
  8975. // @enum ReportStateType
  8976. ReportStateTypeInprogress = "INPROGRESS"
  8977. // @enum ReportStateType
  8978. ReportStateTypeComplete = "COMPLETE"
  8979. )
  8980. const (
  8981. // @enum assignmentStatusType
  8982. AssignmentStatusTypeAssigned = "Assigned"
  8983. // @enum assignmentStatusType
  8984. AssignmentStatusTypeUnassigned = "Unassigned"
  8985. // @enum assignmentStatusType
  8986. AssignmentStatusTypeAny = "Any"
  8987. )
  8988. const (
  8989. // @enum encodingType
  8990. EncodingTypeSsh = "SSH"
  8991. // @enum encodingType
  8992. EncodingTypePem = "PEM"
  8993. )
  8994. const (
  8995. // @enum policyScopeType
  8996. PolicyScopeTypeAll = "All"
  8997. // @enum policyScopeType
  8998. PolicyScopeTypeAws = "AWS"
  8999. // @enum policyScopeType
  9000. PolicyScopeTypeLocal = "Local"
  9001. )
  9002. const (
  9003. // @enum statusType
  9004. StatusTypeActive = "Active"
  9005. // @enum statusType
  9006. StatusTypeInactive = "Inactive"
  9007. )
  9008. const (
  9009. // @enum summaryKeyType
  9010. SummaryKeyTypeUsers = "Users"
  9011. // @enum summaryKeyType
  9012. SummaryKeyTypeUsersQuota = "UsersQuota"
  9013. // @enum summaryKeyType
  9014. SummaryKeyTypeGroups = "Groups"
  9015. // @enum summaryKeyType
  9016. SummaryKeyTypeGroupsQuota = "GroupsQuota"
  9017. // @enum summaryKeyType
  9018. SummaryKeyTypeServerCertificates = "ServerCertificates"
  9019. // @enum summaryKeyType
  9020. SummaryKeyTypeServerCertificatesQuota = "ServerCertificatesQuota"
  9021. // @enum summaryKeyType
  9022. SummaryKeyTypeUserPolicySizeQuota = "UserPolicySizeQuota"
  9023. // @enum summaryKeyType
  9024. SummaryKeyTypeGroupPolicySizeQuota = "GroupPolicySizeQuota"
  9025. // @enum summaryKeyType
  9026. SummaryKeyTypeGroupsPerUserQuota = "GroupsPerUserQuota"
  9027. // @enum summaryKeyType
  9028. SummaryKeyTypeSigningCertificatesPerUserQuota = "SigningCertificatesPerUserQuota"
  9029. // @enum summaryKeyType
  9030. SummaryKeyTypeAccessKeysPerUserQuota = "AccessKeysPerUserQuota"
  9031. // @enum summaryKeyType
  9032. SummaryKeyTypeMfadevices = "MFADevices"
  9033. // @enum summaryKeyType
  9034. SummaryKeyTypeMfadevicesInUse = "MFADevicesInUse"
  9035. // @enum summaryKeyType
  9036. SummaryKeyTypeAccountMfaenabled = "AccountMFAEnabled"
  9037. // @enum summaryKeyType
  9038. SummaryKeyTypeAccountAccessKeysPresent = "AccountAccessKeysPresent"
  9039. // @enum summaryKeyType
  9040. SummaryKeyTypeAccountSigningCertificatesPresent = "AccountSigningCertificatesPresent"
  9041. // @enum summaryKeyType
  9042. SummaryKeyTypeAttachedPoliciesPerGroupQuota = "AttachedPoliciesPerGroupQuota"
  9043. // @enum summaryKeyType
  9044. SummaryKeyTypeAttachedPoliciesPerRoleQuota = "AttachedPoliciesPerRoleQuota"
  9045. // @enum summaryKeyType
  9046. SummaryKeyTypeAttachedPoliciesPerUserQuota = "AttachedPoliciesPerUserQuota"
  9047. // @enum summaryKeyType
  9048. SummaryKeyTypePolicies = "Policies"
  9049. // @enum summaryKeyType
  9050. SummaryKeyTypePoliciesQuota = "PoliciesQuota"
  9051. // @enum summaryKeyType
  9052. SummaryKeyTypePolicySizeQuota = "PolicySizeQuota"
  9053. // @enum summaryKeyType
  9054. SummaryKeyTypePolicyVersionsInUse = "PolicyVersionsInUse"
  9055. // @enum summaryKeyType
  9056. SummaryKeyTypePolicyVersionsInUseQuota = "PolicyVersionsInUseQuota"
  9057. // @enum summaryKeyType
  9058. SummaryKeyTypeVersionsPerPolicyQuota = "VersionsPerPolicyQuota"
  9059. )