api.go 735 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413
  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. "fmt"
  6. "time"
  7. "github.com/aws/aws-sdk-go/aws/awsutil"
  8. "github.com/aws/aws-sdk-go/aws/request"
  9. "github.com/aws/aws-sdk-go/private/protocol"
  10. "github.com/aws/aws-sdk-go/private/protocol/query"
  11. )
  12. const opAddClientIDToOpenIDConnectProvider = "AddClientIDToOpenIDConnectProvider"
  13. // AddClientIDToOpenIDConnectProviderRequest generates a "aws/request.Request" representing the
  14. // client's request for the AddClientIDToOpenIDConnectProvider operation. The "output" return
  15. // value can be used to capture response data after the request's "Send" method
  16. // is called.
  17. //
  18. // See AddClientIDToOpenIDConnectProvider for usage and error information.
  19. //
  20. // Creating a request object using this method should be used when you want to inject
  21. // custom logic into the request's lifecycle using a custom handler, or if you want to
  22. // access properties on the request object before or after sending the request. If
  23. // you just want the service response, call the AddClientIDToOpenIDConnectProvider method directly
  24. // instead.
  25. //
  26. // Note: You must call the "Send" method on the returned request object in order
  27. // to execute the request.
  28. //
  29. // // Example sending a request using the AddClientIDToOpenIDConnectProviderRequest method.
  30. // req, resp := client.AddClientIDToOpenIDConnectProviderRequest(params)
  31. //
  32. // err := req.Send()
  33. // if err == nil { // resp is now filled
  34. // fmt.Println(resp)
  35. // }
  36. //
  37. func (c *IAM) AddClientIDToOpenIDConnectProviderRequest(input *AddClientIDToOpenIDConnectProviderInput) (req *request.Request, output *AddClientIDToOpenIDConnectProviderOutput) {
  38. op := &request.Operation{
  39. Name: opAddClientIDToOpenIDConnectProvider,
  40. HTTPMethod: "POST",
  41. HTTPPath: "/",
  42. }
  43. if input == nil {
  44. input = &AddClientIDToOpenIDConnectProviderInput{}
  45. }
  46. req = c.newRequest(op, input, output)
  47. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  48. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  49. output = &AddClientIDToOpenIDConnectProviderOutput{}
  50. req.Data = output
  51. return
  52. }
  53. // AddClientIDToOpenIDConnectProvider API operation for AWS Identity and Access Management.
  54. //
  55. // Adds a new client ID (also known as audience) to the list of client IDs already
  56. // registered for the specified IAM OpenID Connect (OIDC) provider resource.
  57. //
  58. // This action is idempotent; it does not fail or return an error if you add
  59. // an existing client ID to the provider.
  60. //
  61. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  62. // with awserr.Error's Code and Message methods to get detailed information about
  63. // the error.
  64. //
  65. // See the AWS API reference guide for AWS Identity and Access Management's
  66. // API operation AddClientIDToOpenIDConnectProvider for usage and error information.
  67. //
  68. // Returned Error Codes:
  69. // * InvalidInput
  70. // The request was rejected because an invalid or out-of-range value was supplied
  71. // for an input parameter.
  72. //
  73. // * NoSuchEntity
  74. // The request was rejected because it referenced an entity that does not exist.
  75. // The error message describes the entity.
  76. //
  77. // * LimitExceeded
  78. // The request was rejected because it attempted to create resources beyond
  79. // the current AWS account limits. The error message describes the limit exceeded.
  80. //
  81. // * ServiceFailure
  82. // The request processing has failed because of an unknown error, exception
  83. // or failure.
  84. //
  85. func (c *IAM) AddClientIDToOpenIDConnectProvider(input *AddClientIDToOpenIDConnectProviderInput) (*AddClientIDToOpenIDConnectProviderOutput, error) {
  86. req, out := c.AddClientIDToOpenIDConnectProviderRequest(input)
  87. err := req.Send()
  88. return out, err
  89. }
  90. const opAddRoleToInstanceProfile = "AddRoleToInstanceProfile"
  91. // AddRoleToInstanceProfileRequest generates a "aws/request.Request" representing the
  92. // client's request for the AddRoleToInstanceProfile operation. The "output" return
  93. // value can be used to capture response data after the request's "Send" method
  94. // is called.
  95. //
  96. // See AddRoleToInstanceProfile for usage and error information.
  97. //
  98. // Creating a request object using this method should be used when you want to inject
  99. // custom logic into the request's lifecycle using a custom handler, or if you want to
  100. // access properties on the request object before or after sending the request. If
  101. // you just want the service response, call the AddRoleToInstanceProfile method directly
  102. // instead.
  103. //
  104. // Note: You must call the "Send" method on the returned request object in order
  105. // to execute the request.
  106. //
  107. // // Example sending a request using the AddRoleToInstanceProfileRequest method.
  108. // req, resp := client.AddRoleToInstanceProfileRequest(params)
  109. //
  110. // err := req.Send()
  111. // if err == nil { // resp is now filled
  112. // fmt.Println(resp)
  113. // }
  114. //
  115. func (c *IAM) AddRoleToInstanceProfileRequest(input *AddRoleToInstanceProfileInput) (req *request.Request, output *AddRoleToInstanceProfileOutput) {
  116. op := &request.Operation{
  117. Name: opAddRoleToInstanceProfile,
  118. HTTPMethod: "POST",
  119. HTTPPath: "/",
  120. }
  121. if input == nil {
  122. input = &AddRoleToInstanceProfileInput{}
  123. }
  124. req = c.newRequest(op, input, output)
  125. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  126. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  127. output = &AddRoleToInstanceProfileOutput{}
  128. req.Data = output
  129. return
  130. }
  131. // AddRoleToInstanceProfile API operation for AWS Identity and Access Management.
  132. //
  133. // Adds the specified IAM role to the specified instance profile.
  134. //
  135. // The caller of this API must be granted the PassRole permission on the IAM
  136. // role by a permission policy.
  137. //
  138. // For more information about roles, go to Working with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html).
  139. // For more information about instance profiles, go to About Instance Profiles
  140. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html).
  141. //
  142. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  143. // with awserr.Error's Code and Message methods to get detailed information about
  144. // the error.
  145. //
  146. // See the AWS API reference guide for AWS Identity and Access Management's
  147. // API operation AddRoleToInstanceProfile for usage and error information.
  148. //
  149. // Returned Error Codes:
  150. // * NoSuchEntity
  151. // The request was rejected because it referenced an entity that does not exist.
  152. // The error message describes the entity.
  153. //
  154. // * EntityAlreadyExists
  155. // The request was rejected because it attempted to create a resource that already
  156. // exists.
  157. //
  158. // * LimitExceeded
  159. // The request was rejected because it attempted to create resources beyond
  160. // the current AWS account limits. The error message describes the limit exceeded.
  161. //
  162. // * ServiceFailure
  163. // The request processing has failed because of an unknown error, exception
  164. // or failure.
  165. //
  166. func (c *IAM) AddRoleToInstanceProfile(input *AddRoleToInstanceProfileInput) (*AddRoleToInstanceProfileOutput, error) {
  167. req, out := c.AddRoleToInstanceProfileRequest(input)
  168. err := req.Send()
  169. return out, err
  170. }
  171. const opAddUserToGroup = "AddUserToGroup"
  172. // AddUserToGroupRequest generates a "aws/request.Request" representing the
  173. // client's request for the AddUserToGroup operation. The "output" return
  174. // value can be used to capture response data after the request's "Send" method
  175. // is called.
  176. //
  177. // See AddUserToGroup for usage and error information.
  178. //
  179. // Creating a request object using this method should be used when you want to inject
  180. // custom logic into the request's lifecycle using a custom handler, or if you want to
  181. // access properties on the request object before or after sending the request. If
  182. // you just want the service response, call the AddUserToGroup method directly
  183. // instead.
  184. //
  185. // Note: You must call the "Send" method on the returned request object in order
  186. // to execute the request.
  187. //
  188. // // Example sending a request using the AddUserToGroupRequest method.
  189. // req, resp := client.AddUserToGroupRequest(params)
  190. //
  191. // err := req.Send()
  192. // if err == nil { // resp is now filled
  193. // fmt.Println(resp)
  194. // }
  195. //
  196. func (c *IAM) AddUserToGroupRequest(input *AddUserToGroupInput) (req *request.Request, output *AddUserToGroupOutput) {
  197. op := &request.Operation{
  198. Name: opAddUserToGroup,
  199. HTTPMethod: "POST",
  200. HTTPPath: "/",
  201. }
  202. if input == nil {
  203. input = &AddUserToGroupInput{}
  204. }
  205. req = c.newRequest(op, input, output)
  206. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  207. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  208. output = &AddUserToGroupOutput{}
  209. req.Data = output
  210. return
  211. }
  212. // AddUserToGroup API operation for AWS Identity and Access Management.
  213. //
  214. // Adds the specified user to the specified group.
  215. //
  216. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  217. // with awserr.Error's Code and Message methods to get detailed information about
  218. // the error.
  219. //
  220. // See the AWS API reference guide for AWS Identity and Access Management's
  221. // API operation AddUserToGroup for usage and error information.
  222. //
  223. // Returned Error Codes:
  224. // * NoSuchEntity
  225. // The request was rejected because it referenced an entity that does not exist.
  226. // The error message describes the entity.
  227. //
  228. // * LimitExceeded
  229. // The request was rejected because it attempted to create resources beyond
  230. // the current AWS account limits. The error message describes the limit exceeded.
  231. //
  232. // * ServiceFailure
  233. // The request processing has failed because of an unknown error, exception
  234. // or failure.
  235. //
  236. func (c *IAM) AddUserToGroup(input *AddUserToGroupInput) (*AddUserToGroupOutput, error) {
  237. req, out := c.AddUserToGroupRequest(input)
  238. err := req.Send()
  239. return out, err
  240. }
  241. const opAttachGroupPolicy = "AttachGroupPolicy"
  242. // AttachGroupPolicyRequest generates a "aws/request.Request" representing the
  243. // client's request for the AttachGroupPolicy operation. The "output" return
  244. // value can be used to capture response data after the request's "Send" method
  245. // is called.
  246. //
  247. // See AttachGroupPolicy for usage and error information.
  248. //
  249. // Creating a request object using this method should be used when you want to inject
  250. // custom logic into the request's lifecycle using a custom handler, or if you want to
  251. // access properties on the request object before or after sending the request. If
  252. // you just want the service response, call the AttachGroupPolicy method directly
  253. // instead.
  254. //
  255. // Note: You must call the "Send" method on the returned request object in order
  256. // to execute the request.
  257. //
  258. // // Example sending a request using the AttachGroupPolicyRequest method.
  259. // req, resp := client.AttachGroupPolicyRequest(params)
  260. //
  261. // err := req.Send()
  262. // if err == nil { // resp is now filled
  263. // fmt.Println(resp)
  264. // }
  265. //
  266. func (c *IAM) AttachGroupPolicyRequest(input *AttachGroupPolicyInput) (req *request.Request, output *AttachGroupPolicyOutput) {
  267. op := &request.Operation{
  268. Name: opAttachGroupPolicy,
  269. HTTPMethod: "POST",
  270. HTTPPath: "/",
  271. }
  272. if input == nil {
  273. input = &AttachGroupPolicyInput{}
  274. }
  275. req = c.newRequest(op, input, output)
  276. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  277. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  278. output = &AttachGroupPolicyOutput{}
  279. req.Data = output
  280. return
  281. }
  282. // AttachGroupPolicy API operation for AWS Identity and Access Management.
  283. //
  284. // Attaches the specified managed policy to the specified IAM group.
  285. //
  286. // You use this API to attach a managed policy to a group. To embed an inline
  287. // policy in a group, use PutGroupPolicy.
  288. //
  289. // For more information about policies, see Managed Policies and Inline Policies
  290. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  291. // in the IAM User Guide.
  292. //
  293. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  294. // with awserr.Error's Code and Message methods to get detailed information about
  295. // the error.
  296. //
  297. // See the AWS API reference guide for AWS Identity and Access Management's
  298. // API operation AttachGroupPolicy for usage and error information.
  299. //
  300. // Returned Error Codes:
  301. // * NoSuchEntity
  302. // The request was rejected because it referenced an entity that does not exist.
  303. // The error message describes the entity.
  304. //
  305. // * LimitExceeded
  306. // The request was rejected because it attempted to create resources beyond
  307. // the current AWS account limits. The error message describes the limit exceeded.
  308. //
  309. // * InvalidInput
  310. // The request was rejected because an invalid or out-of-range value was supplied
  311. // for an input parameter.
  312. //
  313. // * ServiceFailure
  314. // The request processing has failed because of an unknown error, exception
  315. // or failure.
  316. //
  317. func (c *IAM) AttachGroupPolicy(input *AttachGroupPolicyInput) (*AttachGroupPolicyOutput, error) {
  318. req, out := c.AttachGroupPolicyRequest(input)
  319. err := req.Send()
  320. return out, err
  321. }
  322. const opAttachRolePolicy = "AttachRolePolicy"
  323. // AttachRolePolicyRequest generates a "aws/request.Request" representing the
  324. // client's request for the AttachRolePolicy operation. The "output" return
  325. // value can be used to capture response data after the request's "Send" method
  326. // is called.
  327. //
  328. // See AttachRolePolicy for usage and error information.
  329. //
  330. // Creating a request object using this method should be used when you want to inject
  331. // custom logic into the request's lifecycle using a custom handler, or if you want to
  332. // access properties on the request object before or after sending the request. If
  333. // you just want the service response, call the AttachRolePolicy method directly
  334. // instead.
  335. //
  336. // Note: You must call the "Send" method on the returned request object in order
  337. // to execute the request.
  338. //
  339. // // Example sending a request using the AttachRolePolicyRequest method.
  340. // req, resp := client.AttachRolePolicyRequest(params)
  341. //
  342. // err := req.Send()
  343. // if err == nil { // resp is now filled
  344. // fmt.Println(resp)
  345. // }
  346. //
  347. func (c *IAM) AttachRolePolicyRequest(input *AttachRolePolicyInput) (req *request.Request, output *AttachRolePolicyOutput) {
  348. op := &request.Operation{
  349. Name: opAttachRolePolicy,
  350. HTTPMethod: "POST",
  351. HTTPPath: "/",
  352. }
  353. if input == nil {
  354. input = &AttachRolePolicyInput{}
  355. }
  356. req = c.newRequest(op, input, output)
  357. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  358. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  359. output = &AttachRolePolicyOutput{}
  360. req.Data = output
  361. return
  362. }
  363. // AttachRolePolicy API operation for AWS Identity and Access Management.
  364. //
  365. // Attaches the specified managed policy to the specified IAM role.
  366. //
  367. // When you attach a managed policy to a role, the managed policy becomes part
  368. // of the role's permission (access) policy. You cannot use a managed policy
  369. // as the role's trust policy. The role's trust policy is created at the same
  370. // time as the role, using CreateRole. You can update a role's trust policy
  371. // using UpdateAssumeRolePolicy.
  372. //
  373. // Use this API to attach a managed policy to a role. To embed an inline policy
  374. // in a role, use PutRolePolicy. For more information about policies, see Managed
  375. // Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  376. // in the IAM User Guide.
  377. //
  378. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  379. // with awserr.Error's Code and Message methods to get detailed information about
  380. // the error.
  381. //
  382. // See the AWS API reference guide for AWS Identity and Access Management's
  383. // API operation AttachRolePolicy for usage and error information.
  384. //
  385. // Returned Error Codes:
  386. // * NoSuchEntity
  387. // The request was rejected because it referenced an entity that does not exist.
  388. // The error message describes the entity.
  389. //
  390. // * LimitExceeded
  391. // The request was rejected because it attempted to create resources beyond
  392. // the current AWS account limits. The error message describes the limit exceeded.
  393. //
  394. // * InvalidInput
  395. // The request was rejected because an invalid or out-of-range value was supplied
  396. // for an input parameter.
  397. //
  398. // * ServiceFailure
  399. // The request processing has failed because of an unknown error, exception
  400. // or failure.
  401. //
  402. func (c *IAM) AttachRolePolicy(input *AttachRolePolicyInput) (*AttachRolePolicyOutput, error) {
  403. req, out := c.AttachRolePolicyRequest(input)
  404. err := req.Send()
  405. return out, err
  406. }
  407. const opAttachUserPolicy = "AttachUserPolicy"
  408. // AttachUserPolicyRequest generates a "aws/request.Request" representing the
  409. // client's request for the AttachUserPolicy operation. The "output" return
  410. // value can be used to capture response data after the request's "Send" method
  411. // is called.
  412. //
  413. // See AttachUserPolicy for usage and error information.
  414. //
  415. // Creating a request object using this method should be used when you want to inject
  416. // custom logic into the request's lifecycle using a custom handler, or if you want to
  417. // access properties on the request object before or after sending the request. If
  418. // you just want the service response, call the AttachUserPolicy method directly
  419. // instead.
  420. //
  421. // Note: You must call the "Send" method on the returned request object in order
  422. // to execute the request.
  423. //
  424. // // Example sending a request using the AttachUserPolicyRequest method.
  425. // req, resp := client.AttachUserPolicyRequest(params)
  426. //
  427. // err := req.Send()
  428. // if err == nil { // resp is now filled
  429. // fmt.Println(resp)
  430. // }
  431. //
  432. func (c *IAM) AttachUserPolicyRequest(input *AttachUserPolicyInput) (req *request.Request, output *AttachUserPolicyOutput) {
  433. op := &request.Operation{
  434. Name: opAttachUserPolicy,
  435. HTTPMethod: "POST",
  436. HTTPPath: "/",
  437. }
  438. if input == nil {
  439. input = &AttachUserPolicyInput{}
  440. }
  441. req = c.newRequest(op, input, output)
  442. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  443. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  444. output = &AttachUserPolicyOutput{}
  445. req.Data = output
  446. return
  447. }
  448. // AttachUserPolicy API operation for AWS Identity and Access Management.
  449. //
  450. // Attaches the specified managed policy to the specified user.
  451. //
  452. // You use this API to attach a managed policy to a user. To embed an inline
  453. // policy in a user, use PutUserPolicy.
  454. //
  455. // For more information about policies, see Managed Policies and Inline Policies
  456. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  457. // in the IAM User Guide.
  458. //
  459. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  460. // with awserr.Error's Code and Message methods to get detailed information about
  461. // the error.
  462. //
  463. // See the AWS API reference guide for AWS Identity and Access Management's
  464. // API operation AttachUserPolicy for usage and error information.
  465. //
  466. // Returned Error Codes:
  467. // * NoSuchEntity
  468. // The request was rejected because it referenced an entity that does not exist.
  469. // The error message describes the entity.
  470. //
  471. // * LimitExceeded
  472. // The request was rejected because it attempted to create resources beyond
  473. // the current AWS account limits. The error message describes the limit exceeded.
  474. //
  475. // * InvalidInput
  476. // The request was rejected because an invalid or out-of-range value was supplied
  477. // for an input parameter.
  478. //
  479. // * ServiceFailure
  480. // The request processing has failed because of an unknown error, exception
  481. // or failure.
  482. //
  483. func (c *IAM) AttachUserPolicy(input *AttachUserPolicyInput) (*AttachUserPolicyOutput, error) {
  484. req, out := c.AttachUserPolicyRequest(input)
  485. err := req.Send()
  486. return out, err
  487. }
  488. const opChangePassword = "ChangePassword"
  489. // ChangePasswordRequest generates a "aws/request.Request" representing the
  490. // client's request for the ChangePassword operation. The "output" return
  491. // value can be used to capture response data after the request's "Send" method
  492. // is called.
  493. //
  494. // See ChangePassword for usage and error information.
  495. //
  496. // Creating a request object using this method should be used when you want to inject
  497. // custom logic into the request's lifecycle using a custom handler, or if you want to
  498. // access properties on the request object before or after sending the request. If
  499. // you just want the service response, call the ChangePassword method directly
  500. // instead.
  501. //
  502. // Note: You must call the "Send" method on the returned request object in order
  503. // to execute the request.
  504. //
  505. // // Example sending a request using the ChangePasswordRequest method.
  506. // req, resp := client.ChangePasswordRequest(params)
  507. //
  508. // err := req.Send()
  509. // if err == nil { // resp is now filled
  510. // fmt.Println(resp)
  511. // }
  512. //
  513. func (c *IAM) ChangePasswordRequest(input *ChangePasswordInput) (req *request.Request, output *ChangePasswordOutput) {
  514. op := &request.Operation{
  515. Name: opChangePassword,
  516. HTTPMethod: "POST",
  517. HTTPPath: "/",
  518. }
  519. if input == nil {
  520. input = &ChangePasswordInput{}
  521. }
  522. req = c.newRequest(op, input, output)
  523. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  524. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  525. output = &ChangePasswordOutput{}
  526. req.Data = output
  527. return
  528. }
  529. // ChangePassword API operation for AWS Identity and Access Management.
  530. //
  531. // Changes the password of the IAM user who is calling this action. The root
  532. // account password is not affected by this action.
  533. //
  534. // To change the password for a different user, see UpdateLoginProfile. For
  535. // more information about modifying passwords, see Managing Passwords (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingLogins.html)
  536. // in the IAM User Guide.
  537. //
  538. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  539. // with awserr.Error's Code and Message methods to get detailed information about
  540. // the error.
  541. //
  542. // See the AWS API reference guide for AWS Identity and Access Management's
  543. // API operation ChangePassword for usage and error information.
  544. //
  545. // Returned Error Codes:
  546. // * NoSuchEntity
  547. // The request was rejected because it referenced an entity that does not exist.
  548. // The error message describes the entity.
  549. //
  550. // * InvalidUserType
  551. // The request was rejected because the type of user for the transaction was
  552. // incorrect.
  553. //
  554. // * LimitExceeded
  555. // The request was rejected because it attempted to create resources beyond
  556. // the current AWS account limits. The error message describes the limit exceeded.
  557. //
  558. // * EntityTemporarilyUnmodifiable
  559. // The request was rejected because it referenced an entity that is temporarily
  560. // unmodifiable, such as a user name that was deleted and then recreated. The
  561. // error indicates that the request is likely to succeed if you try again after
  562. // waiting several minutes. The error message describes the entity.
  563. //
  564. // * PasswordPolicyViolation
  565. // The request was rejected because the provided password did not meet the requirements
  566. // imposed by the account password policy.
  567. //
  568. // * ServiceFailure
  569. // The request processing has failed because of an unknown error, exception
  570. // or failure.
  571. //
  572. func (c *IAM) ChangePassword(input *ChangePasswordInput) (*ChangePasswordOutput, error) {
  573. req, out := c.ChangePasswordRequest(input)
  574. err := req.Send()
  575. return out, err
  576. }
  577. const opCreateAccessKey = "CreateAccessKey"
  578. // CreateAccessKeyRequest generates a "aws/request.Request" representing the
  579. // client's request for the CreateAccessKey operation. The "output" return
  580. // value can be used to capture response data after the request's "Send" method
  581. // is called.
  582. //
  583. // See CreateAccessKey for usage and error information.
  584. //
  585. // Creating a request object using this method should be used when you want to inject
  586. // custom logic into the request's lifecycle using a custom handler, or if you want to
  587. // access properties on the request object before or after sending the request. If
  588. // you just want the service response, call the CreateAccessKey method directly
  589. // instead.
  590. //
  591. // Note: You must call the "Send" method on the returned request object in order
  592. // to execute the request.
  593. //
  594. // // Example sending a request using the CreateAccessKeyRequest method.
  595. // req, resp := client.CreateAccessKeyRequest(params)
  596. //
  597. // err := req.Send()
  598. // if err == nil { // resp is now filled
  599. // fmt.Println(resp)
  600. // }
  601. //
  602. func (c *IAM) CreateAccessKeyRequest(input *CreateAccessKeyInput) (req *request.Request, output *CreateAccessKeyOutput) {
  603. op := &request.Operation{
  604. Name: opCreateAccessKey,
  605. HTTPMethod: "POST",
  606. HTTPPath: "/",
  607. }
  608. if input == nil {
  609. input = &CreateAccessKeyInput{}
  610. }
  611. req = c.newRequest(op, input, output)
  612. output = &CreateAccessKeyOutput{}
  613. req.Data = output
  614. return
  615. }
  616. // CreateAccessKey API operation for AWS Identity and Access Management.
  617. //
  618. // Creates a new AWS secret access key and corresponding AWS access key ID for
  619. // the specified user. The default status for new keys is Active.
  620. //
  621. // If you do not specify a user name, IAM determines the user name implicitly
  622. // based on the AWS access key ID signing the request. Because this action works
  623. // for access keys under the AWS account, you can use this action to manage
  624. // root credentials even if the AWS account has no associated users.
  625. //
  626. // For information about limits on the number of keys you can create, see Limitations
  627. // on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
  628. // in the IAM User Guide.
  629. //
  630. // To ensure the security of your AWS account, the secret access key is accessible
  631. // only during key and user creation. You must save the key (for example, in
  632. // a text file) if you want to be able to access it again. If a secret key is
  633. // lost, you can delete the access keys for the associated user and then create
  634. // new keys.
  635. //
  636. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  637. // with awserr.Error's Code and Message methods to get detailed information about
  638. // the error.
  639. //
  640. // See the AWS API reference guide for AWS Identity and Access Management's
  641. // API operation CreateAccessKey for usage and error information.
  642. //
  643. // Returned Error Codes:
  644. // * NoSuchEntity
  645. // The request was rejected because it referenced an entity that does not exist.
  646. // The error message describes the entity.
  647. //
  648. // * LimitExceeded
  649. // The request was rejected because it attempted to create resources beyond
  650. // the current AWS account limits. The error message describes the limit exceeded.
  651. //
  652. // * ServiceFailure
  653. // The request processing has failed because of an unknown error, exception
  654. // or failure.
  655. //
  656. func (c *IAM) CreateAccessKey(input *CreateAccessKeyInput) (*CreateAccessKeyOutput, error) {
  657. req, out := c.CreateAccessKeyRequest(input)
  658. err := req.Send()
  659. return out, err
  660. }
  661. const opCreateAccountAlias = "CreateAccountAlias"
  662. // CreateAccountAliasRequest generates a "aws/request.Request" representing the
  663. // client's request for the CreateAccountAlias operation. The "output" return
  664. // value can be used to capture response data after the request's "Send" method
  665. // is called.
  666. //
  667. // See CreateAccountAlias for usage and error information.
  668. //
  669. // Creating a request object using this method should be used when you want to inject
  670. // custom logic into the request's lifecycle using a custom handler, or if you want to
  671. // access properties on the request object before or after sending the request. If
  672. // you just want the service response, call the CreateAccountAlias method directly
  673. // instead.
  674. //
  675. // Note: You must call the "Send" method on the returned request object in order
  676. // to execute the request.
  677. //
  678. // // Example sending a request using the CreateAccountAliasRequest method.
  679. // req, resp := client.CreateAccountAliasRequest(params)
  680. //
  681. // err := req.Send()
  682. // if err == nil { // resp is now filled
  683. // fmt.Println(resp)
  684. // }
  685. //
  686. func (c *IAM) CreateAccountAliasRequest(input *CreateAccountAliasInput) (req *request.Request, output *CreateAccountAliasOutput) {
  687. op := &request.Operation{
  688. Name: opCreateAccountAlias,
  689. HTTPMethod: "POST",
  690. HTTPPath: "/",
  691. }
  692. if input == nil {
  693. input = &CreateAccountAliasInput{}
  694. }
  695. req = c.newRequest(op, input, output)
  696. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  697. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  698. output = &CreateAccountAliasOutput{}
  699. req.Data = output
  700. return
  701. }
  702. // CreateAccountAlias API operation for AWS Identity and Access Management.
  703. //
  704. // Creates an alias for your AWS account. For information about using an AWS
  705. // account alias, see Using an Alias for Your AWS Account ID (http://docs.aws.amazon.com/IAM/latest/UserGuide/AccountAlias.html)
  706. // in the IAM User Guide.
  707. //
  708. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  709. // with awserr.Error's Code and Message methods to get detailed information about
  710. // the error.
  711. //
  712. // See the AWS API reference guide for AWS Identity and Access Management's
  713. // API operation CreateAccountAlias for usage and error information.
  714. //
  715. // Returned Error Codes:
  716. // * EntityAlreadyExists
  717. // The request was rejected because it attempted to create a resource that already
  718. // exists.
  719. //
  720. // * LimitExceeded
  721. // The request was rejected because it attempted to create resources beyond
  722. // the current AWS account limits. The error message describes the limit exceeded.
  723. //
  724. // * ServiceFailure
  725. // The request processing has failed because of an unknown error, exception
  726. // or failure.
  727. //
  728. func (c *IAM) CreateAccountAlias(input *CreateAccountAliasInput) (*CreateAccountAliasOutput, error) {
  729. req, out := c.CreateAccountAliasRequest(input)
  730. err := req.Send()
  731. return out, err
  732. }
  733. const opCreateGroup = "CreateGroup"
  734. // CreateGroupRequest generates a "aws/request.Request" representing the
  735. // client's request for the CreateGroup operation. The "output" return
  736. // value can be used to capture response data after the request's "Send" method
  737. // is called.
  738. //
  739. // See CreateGroup for usage and error information.
  740. //
  741. // Creating a request object using this method should be used when you want to inject
  742. // custom logic into the request's lifecycle using a custom handler, or if you want to
  743. // access properties on the request object before or after sending the request. If
  744. // you just want the service response, call the CreateGroup method directly
  745. // instead.
  746. //
  747. // Note: You must call the "Send" method on the returned request object in order
  748. // to execute the request.
  749. //
  750. // // Example sending a request using the CreateGroupRequest method.
  751. // req, resp := client.CreateGroupRequest(params)
  752. //
  753. // err := req.Send()
  754. // if err == nil { // resp is now filled
  755. // fmt.Println(resp)
  756. // }
  757. //
  758. func (c *IAM) CreateGroupRequest(input *CreateGroupInput) (req *request.Request, output *CreateGroupOutput) {
  759. op := &request.Operation{
  760. Name: opCreateGroup,
  761. HTTPMethod: "POST",
  762. HTTPPath: "/",
  763. }
  764. if input == nil {
  765. input = &CreateGroupInput{}
  766. }
  767. req = c.newRequest(op, input, output)
  768. output = &CreateGroupOutput{}
  769. req.Data = output
  770. return
  771. }
  772. // CreateGroup API operation for AWS Identity and Access Management.
  773. //
  774. // Creates a new group.
  775. //
  776. // For information about the number of groups you can create, see Limitations
  777. // on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
  778. // in the IAM User Guide.
  779. //
  780. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  781. // with awserr.Error's Code and Message methods to get detailed information about
  782. // the error.
  783. //
  784. // See the AWS API reference guide for AWS Identity and Access Management's
  785. // API operation CreateGroup for usage and error information.
  786. //
  787. // Returned Error Codes:
  788. // * LimitExceeded
  789. // The request was rejected because it attempted to create resources beyond
  790. // the current AWS account limits. The error message describes the limit exceeded.
  791. //
  792. // * EntityAlreadyExists
  793. // The request was rejected because it attempted to create a resource that already
  794. // exists.
  795. //
  796. // * NoSuchEntity
  797. // The request was rejected because it referenced an entity that does not exist.
  798. // The error message describes the entity.
  799. //
  800. // * ServiceFailure
  801. // The request processing has failed because of an unknown error, exception
  802. // or failure.
  803. //
  804. func (c *IAM) CreateGroup(input *CreateGroupInput) (*CreateGroupOutput, error) {
  805. req, out := c.CreateGroupRequest(input)
  806. err := req.Send()
  807. return out, err
  808. }
  809. const opCreateInstanceProfile = "CreateInstanceProfile"
  810. // CreateInstanceProfileRequest generates a "aws/request.Request" representing the
  811. // client's request for the CreateInstanceProfile operation. The "output" return
  812. // value can be used to capture response data after the request's "Send" method
  813. // is called.
  814. //
  815. // See CreateInstanceProfile for usage and error information.
  816. //
  817. // Creating a request object using this method should be used when you want to inject
  818. // custom logic into the request's lifecycle using a custom handler, or if you want to
  819. // access properties on the request object before or after sending the request. If
  820. // you just want the service response, call the CreateInstanceProfile method directly
  821. // instead.
  822. //
  823. // Note: You must call the "Send" method on the returned request object in order
  824. // to execute the request.
  825. //
  826. // // Example sending a request using the CreateInstanceProfileRequest method.
  827. // req, resp := client.CreateInstanceProfileRequest(params)
  828. //
  829. // err := req.Send()
  830. // if err == nil { // resp is now filled
  831. // fmt.Println(resp)
  832. // }
  833. //
  834. func (c *IAM) CreateInstanceProfileRequest(input *CreateInstanceProfileInput) (req *request.Request, output *CreateInstanceProfileOutput) {
  835. op := &request.Operation{
  836. Name: opCreateInstanceProfile,
  837. HTTPMethod: "POST",
  838. HTTPPath: "/",
  839. }
  840. if input == nil {
  841. input = &CreateInstanceProfileInput{}
  842. }
  843. req = c.newRequest(op, input, output)
  844. output = &CreateInstanceProfileOutput{}
  845. req.Data = output
  846. return
  847. }
  848. // CreateInstanceProfile API operation for AWS Identity and Access Management.
  849. //
  850. // Creates a new instance profile. For information about instance profiles,
  851. // go to About Instance Profiles (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html).
  852. //
  853. // For information about the number of instance profiles you can create, see
  854. // Limitations on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
  855. // in the IAM User Guide.
  856. //
  857. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  858. // with awserr.Error's Code and Message methods to get detailed information about
  859. // the error.
  860. //
  861. // See the AWS API reference guide for AWS Identity and Access Management's
  862. // API operation CreateInstanceProfile for usage and error information.
  863. //
  864. // Returned Error Codes:
  865. // * EntityAlreadyExists
  866. // The request was rejected because it attempted to create a resource that already
  867. // exists.
  868. //
  869. // * LimitExceeded
  870. // The request was rejected because it attempted to create resources beyond
  871. // the current AWS account limits. The error message describes the limit exceeded.
  872. //
  873. // * ServiceFailure
  874. // The request processing has failed because of an unknown error, exception
  875. // or failure.
  876. //
  877. func (c *IAM) CreateInstanceProfile(input *CreateInstanceProfileInput) (*CreateInstanceProfileOutput, error) {
  878. req, out := c.CreateInstanceProfileRequest(input)
  879. err := req.Send()
  880. return out, err
  881. }
  882. const opCreateLoginProfile = "CreateLoginProfile"
  883. // CreateLoginProfileRequest generates a "aws/request.Request" representing the
  884. // client's request for the CreateLoginProfile operation. The "output" return
  885. // value can be used to capture response data after the request's "Send" method
  886. // is called.
  887. //
  888. // See CreateLoginProfile for usage and error information.
  889. //
  890. // Creating a request object using this method should be used when you want to inject
  891. // custom logic into the request's lifecycle using a custom handler, or if you want to
  892. // access properties on the request object before or after sending the request. If
  893. // you just want the service response, call the CreateLoginProfile method directly
  894. // instead.
  895. //
  896. // Note: You must call the "Send" method on the returned request object in order
  897. // to execute the request.
  898. //
  899. // // Example sending a request using the CreateLoginProfileRequest method.
  900. // req, resp := client.CreateLoginProfileRequest(params)
  901. //
  902. // err := req.Send()
  903. // if err == nil { // resp is now filled
  904. // fmt.Println(resp)
  905. // }
  906. //
  907. func (c *IAM) CreateLoginProfileRequest(input *CreateLoginProfileInput) (req *request.Request, output *CreateLoginProfileOutput) {
  908. op := &request.Operation{
  909. Name: opCreateLoginProfile,
  910. HTTPMethod: "POST",
  911. HTTPPath: "/",
  912. }
  913. if input == nil {
  914. input = &CreateLoginProfileInput{}
  915. }
  916. req = c.newRequest(op, input, output)
  917. output = &CreateLoginProfileOutput{}
  918. req.Data = output
  919. return
  920. }
  921. // CreateLoginProfile API operation for AWS Identity and Access Management.
  922. //
  923. // Creates a password for the specified user, giving the user the ability to
  924. // access AWS services through the AWS Management Console. For more information
  925. // about managing passwords, see Managing Passwords (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingLogins.html)
  926. // in the IAM User Guide.
  927. //
  928. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  929. // with awserr.Error's Code and Message methods to get detailed information about
  930. // the error.
  931. //
  932. // See the AWS API reference guide for AWS Identity and Access Management's
  933. // API operation CreateLoginProfile for usage and error information.
  934. //
  935. // Returned Error Codes:
  936. // * EntityAlreadyExists
  937. // The request was rejected because it attempted to create a resource that already
  938. // exists.
  939. //
  940. // * NoSuchEntity
  941. // The request was rejected because it referenced an entity that does not exist.
  942. // The error message describes the entity.
  943. //
  944. // * PasswordPolicyViolation
  945. // The request was rejected because the provided password did not meet the requirements
  946. // imposed by the account password policy.
  947. //
  948. // * LimitExceeded
  949. // The request was rejected because it attempted to create resources beyond
  950. // the current AWS account limits. The error message describes the limit exceeded.
  951. //
  952. // * ServiceFailure
  953. // The request processing has failed because of an unknown error, exception
  954. // or failure.
  955. //
  956. func (c *IAM) CreateLoginProfile(input *CreateLoginProfileInput) (*CreateLoginProfileOutput, error) {
  957. req, out := c.CreateLoginProfileRequest(input)
  958. err := req.Send()
  959. return out, err
  960. }
  961. const opCreateOpenIDConnectProvider = "CreateOpenIDConnectProvider"
  962. // CreateOpenIDConnectProviderRequest generates a "aws/request.Request" representing the
  963. // client's request for the CreateOpenIDConnectProvider operation. The "output" return
  964. // value can be used to capture response data after the request's "Send" method
  965. // is called.
  966. //
  967. // See CreateOpenIDConnectProvider for usage and error information.
  968. //
  969. // Creating a request object using this method should be used when you want to inject
  970. // custom logic into the request's lifecycle using a custom handler, or if you want to
  971. // access properties on the request object before or after sending the request. If
  972. // you just want the service response, call the CreateOpenIDConnectProvider method directly
  973. // instead.
  974. //
  975. // Note: You must call the "Send" method on the returned request object in order
  976. // to execute the request.
  977. //
  978. // // Example sending a request using the CreateOpenIDConnectProviderRequest method.
  979. // req, resp := client.CreateOpenIDConnectProviderRequest(params)
  980. //
  981. // err := req.Send()
  982. // if err == nil { // resp is now filled
  983. // fmt.Println(resp)
  984. // }
  985. //
  986. func (c *IAM) CreateOpenIDConnectProviderRequest(input *CreateOpenIDConnectProviderInput) (req *request.Request, output *CreateOpenIDConnectProviderOutput) {
  987. op := &request.Operation{
  988. Name: opCreateOpenIDConnectProvider,
  989. HTTPMethod: "POST",
  990. HTTPPath: "/",
  991. }
  992. if input == nil {
  993. input = &CreateOpenIDConnectProviderInput{}
  994. }
  995. req = c.newRequest(op, input, output)
  996. output = &CreateOpenIDConnectProviderOutput{}
  997. req.Data = output
  998. return
  999. }
  1000. // CreateOpenIDConnectProvider API operation for AWS Identity and Access Management.
  1001. //
  1002. // Creates an IAM entity to describe an identity provider (IdP) that supports
  1003. // OpenID Connect (OIDC) (http://openid.net/connect/).
  1004. //
  1005. // The OIDC provider that you create with this operation can be used as a principal
  1006. // in a role's trust policy to establish a trust relationship between AWS and
  1007. // the OIDC provider.
  1008. //
  1009. // When you create the IAM OIDC provider, you specify the URL of the OIDC identity
  1010. // provider (IdP) to trust, a list of client IDs (also known as audiences) that
  1011. // identify the application or applications that are allowed to authenticate
  1012. // using the OIDC provider, and a list of thumbprints of the server certificate(s)
  1013. // that the IdP uses. You get all of this information from the OIDC IdP that
  1014. // you want to use for access to AWS.
  1015. //
  1016. // Because trust for the OIDC provider is ultimately derived from the IAM provider
  1017. // that this action creates, it is a best practice to limit access to the CreateOpenIDConnectProvider
  1018. // action to highly-privileged users.
  1019. //
  1020. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1021. // with awserr.Error's Code and Message methods to get detailed information about
  1022. // the error.
  1023. //
  1024. // See the AWS API reference guide for AWS Identity and Access Management's
  1025. // API operation CreateOpenIDConnectProvider for usage and error information.
  1026. //
  1027. // Returned Error Codes:
  1028. // * InvalidInput
  1029. // The request was rejected because an invalid or out-of-range value was supplied
  1030. // for an input parameter.
  1031. //
  1032. // * EntityAlreadyExists
  1033. // The request was rejected because it attempted to create a resource that already
  1034. // exists.
  1035. //
  1036. // * LimitExceeded
  1037. // The request was rejected because it attempted to create resources beyond
  1038. // the current AWS account limits. The error message describes the limit exceeded.
  1039. //
  1040. // * ServiceFailure
  1041. // The request processing has failed because of an unknown error, exception
  1042. // or failure.
  1043. //
  1044. func (c *IAM) CreateOpenIDConnectProvider(input *CreateOpenIDConnectProviderInput) (*CreateOpenIDConnectProviderOutput, error) {
  1045. req, out := c.CreateOpenIDConnectProviderRequest(input)
  1046. err := req.Send()
  1047. return out, err
  1048. }
  1049. const opCreatePolicy = "CreatePolicy"
  1050. // CreatePolicyRequest generates a "aws/request.Request" representing the
  1051. // client's request for the CreatePolicy operation. The "output" return
  1052. // value can be used to capture response data after the request's "Send" method
  1053. // is called.
  1054. //
  1055. // See CreatePolicy for usage and error information.
  1056. //
  1057. // Creating a request object using this method should be used when you want to inject
  1058. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1059. // access properties on the request object before or after sending the request. If
  1060. // you just want the service response, call the CreatePolicy method directly
  1061. // instead.
  1062. //
  1063. // Note: You must call the "Send" method on the returned request object in order
  1064. // to execute the request.
  1065. //
  1066. // // Example sending a request using the CreatePolicyRequest method.
  1067. // req, resp := client.CreatePolicyRequest(params)
  1068. //
  1069. // err := req.Send()
  1070. // if err == nil { // resp is now filled
  1071. // fmt.Println(resp)
  1072. // }
  1073. //
  1074. func (c *IAM) CreatePolicyRequest(input *CreatePolicyInput) (req *request.Request, output *CreatePolicyOutput) {
  1075. op := &request.Operation{
  1076. Name: opCreatePolicy,
  1077. HTTPMethod: "POST",
  1078. HTTPPath: "/",
  1079. }
  1080. if input == nil {
  1081. input = &CreatePolicyInput{}
  1082. }
  1083. req = c.newRequest(op, input, output)
  1084. output = &CreatePolicyOutput{}
  1085. req.Data = output
  1086. return
  1087. }
  1088. // CreatePolicy API operation for AWS Identity and Access Management.
  1089. //
  1090. // Creates a new managed policy for your AWS account.
  1091. //
  1092. // This operation creates a policy version with a version identifier of v1 and
  1093. // sets v1 as the policy's default version. For more information about policy
  1094. // versions, see Versioning for Managed Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
  1095. // in the IAM User Guide.
  1096. //
  1097. // For more information about managed policies in general, see Managed Policies
  1098. // and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  1099. // in the IAM User Guide.
  1100. //
  1101. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1102. // with awserr.Error's Code and Message methods to get detailed information about
  1103. // the error.
  1104. //
  1105. // See the AWS API reference guide for AWS Identity and Access Management's
  1106. // API operation CreatePolicy for usage and error information.
  1107. //
  1108. // Returned Error Codes:
  1109. // * InvalidInput
  1110. // The request was rejected because an invalid or out-of-range value was supplied
  1111. // for an input parameter.
  1112. //
  1113. // * LimitExceeded
  1114. // The request was rejected because it attempted to create resources beyond
  1115. // the current AWS account limits. The error message describes the limit exceeded.
  1116. //
  1117. // * EntityAlreadyExists
  1118. // The request was rejected because it attempted to create a resource that already
  1119. // exists.
  1120. //
  1121. // * MalformedPolicyDocument
  1122. // The request was rejected because the policy document was malformed. The error
  1123. // message describes the specific error.
  1124. //
  1125. // * ServiceFailure
  1126. // The request processing has failed because of an unknown error, exception
  1127. // or failure.
  1128. //
  1129. func (c *IAM) CreatePolicy(input *CreatePolicyInput) (*CreatePolicyOutput, error) {
  1130. req, out := c.CreatePolicyRequest(input)
  1131. err := req.Send()
  1132. return out, err
  1133. }
  1134. const opCreatePolicyVersion = "CreatePolicyVersion"
  1135. // CreatePolicyVersionRequest generates a "aws/request.Request" representing the
  1136. // client's request for the CreatePolicyVersion operation. The "output" return
  1137. // value can be used to capture response data after the request's "Send" method
  1138. // is called.
  1139. //
  1140. // See CreatePolicyVersion for usage and error information.
  1141. //
  1142. // Creating a request object using this method should be used when you want to inject
  1143. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1144. // access properties on the request object before or after sending the request. If
  1145. // you just want the service response, call the CreatePolicyVersion method directly
  1146. // instead.
  1147. //
  1148. // Note: You must call the "Send" method on the returned request object in order
  1149. // to execute the request.
  1150. //
  1151. // // Example sending a request using the CreatePolicyVersionRequest method.
  1152. // req, resp := client.CreatePolicyVersionRequest(params)
  1153. //
  1154. // err := req.Send()
  1155. // if err == nil { // resp is now filled
  1156. // fmt.Println(resp)
  1157. // }
  1158. //
  1159. func (c *IAM) CreatePolicyVersionRequest(input *CreatePolicyVersionInput) (req *request.Request, output *CreatePolicyVersionOutput) {
  1160. op := &request.Operation{
  1161. Name: opCreatePolicyVersion,
  1162. HTTPMethod: "POST",
  1163. HTTPPath: "/",
  1164. }
  1165. if input == nil {
  1166. input = &CreatePolicyVersionInput{}
  1167. }
  1168. req = c.newRequest(op, input, output)
  1169. output = &CreatePolicyVersionOutput{}
  1170. req.Data = output
  1171. return
  1172. }
  1173. // CreatePolicyVersion API operation for AWS Identity and Access Management.
  1174. //
  1175. // Creates a new version of the specified managed policy. To update a managed
  1176. // policy, you create a new policy version. A managed policy can have up to
  1177. // five versions. If the policy has five versions, you must delete an existing
  1178. // version using DeletePolicyVersion before you create a new version.
  1179. //
  1180. // Optionally, you can set the new version as the policy's default version.
  1181. // The default version is the version that is in effect for the IAM users, groups,
  1182. // and roles to which the policy is attached.
  1183. //
  1184. // For more information about managed policy versions, see Versioning for Managed
  1185. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
  1186. // in the IAM User Guide.
  1187. //
  1188. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1189. // with awserr.Error's Code and Message methods to get detailed information about
  1190. // the error.
  1191. //
  1192. // See the AWS API reference guide for AWS Identity and Access Management's
  1193. // API operation CreatePolicyVersion for usage and error information.
  1194. //
  1195. // Returned Error Codes:
  1196. // * NoSuchEntity
  1197. // The request was rejected because it referenced an entity that does not exist.
  1198. // The error message describes the entity.
  1199. //
  1200. // * MalformedPolicyDocument
  1201. // The request was rejected because the policy document was malformed. The error
  1202. // message describes the specific error.
  1203. //
  1204. // * InvalidInput
  1205. // The request was rejected because an invalid or out-of-range value was supplied
  1206. // for an input parameter.
  1207. //
  1208. // * LimitExceeded
  1209. // The request was rejected because it attempted to create resources beyond
  1210. // the current AWS account limits. The error message describes the limit exceeded.
  1211. //
  1212. // * ServiceFailure
  1213. // The request processing has failed because of an unknown error, exception
  1214. // or failure.
  1215. //
  1216. func (c *IAM) CreatePolicyVersion(input *CreatePolicyVersionInput) (*CreatePolicyVersionOutput, error) {
  1217. req, out := c.CreatePolicyVersionRequest(input)
  1218. err := req.Send()
  1219. return out, err
  1220. }
  1221. const opCreateRole = "CreateRole"
  1222. // CreateRoleRequest generates a "aws/request.Request" representing the
  1223. // client's request for the CreateRole operation. The "output" return
  1224. // value can be used to capture response data after the request's "Send" method
  1225. // is called.
  1226. //
  1227. // See CreateRole for usage and error information.
  1228. //
  1229. // Creating a request object using this method should be used when you want to inject
  1230. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1231. // access properties on the request object before or after sending the request. If
  1232. // you just want the service response, call the CreateRole method directly
  1233. // instead.
  1234. //
  1235. // Note: You must call the "Send" method on the returned request object in order
  1236. // to execute the request.
  1237. //
  1238. // // Example sending a request using the CreateRoleRequest method.
  1239. // req, resp := client.CreateRoleRequest(params)
  1240. //
  1241. // err := req.Send()
  1242. // if err == nil { // resp is now filled
  1243. // fmt.Println(resp)
  1244. // }
  1245. //
  1246. func (c *IAM) CreateRoleRequest(input *CreateRoleInput) (req *request.Request, output *CreateRoleOutput) {
  1247. op := &request.Operation{
  1248. Name: opCreateRole,
  1249. HTTPMethod: "POST",
  1250. HTTPPath: "/",
  1251. }
  1252. if input == nil {
  1253. input = &CreateRoleInput{}
  1254. }
  1255. req = c.newRequest(op, input, output)
  1256. output = &CreateRoleOutput{}
  1257. req.Data = output
  1258. return
  1259. }
  1260. // CreateRole API operation for AWS Identity and Access Management.
  1261. //
  1262. // Creates a new role for your AWS account. For more information about roles,
  1263. // go to Working with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html).
  1264. // For information about limitations on role names and the number of roles you
  1265. // can create, go to Limitations on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
  1266. // in the IAM User Guide.
  1267. //
  1268. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1269. // with awserr.Error's Code and Message methods to get detailed information about
  1270. // the error.
  1271. //
  1272. // See the AWS API reference guide for AWS Identity and Access Management's
  1273. // API operation CreateRole for usage and error information.
  1274. //
  1275. // Returned Error Codes:
  1276. // * LimitExceeded
  1277. // The request was rejected because it attempted to create resources beyond
  1278. // the current AWS account limits. The error message describes the limit exceeded.
  1279. //
  1280. // * EntityAlreadyExists
  1281. // The request was rejected because it attempted to create a resource that already
  1282. // exists.
  1283. //
  1284. // * MalformedPolicyDocument
  1285. // The request was rejected because the policy document was malformed. The error
  1286. // message describes the specific error.
  1287. //
  1288. // * ServiceFailure
  1289. // The request processing has failed because of an unknown error, exception
  1290. // or failure.
  1291. //
  1292. func (c *IAM) CreateRole(input *CreateRoleInput) (*CreateRoleOutput, error) {
  1293. req, out := c.CreateRoleRequest(input)
  1294. err := req.Send()
  1295. return out, err
  1296. }
  1297. const opCreateSAMLProvider = "CreateSAMLProvider"
  1298. // CreateSAMLProviderRequest generates a "aws/request.Request" representing the
  1299. // client's request for the CreateSAMLProvider operation. The "output" return
  1300. // value can be used to capture response data after the request's "Send" method
  1301. // is called.
  1302. //
  1303. // See CreateSAMLProvider for usage and error information.
  1304. //
  1305. // Creating a request object using this method should be used when you want to inject
  1306. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1307. // access properties on the request object before or after sending the request. If
  1308. // you just want the service response, call the CreateSAMLProvider method directly
  1309. // instead.
  1310. //
  1311. // Note: You must call the "Send" method on the returned request object in order
  1312. // to execute the request.
  1313. //
  1314. // // Example sending a request using the CreateSAMLProviderRequest method.
  1315. // req, resp := client.CreateSAMLProviderRequest(params)
  1316. //
  1317. // err := req.Send()
  1318. // if err == nil { // resp is now filled
  1319. // fmt.Println(resp)
  1320. // }
  1321. //
  1322. func (c *IAM) CreateSAMLProviderRequest(input *CreateSAMLProviderInput) (req *request.Request, output *CreateSAMLProviderOutput) {
  1323. op := &request.Operation{
  1324. Name: opCreateSAMLProvider,
  1325. HTTPMethod: "POST",
  1326. HTTPPath: "/",
  1327. }
  1328. if input == nil {
  1329. input = &CreateSAMLProviderInput{}
  1330. }
  1331. req = c.newRequest(op, input, output)
  1332. output = &CreateSAMLProviderOutput{}
  1333. req.Data = output
  1334. return
  1335. }
  1336. // CreateSAMLProvider API operation for AWS Identity and Access Management.
  1337. //
  1338. // Creates an IAM resource that describes an identity provider (IdP) that supports
  1339. // SAML 2.0.
  1340. //
  1341. // The SAML provider resource that you create with this operation can be used
  1342. // as a principal in an IAM role's trust policy to enable federated users who
  1343. // sign-in using the SAML IdP to assume the role. You can create an IAM role
  1344. // that supports Web-based single sign-on (SSO) to the AWS Management Console
  1345. // or one that supports API access to AWS.
  1346. //
  1347. // When you create the SAML provider resource, you upload an a SAML metadata
  1348. // document that you get from your IdP and that includes the issuer's name,
  1349. // expiration information, and keys that can be used to validate the SAML authentication
  1350. // response (assertions) that the IdP sends. You must generate the metadata
  1351. // document using the identity management software that is used as your organization's
  1352. // IdP.
  1353. //
  1354. // This operation requires Signature Version 4 (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
  1355. //
  1356. // For more information, see Enabling SAML 2.0 Federated Users to Access the
  1357. // AWS Management Console (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-saml.html)
  1358. // and About SAML 2.0-based Federation (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml.html)
  1359. // in the IAM User Guide.
  1360. //
  1361. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1362. // with awserr.Error's Code and Message methods to get detailed information about
  1363. // the error.
  1364. //
  1365. // See the AWS API reference guide for AWS Identity and Access Management's
  1366. // API operation CreateSAMLProvider for usage and error information.
  1367. //
  1368. // Returned Error Codes:
  1369. // * InvalidInput
  1370. // The request was rejected because an invalid or out-of-range value was supplied
  1371. // for an input parameter.
  1372. //
  1373. // * EntityAlreadyExists
  1374. // The request was rejected because it attempted to create a resource that already
  1375. // exists.
  1376. //
  1377. // * LimitExceeded
  1378. // The request was rejected because it attempted to create resources beyond
  1379. // the current AWS account limits. The error message describes the limit exceeded.
  1380. //
  1381. // * ServiceFailure
  1382. // The request processing has failed because of an unknown error, exception
  1383. // or failure.
  1384. //
  1385. func (c *IAM) CreateSAMLProvider(input *CreateSAMLProviderInput) (*CreateSAMLProviderOutput, error) {
  1386. req, out := c.CreateSAMLProviderRequest(input)
  1387. err := req.Send()
  1388. return out, err
  1389. }
  1390. const opCreateUser = "CreateUser"
  1391. // CreateUserRequest generates a "aws/request.Request" representing the
  1392. // client's request for the CreateUser operation. The "output" return
  1393. // value can be used to capture response data after the request's "Send" method
  1394. // is called.
  1395. //
  1396. // See CreateUser for usage and error information.
  1397. //
  1398. // Creating a request object using this method should be used when you want to inject
  1399. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1400. // access properties on the request object before or after sending the request. If
  1401. // you just want the service response, call the CreateUser method directly
  1402. // instead.
  1403. //
  1404. // Note: You must call the "Send" method on the returned request object in order
  1405. // to execute the request.
  1406. //
  1407. // // Example sending a request using the CreateUserRequest method.
  1408. // req, resp := client.CreateUserRequest(params)
  1409. //
  1410. // err := req.Send()
  1411. // if err == nil { // resp is now filled
  1412. // fmt.Println(resp)
  1413. // }
  1414. //
  1415. func (c *IAM) CreateUserRequest(input *CreateUserInput) (req *request.Request, output *CreateUserOutput) {
  1416. op := &request.Operation{
  1417. Name: opCreateUser,
  1418. HTTPMethod: "POST",
  1419. HTTPPath: "/",
  1420. }
  1421. if input == nil {
  1422. input = &CreateUserInput{}
  1423. }
  1424. req = c.newRequest(op, input, output)
  1425. output = &CreateUserOutput{}
  1426. req.Data = output
  1427. return
  1428. }
  1429. // CreateUser API operation for AWS Identity and Access Management.
  1430. //
  1431. // Creates a new IAM user for your AWS account.
  1432. //
  1433. // For information about limitations on the number of IAM users you can create,
  1434. // see Limitations on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
  1435. // in the IAM User Guide.
  1436. //
  1437. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1438. // with awserr.Error's Code and Message methods to get detailed information about
  1439. // the error.
  1440. //
  1441. // See the AWS API reference guide for AWS Identity and Access Management's
  1442. // API operation CreateUser for usage and error information.
  1443. //
  1444. // Returned Error Codes:
  1445. // * LimitExceeded
  1446. // The request was rejected because it attempted to create resources beyond
  1447. // the current AWS account limits. The error message describes the limit exceeded.
  1448. //
  1449. // * EntityAlreadyExists
  1450. // The request was rejected because it attempted to create a resource that already
  1451. // exists.
  1452. //
  1453. // * NoSuchEntity
  1454. // The request was rejected because it referenced an entity that does not exist.
  1455. // The error message describes the entity.
  1456. //
  1457. // * ServiceFailure
  1458. // The request processing has failed because of an unknown error, exception
  1459. // or failure.
  1460. //
  1461. func (c *IAM) CreateUser(input *CreateUserInput) (*CreateUserOutput, error) {
  1462. req, out := c.CreateUserRequest(input)
  1463. err := req.Send()
  1464. return out, err
  1465. }
  1466. const opCreateVirtualMFADevice = "CreateVirtualMFADevice"
  1467. // CreateVirtualMFADeviceRequest generates a "aws/request.Request" representing the
  1468. // client's request for the CreateVirtualMFADevice operation. The "output" return
  1469. // value can be used to capture response data after the request's "Send" method
  1470. // is called.
  1471. //
  1472. // See CreateVirtualMFADevice for usage and error information.
  1473. //
  1474. // Creating a request object using this method should be used when you want to inject
  1475. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1476. // access properties on the request object before or after sending the request. If
  1477. // you just want the service response, call the CreateVirtualMFADevice method directly
  1478. // instead.
  1479. //
  1480. // Note: You must call the "Send" method on the returned request object in order
  1481. // to execute the request.
  1482. //
  1483. // // Example sending a request using the CreateVirtualMFADeviceRequest method.
  1484. // req, resp := client.CreateVirtualMFADeviceRequest(params)
  1485. //
  1486. // err := req.Send()
  1487. // if err == nil { // resp is now filled
  1488. // fmt.Println(resp)
  1489. // }
  1490. //
  1491. func (c *IAM) CreateVirtualMFADeviceRequest(input *CreateVirtualMFADeviceInput) (req *request.Request, output *CreateVirtualMFADeviceOutput) {
  1492. op := &request.Operation{
  1493. Name: opCreateVirtualMFADevice,
  1494. HTTPMethod: "POST",
  1495. HTTPPath: "/",
  1496. }
  1497. if input == nil {
  1498. input = &CreateVirtualMFADeviceInput{}
  1499. }
  1500. req = c.newRequest(op, input, output)
  1501. output = &CreateVirtualMFADeviceOutput{}
  1502. req.Data = output
  1503. return
  1504. }
  1505. // CreateVirtualMFADevice API operation for AWS Identity and Access Management.
  1506. //
  1507. // Creates a new virtual MFA device for the AWS account. After creating the
  1508. // virtual MFA, use EnableMFADevice to attach the MFA device to an IAM user.
  1509. // For more information about creating and working with virtual MFA devices,
  1510. // go to Using a Virtual MFA Device (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_VirtualMFA.html)
  1511. // in the IAM User Guide.
  1512. //
  1513. // For information about limits on the number of MFA devices you can create,
  1514. // see Limitations on Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
  1515. // in the IAM User Guide.
  1516. //
  1517. // The seed information contained in the QR code and the Base32 string should
  1518. // be treated like any other secret access information, such as your AWS access
  1519. // keys or your passwords. After you provision your virtual device, you should
  1520. // ensure that the information is destroyed following secure procedures.
  1521. //
  1522. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1523. // with awserr.Error's Code and Message methods to get detailed information about
  1524. // the error.
  1525. //
  1526. // See the AWS API reference guide for AWS Identity and Access Management's
  1527. // API operation CreateVirtualMFADevice for usage and error information.
  1528. //
  1529. // Returned Error Codes:
  1530. // * LimitExceeded
  1531. // The request was rejected because it attempted to create resources beyond
  1532. // the current AWS account limits. The error message describes the limit exceeded.
  1533. //
  1534. // * EntityAlreadyExists
  1535. // The request was rejected because it attempted to create a resource that already
  1536. // exists.
  1537. //
  1538. // * ServiceFailure
  1539. // The request processing has failed because of an unknown error, exception
  1540. // or failure.
  1541. //
  1542. func (c *IAM) CreateVirtualMFADevice(input *CreateVirtualMFADeviceInput) (*CreateVirtualMFADeviceOutput, error) {
  1543. req, out := c.CreateVirtualMFADeviceRequest(input)
  1544. err := req.Send()
  1545. return out, err
  1546. }
  1547. const opDeactivateMFADevice = "DeactivateMFADevice"
  1548. // DeactivateMFADeviceRequest generates a "aws/request.Request" representing the
  1549. // client's request for the DeactivateMFADevice operation. The "output" return
  1550. // value can be used to capture response data after the request's "Send" method
  1551. // is called.
  1552. //
  1553. // See DeactivateMFADevice for usage and error information.
  1554. //
  1555. // Creating a request object using this method should be used when you want to inject
  1556. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1557. // access properties on the request object before or after sending the request. If
  1558. // you just want the service response, call the DeactivateMFADevice method directly
  1559. // instead.
  1560. //
  1561. // Note: You must call the "Send" method on the returned request object in order
  1562. // to execute the request.
  1563. //
  1564. // // Example sending a request using the DeactivateMFADeviceRequest method.
  1565. // req, resp := client.DeactivateMFADeviceRequest(params)
  1566. //
  1567. // err := req.Send()
  1568. // if err == nil { // resp is now filled
  1569. // fmt.Println(resp)
  1570. // }
  1571. //
  1572. func (c *IAM) DeactivateMFADeviceRequest(input *DeactivateMFADeviceInput) (req *request.Request, output *DeactivateMFADeviceOutput) {
  1573. op := &request.Operation{
  1574. Name: opDeactivateMFADevice,
  1575. HTTPMethod: "POST",
  1576. HTTPPath: "/",
  1577. }
  1578. if input == nil {
  1579. input = &DeactivateMFADeviceInput{}
  1580. }
  1581. req = c.newRequest(op, input, output)
  1582. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  1583. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1584. output = &DeactivateMFADeviceOutput{}
  1585. req.Data = output
  1586. return
  1587. }
  1588. // DeactivateMFADevice API operation for AWS Identity and Access Management.
  1589. //
  1590. // Deactivates the specified MFA device and removes it from association with
  1591. // the user name for which it was originally enabled.
  1592. //
  1593. // For more information about creating and working with virtual MFA devices,
  1594. // go to Using a Virtual MFA Device (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_VirtualMFA.html)
  1595. // in the IAM User Guide.
  1596. //
  1597. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1598. // with awserr.Error's Code and Message methods to get detailed information about
  1599. // the error.
  1600. //
  1601. // See the AWS API reference guide for AWS Identity and Access Management's
  1602. // API operation DeactivateMFADevice for usage and error information.
  1603. //
  1604. // Returned Error Codes:
  1605. // * EntityTemporarilyUnmodifiable
  1606. // The request was rejected because it referenced an entity that is temporarily
  1607. // unmodifiable, such as a user name that was deleted and then recreated. The
  1608. // error indicates that the request is likely to succeed if you try again after
  1609. // waiting several minutes. The error message describes the entity.
  1610. //
  1611. // * NoSuchEntity
  1612. // The request was rejected because it referenced an entity that does not exist.
  1613. // The error message describes the entity.
  1614. //
  1615. // * LimitExceeded
  1616. // The request was rejected because it attempted to create resources beyond
  1617. // the current AWS account limits. The error message describes the limit exceeded.
  1618. //
  1619. // * ServiceFailure
  1620. // The request processing has failed because of an unknown error, exception
  1621. // or failure.
  1622. //
  1623. func (c *IAM) DeactivateMFADevice(input *DeactivateMFADeviceInput) (*DeactivateMFADeviceOutput, error) {
  1624. req, out := c.DeactivateMFADeviceRequest(input)
  1625. err := req.Send()
  1626. return out, err
  1627. }
  1628. const opDeleteAccessKey = "DeleteAccessKey"
  1629. // DeleteAccessKeyRequest generates a "aws/request.Request" representing the
  1630. // client's request for the DeleteAccessKey operation. The "output" return
  1631. // value can be used to capture response data after the request's "Send" method
  1632. // is called.
  1633. //
  1634. // See DeleteAccessKey for usage and error information.
  1635. //
  1636. // Creating a request object using this method should be used when you want to inject
  1637. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1638. // access properties on the request object before or after sending the request. If
  1639. // you just want the service response, call the DeleteAccessKey method directly
  1640. // instead.
  1641. //
  1642. // Note: You must call the "Send" method on the returned request object in order
  1643. // to execute the request.
  1644. //
  1645. // // Example sending a request using the DeleteAccessKeyRequest method.
  1646. // req, resp := client.DeleteAccessKeyRequest(params)
  1647. //
  1648. // err := req.Send()
  1649. // if err == nil { // resp is now filled
  1650. // fmt.Println(resp)
  1651. // }
  1652. //
  1653. func (c *IAM) DeleteAccessKeyRequest(input *DeleteAccessKeyInput) (req *request.Request, output *DeleteAccessKeyOutput) {
  1654. op := &request.Operation{
  1655. Name: opDeleteAccessKey,
  1656. HTTPMethod: "POST",
  1657. HTTPPath: "/",
  1658. }
  1659. if input == nil {
  1660. input = &DeleteAccessKeyInput{}
  1661. }
  1662. req = c.newRequest(op, input, output)
  1663. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  1664. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1665. output = &DeleteAccessKeyOutput{}
  1666. req.Data = output
  1667. return
  1668. }
  1669. // DeleteAccessKey API operation for AWS Identity and Access Management.
  1670. //
  1671. // Deletes the access key pair associated with the specified IAM user.
  1672. //
  1673. // If you do not specify a user name, IAM determines the user name implicitly
  1674. // based on the AWS access key ID signing the request. Because this action works
  1675. // for access keys under the AWS account, you can use this action to manage
  1676. // root credentials even if the AWS account has no associated users.
  1677. //
  1678. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1679. // with awserr.Error's Code and Message methods to get detailed information about
  1680. // the error.
  1681. //
  1682. // See the AWS API reference guide for AWS Identity and Access Management's
  1683. // API operation DeleteAccessKey for usage and error information.
  1684. //
  1685. // Returned Error Codes:
  1686. // * NoSuchEntity
  1687. // The request was rejected because it referenced an entity that does not exist.
  1688. // The error message describes the entity.
  1689. //
  1690. // * LimitExceeded
  1691. // The request was rejected because it attempted to create resources beyond
  1692. // the current AWS account limits. The error message describes the limit exceeded.
  1693. //
  1694. // * ServiceFailure
  1695. // The request processing has failed because of an unknown error, exception
  1696. // or failure.
  1697. //
  1698. func (c *IAM) DeleteAccessKey(input *DeleteAccessKeyInput) (*DeleteAccessKeyOutput, error) {
  1699. req, out := c.DeleteAccessKeyRequest(input)
  1700. err := req.Send()
  1701. return out, err
  1702. }
  1703. const opDeleteAccountAlias = "DeleteAccountAlias"
  1704. // DeleteAccountAliasRequest generates a "aws/request.Request" representing the
  1705. // client's request for the DeleteAccountAlias operation. The "output" return
  1706. // value can be used to capture response data after the request's "Send" method
  1707. // is called.
  1708. //
  1709. // See DeleteAccountAlias for usage and error information.
  1710. //
  1711. // Creating a request object using this method should be used when you want to inject
  1712. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1713. // access properties on the request object before or after sending the request. If
  1714. // you just want the service response, call the DeleteAccountAlias method directly
  1715. // instead.
  1716. //
  1717. // Note: You must call the "Send" method on the returned request object in order
  1718. // to execute the request.
  1719. //
  1720. // // Example sending a request using the DeleteAccountAliasRequest method.
  1721. // req, resp := client.DeleteAccountAliasRequest(params)
  1722. //
  1723. // err := req.Send()
  1724. // if err == nil { // resp is now filled
  1725. // fmt.Println(resp)
  1726. // }
  1727. //
  1728. func (c *IAM) DeleteAccountAliasRequest(input *DeleteAccountAliasInput) (req *request.Request, output *DeleteAccountAliasOutput) {
  1729. op := &request.Operation{
  1730. Name: opDeleteAccountAlias,
  1731. HTTPMethod: "POST",
  1732. HTTPPath: "/",
  1733. }
  1734. if input == nil {
  1735. input = &DeleteAccountAliasInput{}
  1736. }
  1737. req = c.newRequest(op, input, output)
  1738. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  1739. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1740. output = &DeleteAccountAliasOutput{}
  1741. req.Data = output
  1742. return
  1743. }
  1744. // DeleteAccountAlias API operation for AWS Identity and Access Management.
  1745. //
  1746. // Deletes the specified AWS account alias. For information about using an AWS
  1747. // account alias, see Using an Alias for Your AWS Account ID (http://docs.aws.amazon.com/IAM/latest/UserGuide/AccountAlias.html)
  1748. // in the IAM User Guide.
  1749. //
  1750. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1751. // with awserr.Error's Code and Message methods to get detailed information about
  1752. // the error.
  1753. //
  1754. // See the AWS API reference guide for AWS Identity and Access Management's
  1755. // API operation DeleteAccountAlias for usage and error information.
  1756. //
  1757. // Returned Error Codes:
  1758. // * NoSuchEntity
  1759. // The request was rejected because it referenced an entity that does not exist.
  1760. // The error message describes the entity.
  1761. //
  1762. // * LimitExceeded
  1763. // The request was rejected because it attempted to create resources beyond
  1764. // the current AWS account limits. The error message describes the limit exceeded.
  1765. //
  1766. // * ServiceFailure
  1767. // The request processing has failed because of an unknown error, exception
  1768. // or failure.
  1769. //
  1770. func (c *IAM) DeleteAccountAlias(input *DeleteAccountAliasInput) (*DeleteAccountAliasOutput, error) {
  1771. req, out := c.DeleteAccountAliasRequest(input)
  1772. err := req.Send()
  1773. return out, err
  1774. }
  1775. const opDeleteAccountPasswordPolicy = "DeleteAccountPasswordPolicy"
  1776. // DeleteAccountPasswordPolicyRequest generates a "aws/request.Request" representing the
  1777. // client's request for the DeleteAccountPasswordPolicy operation. The "output" return
  1778. // value can be used to capture response data after the request's "Send" method
  1779. // is called.
  1780. //
  1781. // See DeleteAccountPasswordPolicy for usage and error information.
  1782. //
  1783. // Creating a request object using this method should be used when you want to inject
  1784. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1785. // access properties on the request object before or after sending the request. If
  1786. // you just want the service response, call the DeleteAccountPasswordPolicy method directly
  1787. // instead.
  1788. //
  1789. // Note: You must call the "Send" method on the returned request object in order
  1790. // to execute the request.
  1791. //
  1792. // // Example sending a request using the DeleteAccountPasswordPolicyRequest method.
  1793. // req, resp := client.DeleteAccountPasswordPolicyRequest(params)
  1794. //
  1795. // err := req.Send()
  1796. // if err == nil { // resp is now filled
  1797. // fmt.Println(resp)
  1798. // }
  1799. //
  1800. func (c *IAM) DeleteAccountPasswordPolicyRequest(input *DeleteAccountPasswordPolicyInput) (req *request.Request, output *DeleteAccountPasswordPolicyOutput) {
  1801. op := &request.Operation{
  1802. Name: opDeleteAccountPasswordPolicy,
  1803. HTTPMethod: "POST",
  1804. HTTPPath: "/",
  1805. }
  1806. if input == nil {
  1807. input = &DeleteAccountPasswordPolicyInput{}
  1808. }
  1809. req = c.newRequest(op, input, output)
  1810. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  1811. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1812. output = &DeleteAccountPasswordPolicyOutput{}
  1813. req.Data = output
  1814. return
  1815. }
  1816. // DeleteAccountPasswordPolicy API operation for AWS Identity and Access Management.
  1817. //
  1818. // Deletes the password policy for the AWS account. There are no parameters.
  1819. //
  1820. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1821. // with awserr.Error's Code and Message methods to get detailed information about
  1822. // the error.
  1823. //
  1824. // See the AWS API reference guide for AWS Identity and Access Management's
  1825. // API operation DeleteAccountPasswordPolicy for usage and error information.
  1826. //
  1827. // Returned Error Codes:
  1828. // * NoSuchEntity
  1829. // The request was rejected because it referenced an entity that does not exist.
  1830. // The error message describes the entity.
  1831. //
  1832. // * LimitExceeded
  1833. // The request was rejected because it attempted to create resources beyond
  1834. // the current AWS account limits. The error message describes the limit exceeded.
  1835. //
  1836. // * ServiceFailure
  1837. // The request processing has failed because of an unknown error, exception
  1838. // or failure.
  1839. //
  1840. func (c *IAM) DeleteAccountPasswordPolicy(input *DeleteAccountPasswordPolicyInput) (*DeleteAccountPasswordPolicyOutput, error) {
  1841. req, out := c.DeleteAccountPasswordPolicyRequest(input)
  1842. err := req.Send()
  1843. return out, err
  1844. }
  1845. const opDeleteGroup = "DeleteGroup"
  1846. // DeleteGroupRequest generates a "aws/request.Request" representing the
  1847. // client's request for the DeleteGroup operation. The "output" return
  1848. // value can be used to capture response data after the request's "Send" method
  1849. // is called.
  1850. //
  1851. // See DeleteGroup for usage and error information.
  1852. //
  1853. // Creating a request object using this method should be used when you want to inject
  1854. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1855. // access properties on the request object before or after sending the request. If
  1856. // you just want the service response, call the DeleteGroup method directly
  1857. // instead.
  1858. //
  1859. // Note: You must call the "Send" method on the returned request object in order
  1860. // to execute the request.
  1861. //
  1862. // // Example sending a request using the DeleteGroupRequest method.
  1863. // req, resp := client.DeleteGroupRequest(params)
  1864. //
  1865. // err := req.Send()
  1866. // if err == nil { // resp is now filled
  1867. // fmt.Println(resp)
  1868. // }
  1869. //
  1870. func (c *IAM) DeleteGroupRequest(input *DeleteGroupInput) (req *request.Request, output *DeleteGroupOutput) {
  1871. op := &request.Operation{
  1872. Name: opDeleteGroup,
  1873. HTTPMethod: "POST",
  1874. HTTPPath: "/",
  1875. }
  1876. if input == nil {
  1877. input = &DeleteGroupInput{}
  1878. }
  1879. req = c.newRequest(op, input, output)
  1880. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  1881. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1882. output = &DeleteGroupOutput{}
  1883. req.Data = output
  1884. return
  1885. }
  1886. // DeleteGroup API operation for AWS Identity and Access Management.
  1887. //
  1888. // Deletes the specified IAM group. The group must not contain any users or
  1889. // have any attached policies.
  1890. //
  1891. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1892. // with awserr.Error's Code and Message methods to get detailed information about
  1893. // the error.
  1894. //
  1895. // See the AWS API reference guide for AWS Identity and Access Management's
  1896. // API operation DeleteGroup for usage and error information.
  1897. //
  1898. // Returned Error Codes:
  1899. // * NoSuchEntity
  1900. // The request was rejected because it referenced an entity that does not exist.
  1901. // The error message describes the entity.
  1902. //
  1903. // * DeleteConflict
  1904. // The request was rejected because it attempted to delete a resource that has
  1905. // attached subordinate entities. The error message describes these entities.
  1906. //
  1907. // * LimitExceeded
  1908. // The request was rejected because it attempted to create resources beyond
  1909. // the current AWS account limits. The error message describes the limit exceeded.
  1910. //
  1911. // * ServiceFailure
  1912. // The request processing has failed because of an unknown error, exception
  1913. // or failure.
  1914. //
  1915. func (c *IAM) DeleteGroup(input *DeleteGroupInput) (*DeleteGroupOutput, error) {
  1916. req, out := c.DeleteGroupRequest(input)
  1917. err := req.Send()
  1918. return out, err
  1919. }
  1920. const opDeleteGroupPolicy = "DeleteGroupPolicy"
  1921. // DeleteGroupPolicyRequest generates a "aws/request.Request" representing the
  1922. // client's request for the DeleteGroupPolicy operation. The "output" return
  1923. // value can be used to capture response data after the request's "Send" method
  1924. // is called.
  1925. //
  1926. // See DeleteGroupPolicy for usage and error information.
  1927. //
  1928. // Creating a request object using this method should be used when you want to inject
  1929. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1930. // access properties on the request object before or after sending the request. If
  1931. // you just want the service response, call the DeleteGroupPolicy method directly
  1932. // instead.
  1933. //
  1934. // Note: You must call the "Send" method on the returned request object in order
  1935. // to execute the request.
  1936. //
  1937. // // Example sending a request using the DeleteGroupPolicyRequest method.
  1938. // req, resp := client.DeleteGroupPolicyRequest(params)
  1939. //
  1940. // err := req.Send()
  1941. // if err == nil { // resp is now filled
  1942. // fmt.Println(resp)
  1943. // }
  1944. //
  1945. func (c *IAM) DeleteGroupPolicyRequest(input *DeleteGroupPolicyInput) (req *request.Request, output *DeleteGroupPolicyOutput) {
  1946. op := &request.Operation{
  1947. Name: opDeleteGroupPolicy,
  1948. HTTPMethod: "POST",
  1949. HTTPPath: "/",
  1950. }
  1951. if input == nil {
  1952. input = &DeleteGroupPolicyInput{}
  1953. }
  1954. req = c.newRequest(op, input, output)
  1955. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  1956. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1957. output = &DeleteGroupPolicyOutput{}
  1958. req.Data = output
  1959. return
  1960. }
  1961. // DeleteGroupPolicy API operation for AWS Identity and Access Management.
  1962. //
  1963. // Deletes the specified inline policy that is embedded in the specified IAM
  1964. // group.
  1965. //
  1966. // A group can also have managed policies attached to it. To detach a managed
  1967. // policy from a group, use DetachGroupPolicy. For more information about policies,
  1968. // refer to Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  1969. // in the IAM User Guide.
  1970. //
  1971. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1972. // with awserr.Error's Code and Message methods to get detailed information about
  1973. // the error.
  1974. //
  1975. // See the AWS API reference guide for AWS Identity and Access Management's
  1976. // API operation DeleteGroupPolicy for usage and error information.
  1977. //
  1978. // Returned Error Codes:
  1979. // * NoSuchEntity
  1980. // The request was rejected because it referenced an entity that does not exist.
  1981. // The error message describes the entity.
  1982. //
  1983. // * LimitExceeded
  1984. // The request was rejected because it attempted to create resources beyond
  1985. // the current AWS account limits. The error message describes the limit exceeded.
  1986. //
  1987. // * ServiceFailure
  1988. // The request processing has failed because of an unknown error, exception
  1989. // or failure.
  1990. //
  1991. func (c *IAM) DeleteGroupPolicy(input *DeleteGroupPolicyInput) (*DeleteGroupPolicyOutput, error) {
  1992. req, out := c.DeleteGroupPolicyRequest(input)
  1993. err := req.Send()
  1994. return out, err
  1995. }
  1996. const opDeleteInstanceProfile = "DeleteInstanceProfile"
  1997. // DeleteInstanceProfileRequest generates a "aws/request.Request" representing the
  1998. // client's request for the DeleteInstanceProfile operation. The "output" return
  1999. // value can be used to capture response data after the request's "Send" method
  2000. // is called.
  2001. //
  2002. // See DeleteInstanceProfile for usage and error information.
  2003. //
  2004. // Creating a request object using this method should be used when you want to inject
  2005. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2006. // access properties on the request object before or after sending the request. If
  2007. // you just want the service response, call the DeleteInstanceProfile method directly
  2008. // instead.
  2009. //
  2010. // Note: You must call the "Send" method on the returned request object in order
  2011. // to execute the request.
  2012. //
  2013. // // Example sending a request using the DeleteInstanceProfileRequest method.
  2014. // req, resp := client.DeleteInstanceProfileRequest(params)
  2015. //
  2016. // err := req.Send()
  2017. // if err == nil { // resp is now filled
  2018. // fmt.Println(resp)
  2019. // }
  2020. //
  2021. func (c *IAM) DeleteInstanceProfileRequest(input *DeleteInstanceProfileInput) (req *request.Request, output *DeleteInstanceProfileOutput) {
  2022. op := &request.Operation{
  2023. Name: opDeleteInstanceProfile,
  2024. HTTPMethod: "POST",
  2025. HTTPPath: "/",
  2026. }
  2027. if input == nil {
  2028. input = &DeleteInstanceProfileInput{}
  2029. }
  2030. req = c.newRequest(op, input, output)
  2031. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  2032. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  2033. output = &DeleteInstanceProfileOutput{}
  2034. req.Data = output
  2035. return
  2036. }
  2037. // DeleteInstanceProfile API operation for AWS Identity and Access Management.
  2038. //
  2039. // Deletes the specified instance profile. The instance profile must not have
  2040. // an associated role.
  2041. //
  2042. // Make sure you do not have any Amazon EC2 instances running with the instance
  2043. // profile you are about to delete. Deleting a role or instance profile that
  2044. // is associated with a running instance will break any applications running
  2045. // on the instance.
  2046. //
  2047. // For more information about instance profiles, go to About Instance Profiles
  2048. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html).
  2049. //
  2050. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2051. // with awserr.Error's Code and Message methods to get detailed information about
  2052. // the error.
  2053. //
  2054. // See the AWS API reference guide for AWS Identity and Access Management's
  2055. // API operation DeleteInstanceProfile for usage and error information.
  2056. //
  2057. // Returned Error Codes:
  2058. // * NoSuchEntity
  2059. // The request was rejected because it referenced an entity that does not exist.
  2060. // The error message describes the entity.
  2061. //
  2062. // * DeleteConflict
  2063. // The request was rejected because it attempted to delete a resource that has
  2064. // attached subordinate entities. The error message describes these entities.
  2065. //
  2066. // * LimitExceeded
  2067. // The request was rejected because it attempted to create resources beyond
  2068. // the current AWS account limits. The error message describes the limit exceeded.
  2069. //
  2070. // * ServiceFailure
  2071. // The request processing has failed because of an unknown error, exception
  2072. // or failure.
  2073. //
  2074. func (c *IAM) DeleteInstanceProfile(input *DeleteInstanceProfileInput) (*DeleteInstanceProfileOutput, error) {
  2075. req, out := c.DeleteInstanceProfileRequest(input)
  2076. err := req.Send()
  2077. return out, err
  2078. }
  2079. const opDeleteLoginProfile = "DeleteLoginProfile"
  2080. // DeleteLoginProfileRequest generates a "aws/request.Request" representing the
  2081. // client's request for the DeleteLoginProfile operation. The "output" return
  2082. // value can be used to capture response data after the request's "Send" method
  2083. // is called.
  2084. //
  2085. // See DeleteLoginProfile for usage and error information.
  2086. //
  2087. // Creating a request object using this method should be used when you want to inject
  2088. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2089. // access properties on the request object before or after sending the request. If
  2090. // you just want the service response, call the DeleteLoginProfile method directly
  2091. // instead.
  2092. //
  2093. // Note: You must call the "Send" method on the returned request object in order
  2094. // to execute the request.
  2095. //
  2096. // // Example sending a request using the DeleteLoginProfileRequest method.
  2097. // req, resp := client.DeleteLoginProfileRequest(params)
  2098. //
  2099. // err := req.Send()
  2100. // if err == nil { // resp is now filled
  2101. // fmt.Println(resp)
  2102. // }
  2103. //
  2104. func (c *IAM) DeleteLoginProfileRequest(input *DeleteLoginProfileInput) (req *request.Request, output *DeleteLoginProfileOutput) {
  2105. op := &request.Operation{
  2106. Name: opDeleteLoginProfile,
  2107. HTTPMethod: "POST",
  2108. HTTPPath: "/",
  2109. }
  2110. if input == nil {
  2111. input = &DeleteLoginProfileInput{}
  2112. }
  2113. req = c.newRequest(op, input, output)
  2114. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  2115. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  2116. output = &DeleteLoginProfileOutput{}
  2117. req.Data = output
  2118. return
  2119. }
  2120. // DeleteLoginProfile API operation for AWS Identity and Access Management.
  2121. //
  2122. // Deletes the password for the specified IAM user, which terminates the user's
  2123. // ability to access AWS services through the AWS Management Console.
  2124. //
  2125. // Deleting a user's password does not prevent a user from accessing AWS through
  2126. // the command line interface or the API. To prevent all user access you must
  2127. // also either make any access keys inactive or delete them. For more information
  2128. // about making keys inactive or deleting them, see UpdateAccessKey and DeleteAccessKey.
  2129. //
  2130. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2131. // with awserr.Error's Code and Message methods to get detailed information about
  2132. // the error.
  2133. //
  2134. // See the AWS API reference guide for AWS Identity and Access Management's
  2135. // API operation DeleteLoginProfile for usage and error information.
  2136. //
  2137. // Returned Error Codes:
  2138. // * EntityTemporarilyUnmodifiable
  2139. // The request was rejected because it referenced an entity that is temporarily
  2140. // unmodifiable, such as a user name that was deleted and then recreated. The
  2141. // error indicates that the request is likely to succeed if you try again after
  2142. // waiting several minutes. The error message describes the entity.
  2143. //
  2144. // * NoSuchEntity
  2145. // The request was rejected because it referenced an entity that does not exist.
  2146. // The error message describes the entity.
  2147. //
  2148. // * LimitExceeded
  2149. // The request was rejected because it attempted to create resources beyond
  2150. // the current AWS account limits. The error message describes the limit exceeded.
  2151. //
  2152. // * ServiceFailure
  2153. // The request processing has failed because of an unknown error, exception
  2154. // or failure.
  2155. //
  2156. func (c *IAM) DeleteLoginProfile(input *DeleteLoginProfileInput) (*DeleteLoginProfileOutput, error) {
  2157. req, out := c.DeleteLoginProfileRequest(input)
  2158. err := req.Send()
  2159. return out, err
  2160. }
  2161. const opDeleteOpenIDConnectProvider = "DeleteOpenIDConnectProvider"
  2162. // DeleteOpenIDConnectProviderRequest generates a "aws/request.Request" representing the
  2163. // client's request for the DeleteOpenIDConnectProvider operation. The "output" return
  2164. // value can be used to capture response data after the request's "Send" method
  2165. // is called.
  2166. //
  2167. // See DeleteOpenIDConnectProvider for usage and error information.
  2168. //
  2169. // Creating a request object using this method should be used when you want to inject
  2170. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2171. // access properties on the request object before or after sending the request. If
  2172. // you just want the service response, call the DeleteOpenIDConnectProvider method directly
  2173. // instead.
  2174. //
  2175. // Note: You must call the "Send" method on the returned request object in order
  2176. // to execute the request.
  2177. //
  2178. // // Example sending a request using the DeleteOpenIDConnectProviderRequest method.
  2179. // req, resp := client.DeleteOpenIDConnectProviderRequest(params)
  2180. //
  2181. // err := req.Send()
  2182. // if err == nil { // resp is now filled
  2183. // fmt.Println(resp)
  2184. // }
  2185. //
  2186. func (c *IAM) DeleteOpenIDConnectProviderRequest(input *DeleteOpenIDConnectProviderInput) (req *request.Request, output *DeleteOpenIDConnectProviderOutput) {
  2187. op := &request.Operation{
  2188. Name: opDeleteOpenIDConnectProvider,
  2189. HTTPMethod: "POST",
  2190. HTTPPath: "/",
  2191. }
  2192. if input == nil {
  2193. input = &DeleteOpenIDConnectProviderInput{}
  2194. }
  2195. req = c.newRequest(op, input, output)
  2196. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  2197. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  2198. output = &DeleteOpenIDConnectProviderOutput{}
  2199. req.Data = output
  2200. return
  2201. }
  2202. // DeleteOpenIDConnectProvider API operation for AWS Identity and Access Management.
  2203. //
  2204. // Deletes an OpenID Connect identity provider (IdP) resource object in IAM.
  2205. //
  2206. // Deleting an IAM OIDC provider resource does not update any roles that reference
  2207. // the provider as a principal in their trust policies. Any attempt to assume
  2208. // a role that references a deleted provider fails.
  2209. //
  2210. // This action is idempotent; it does not fail or return an error if you call
  2211. // the action for a provider that does not exist.
  2212. //
  2213. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2214. // with awserr.Error's Code and Message methods to get detailed information about
  2215. // the error.
  2216. //
  2217. // See the AWS API reference guide for AWS Identity and Access Management's
  2218. // API operation DeleteOpenIDConnectProvider for usage and error information.
  2219. //
  2220. // Returned Error Codes:
  2221. // * InvalidInput
  2222. // The request was rejected because an invalid or out-of-range value was supplied
  2223. // for an input parameter.
  2224. //
  2225. // * NoSuchEntity
  2226. // The request was rejected because it referenced an entity that does not exist.
  2227. // The error message describes the entity.
  2228. //
  2229. // * ServiceFailure
  2230. // The request processing has failed because of an unknown error, exception
  2231. // or failure.
  2232. //
  2233. func (c *IAM) DeleteOpenIDConnectProvider(input *DeleteOpenIDConnectProviderInput) (*DeleteOpenIDConnectProviderOutput, error) {
  2234. req, out := c.DeleteOpenIDConnectProviderRequest(input)
  2235. err := req.Send()
  2236. return out, err
  2237. }
  2238. const opDeletePolicy = "DeletePolicy"
  2239. // DeletePolicyRequest generates a "aws/request.Request" representing the
  2240. // client's request for the DeletePolicy operation. The "output" return
  2241. // value can be used to capture response data after the request's "Send" method
  2242. // is called.
  2243. //
  2244. // See DeletePolicy for usage and error information.
  2245. //
  2246. // Creating a request object using this method should be used when you want to inject
  2247. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2248. // access properties on the request object before or after sending the request. If
  2249. // you just want the service response, call the DeletePolicy method directly
  2250. // instead.
  2251. //
  2252. // Note: You must call the "Send" method on the returned request object in order
  2253. // to execute the request.
  2254. //
  2255. // // Example sending a request using the DeletePolicyRequest method.
  2256. // req, resp := client.DeletePolicyRequest(params)
  2257. //
  2258. // err := req.Send()
  2259. // if err == nil { // resp is now filled
  2260. // fmt.Println(resp)
  2261. // }
  2262. //
  2263. func (c *IAM) DeletePolicyRequest(input *DeletePolicyInput) (req *request.Request, output *DeletePolicyOutput) {
  2264. op := &request.Operation{
  2265. Name: opDeletePolicy,
  2266. HTTPMethod: "POST",
  2267. HTTPPath: "/",
  2268. }
  2269. if input == nil {
  2270. input = &DeletePolicyInput{}
  2271. }
  2272. req = c.newRequest(op, input, output)
  2273. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  2274. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  2275. output = &DeletePolicyOutput{}
  2276. req.Data = output
  2277. return
  2278. }
  2279. // DeletePolicy API operation for AWS Identity and Access Management.
  2280. //
  2281. // Deletes the specified managed policy.
  2282. //
  2283. // Before you can delete a managed policy, you must first detach the policy
  2284. // from all users, groups, and roles that it is attached to, and you must delete
  2285. // all of the policy's versions. The following steps describe the process for
  2286. // deleting a managed policy:
  2287. //
  2288. // * Detach the policy from all users, groups, and roles that the policy
  2289. // is attached to, using the DetachUserPolicy, DetachGroupPolicy, or DetachRolePolicy
  2290. // APIs. To list all the users, groups, and roles that a policy is attached
  2291. // to, use ListEntitiesForPolicy.
  2292. //
  2293. // * Delete all versions of the policy using DeletePolicyVersion. To list
  2294. // the policy's versions, use ListPolicyVersions. You cannot use DeletePolicyVersion
  2295. // to delete the version that is marked as the default version. You delete
  2296. // the policy's default version in the next step of the process.
  2297. //
  2298. // * Delete the policy (this automatically deletes the policy's default version)
  2299. // using this API.
  2300. //
  2301. // For information about managed policies, see Managed Policies and Inline Policies
  2302. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  2303. // in the IAM User Guide.
  2304. //
  2305. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2306. // with awserr.Error's Code and Message methods to get detailed information about
  2307. // the error.
  2308. //
  2309. // See the AWS API reference guide for AWS Identity and Access Management's
  2310. // API operation DeletePolicy for usage and error information.
  2311. //
  2312. // Returned Error Codes:
  2313. // * NoSuchEntity
  2314. // The request was rejected because it referenced an entity that does not exist.
  2315. // The error message describes the entity.
  2316. //
  2317. // * LimitExceeded
  2318. // The request was rejected because it attempted to create resources beyond
  2319. // the current AWS account limits. The error message describes the limit exceeded.
  2320. //
  2321. // * InvalidInput
  2322. // The request was rejected because an invalid or out-of-range value was supplied
  2323. // for an input parameter.
  2324. //
  2325. // * DeleteConflict
  2326. // The request was rejected because it attempted to delete a resource that has
  2327. // attached subordinate entities. The error message describes these entities.
  2328. //
  2329. // * ServiceFailure
  2330. // The request processing has failed because of an unknown error, exception
  2331. // or failure.
  2332. //
  2333. func (c *IAM) DeletePolicy(input *DeletePolicyInput) (*DeletePolicyOutput, error) {
  2334. req, out := c.DeletePolicyRequest(input)
  2335. err := req.Send()
  2336. return out, err
  2337. }
  2338. const opDeletePolicyVersion = "DeletePolicyVersion"
  2339. // DeletePolicyVersionRequest generates a "aws/request.Request" representing the
  2340. // client's request for the DeletePolicyVersion operation. The "output" return
  2341. // value can be used to capture response data after the request's "Send" method
  2342. // is called.
  2343. //
  2344. // See DeletePolicyVersion for usage and error information.
  2345. //
  2346. // Creating a request object using this method should be used when you want to inject
  2347. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2348. // access properties on the request object before or after sending the request. If
  2349. // you just want the service response, call the DeletePolicyVersion method directly
  2350. // instead.
  2351. //
  2352. // Note: You must call the "Send" method on the returned request object in order
  2353. // to execute the request.
  2354. //
  2355. // // Example sending a request using the DeletePolicyVersionRequest method.
  2356. // req, resp := client.DeletePolicyVersionRequest(params)
  2357. //
  2358. // err := req.Send()
  2359. // if err == nil { // resp is now filled
  2360. // fmt.Println(resp)
  2361. // }
  2362. //
  2363. func (c *IAM) DeletePolicyVersionRequest(input *DeletePolicyVersionInput) (req *request.Request, output *DeletePolicyVersionOutput) {
  2364. op := &request.Operation{
  2365. Name: opDeletePolicyVersion,
  2366. HTTPMethod: "POST",
  2367. HTTPPath: "/",
  2368. }
  2369. if input == nil {
  2370. input = &DeletePolicyVersionInput{}
  2371. }
  2372. req = c.newRequest(op, input, output)
  2373. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  2374. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  2375. output = &DeletePolicyVersionOutput{}
  2376. req.Data = output
  2377. return
  2378. }
  2379. // DeletePolicyVersion API operation for AWS Identity and Access Management.
  2380. //
  2381. // Deletes the specified version from the specified managed policy.
  2382. //
  2383. // You cannot delete the default version from a policy using this API. To delete
  2384. // the default version from a policy, use DeletePolicy. To find out which version
  2385. // of a policy is marked as the default version, use ListPolicyVersions.
  2386. //
  2387. // For information about versions for managed policies, see Versioning for Managed
  2388. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
  2389. // in the IAM User Guide.
  2390. //
  2391. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2392. // with awserr.Error's Code and Message methods to get detailed information about
  2393. // the error.
  2394. //
  2395. // See the AWS API reference guide for AWS Identity and Access Management's
  2396. // API operation DeletePolicyVersion for usage and error information.
  2397. //
  2398. // Returned Error Codes:
  2399. // * NoSuchEntity
  2400. // The request was rejected because it referenced an entity that does not exist.
  2401. // The error message describes the entity.
  2402. //
  2403. // * LimitExceeded
  2404. // The request was rejected because it attempted to create resources beyond
  2405. // the current AWS account limits. The error message describes the limit exceeded.
  2406. //
  2407. // * InvalidInput
  2408. // The request was rejected because an invalid or out-of-range value was supplied
  2409. // for an input parameter.
  2410. //
  2411. // * DeleteConflict
  2412. // The request was rejected because it attempted to delete a resource that has
  2413. // attached subordinate entities. The error message describes these entities.
  2414. //
  2415. // * ServiceFailure
  2416. // The request processing has failed because of an unknown error, exception
  2417. // or failure.
  2418. //
  2419. func (c *IAM) DeletePolicyVersion(input *DeletePolicyVersionInput) (*DeletePolicyVersionOutput, error) {
  2420. req, out := c.DeletePolicyVersionRequest(input)
  2421. err := req.Send()
  2422. return out, err
  2423. }
  2424. const opDeleteRole = "DeleteRole"
  2425. // DeleteRoleRequest generates a "aws/request.Request" representing the
  2426. // client's request for the DeleteRole operation. The "output" return
  2427. // value can be used to capture response data after the request's "Send" method
  2428. // is called.
  2429. //
  2430. // See DeleteRole for usage and error information.
  2431. //
  2432. // Creating a request object using this method should be used when you want to inject
  2433. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2434. // access properties on the request object before or after sending the request. If
  2435. // you just want the service response, call the DeleteRole method directly
  2436. // instead.
  2437. //
  2438. // Note: You must call the "Send" method on the returned request object in order
  2439. // to execute the request.
  2440. //
  2441. // // Example sending a request using the DeleteRoleRequest method.
  2442. // req, resp := client.DeleteRoleRequest(params)
  2443. //
  2444. // err := req.Send()
  2445. // if err == nil { // resp is now filled
  2446. // fmt.Println(resp)
  2447. // }
  2448. //
  2449. func (c *IAM) DeleteRoleRequest(input *DeleteRoleInput) (req *request.Request, output *DeleteRoleOutput) {
  2450. op := &request.Operation{
  2451. Name: opDeleteRole,
  2452. HTTPMethod: "POST",
  2453. HTTPPath: "/",
  2454. }
  2455. if input == nil {
  2456. input = &DeleteRoleInput{}
  2457. }
  2458. req = c.newRequest(op, input, output)
  2459. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  2460. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  2461. output = &DeleteRoleOutput{}
  2462. req.Data = output
  2463. return
  2464. }
  2465. // DeleteRole API operation for AWS Identity and Access Management.
  2466. //
  2467. // Deletes the specified role. The role must not have any policies attached.
  2468. // For more information about roles, go to Working with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html).
  2469. //
  2470. // Make sure you do not have any Amazon EC2 instances running with the role
  2471. // you are about to delete. Deleting a role or instance profile that is associated
  2472. // with a running instance will break any applications running on the instance.
  2473. //
  2474. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2475. // with awserr.Error's Code and Message methods to get detailed information about
  2476. // the error.
  2477. //
  2478. // See the AWS API reference guide for AWS Identity and Access Management's
  2479. // API operation DeleteRole for usage and error information.
  2480. //
  2481. // Returned Error Codes:
  2482. // * NoSuchEntity
  2483. // The request was rejected because it referenced an entity that does not exist.
  2484. // The error message describes the entity.
  2485. //
  2486. // * DeleteConflict
  2487. // The request was rejected because it attempted to delete a resource that has
  2488. // attached subordinate entities. The error message describes these entities.
  2489. //
  2490. // * LimitExceeded
  2491. // The request was rejected because it attempted to create resources beyond
  2492. // the current AWS account limits. The error message describes the limit exceeded.
  2493. //
  2494. // * ServiceFailure
  2495. // The request processing has failed because of an unknown error, exception
  2496. // or failure.
  2497. //
  2498. func (c *IAM) DeleteRole(input *DeleteRoleInput) (*DeleteRoleOutput, error) {
  2499. req, out := c.DeleteRoleRequest(input)
  2500. err := req.Send()
  2501. return out, err
  2502. }
  2503. const opDeleteRolePolicy = "DeleteRolePolicy"
  2504. // DeleteRolePolicyRequest generates a "aws/request.Request" representing the
  2505. // client's request for the DeleteRolePolicy operation. The "output" return
  2506. // value can be used to capture response data after the request's "Send" method
  2507. // is called.
  2508. //
  2509. // See DeleteRolePolicy for usage and error information.
  2510. //
  2511. // Creating a request object using this method should be used when you want to inject
  2512. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2513. // access properties on the request object before or after sending the request. If
  2514. // you just want the service response, call the DeleteRolePolicy method directly
  2515. // instead.
  2516. //
  2517. // Note: You must call the "Send" method on the returned request object in order
  2518. // to execute the request.
  2519. //
  2520. // // Example sending a request using the DeleteRolePolicyRequest method.
  2521. // req, resp := client.DeleteRolePolicyRequest(params)
  2522. //
  2523. // err := req.Send()
  2524. // if err == nil { // resp is now filled
  2525. // fmt.Println(resp)
  2526. // }
  2527. //
  2528. func (c *IAM) DeleteRolePolicyRequest(input *DeleteRolePolicyInput) (req *request.Request, output *DeleteRolePolicyOutput) {
  2529. op := &request.Operation{
  2530. Name: opDeleteRolePolicy,
  2531. HTTPMethod: "POST",
  2532. HTTPPath: "/",
  2533. }
  2534. if input == nil {
  2535. input = &DeleteRolePolicyInput{}
  2536. }
  2537. req = c.newRequest(op, input, output)
  2538. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  2539. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  2540. output = &DeleteRolePolicyOutput{}
  2541. req.Data = output
  2542. return
  2543. }
  2544. // DeleteRolePolicy API operation for AWS Identity and Access Management.
  2545. //
  2546. // Deletes the specified inline policy that is embedded in the specified IAM
  2547. // role.
  2548. //
  2549. // A role can also have managed policies attached to it. To detach a managed
  2550. // policy from a role, use DetachRolePolicy. For more information about policies,
  2551. // refer to Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  2552. // in the IAM User Guide.
  2553. //
  2554. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2555. // with awserr.Error's Code and Message methods to get detailed information about
  2556. // the error.
  2557. //
  2558. // See the AWS API reference guide for AWS Identity and Access Management's
  2559. // API operation DeleteRolePolicy for usage and error information.
  2560. //
  2561. // Returned Error Codes:
  2562. // * NoSuchEntity
  2563. // The request was rejected because it referenced an entity that does not exist.
  2564. // The error message describes the entity.
  2565. //
  2566. // * LimitExceeded
  2567. // The request was rejected because it attempted to create resources beyond
  2568. // the current AWS account limits. The error message describes the limit exceeded.
  2569. //
  2570. // * ServiceFailure
  2571. // The request processing has failed because of an unknown error, exception
  2572. // or failure.
  2573. //
  2574. func (c *IAM) DeleteRolePolicy(input *DeleteRolePolicyInput) (*DeleteRolePolicyOutput, error) {
  2575. req, out := c.DeleteRolePolicyRequest(input)
  2576. err := req.Send()
  2577. return out, err
  2578. }
  2579. const opDeleteSAMLProvider = "DeleteSAMLProvider"
  2580. // DeleteSAMLProviderRequest generates a "aws/request.Request" representing the
  2581. // client's request for the DeleteSAMLProvider operation. The "output" return
  2582. // value can be used to capture response data after the request's "Send" method
  2583. // is called.
  2584. //
  2585. // See DeleteSAMLProvider for usage and error information.
  2586. //
  2587. // Creating a request object using this method should be used when you want to inject
  2588. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2589. // access properties on the request object before or after sending the request. If
  2590. // you just want the service response, call the DeleteSAMLProvider method directly
  2591. // instead.
  2592. //
  2593. // Note: You must call the "Send" method on the returned request object in order
  2594. // to execute the request.
  2595. //
  2596. // // Example sending a request using the DeleteSAMLProviderRequest method.
  2597. // req, resp := client.DeleteSAMLProviderRequest(params)
  2598. //
  2599. // err := req.Send()
  2600. // if err == nil { // resp is now filled
  2601. // fmt.Println(resp)
  2602. // }
  2603. //
  2604. func (c *IAM) DeleteSAMLProviderRequest(input *DeleteSAMLProviderInput) (req *request.Request, output *DeleteSAMLProviderOutput) {
  2605. op := &request.Operation{
  2606. Name: opDeleteSAMLProvider,
  2607. HTTPMethod: "POST",
  2608. HTTPPath: "/",
  2609. }
  2610. if input == nil {
  2611. input = &DeleteSAMLProviderInput{}
  2612. }
  2613. req = c.newRequest(op, input, output)
  2614. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  2615. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  2616. output = &DeleteSAMLProviderOutput{}
  2617. req.Data = output
  2618. return
  2619. }
  2620. // DeleteSAMLProvider API operation for AWS Identity and Access Management.
  2621. //
  2622. // Deletes a SAML provider resource in IAM.
  2623. //
  2624. // Deleting the provider resource from IAM does not update any roles that reference
  2625. // the SAML provider resource's ARN as a principal in their trust policies.
  2626. // Any attempt to assume a role that references a non-existent provider resource
  2627. // ARN fails.
  2628. //
  2629. // This operation requires Signature Version 4 (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
  2630. //
  2631. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2632. // with awserr.Error's Code and Message methods to get detailed information about
  2633. // the error.
  2634. //
  2635. // See the AWS API reference guide for AWS Identity and Access Management's
  2636. // API operation DeleteSAMLProvider for usage and error information.
  2637. //
  2638. // Returned Error Codes:
  2639. // * InvalidInput
  2640. // The request was rejected because an invalid or out-of-range value was supplied
  2641. // for an input parameter.
  2642. //
  2643. // * LimitExceeded
  2644. // The request was rejected because it attempted to create resources beyond
  2645. // the current AWS account limits. The error message describes the limit exceeded.
  2646. //
  2647. // * NoSuchEntity
  2648. // The request was rejected because it referenced an entity that does not exist.
  2649. // The error message describes the entity.
  2650. //
  2651. // * ServiceFailure
  2652. // The request processing has failed because of an unknown error, exception
  2653. // or failure.
  2654. //
  2655. func (c *IAM) DeleteSAMLProvider(input *DeleteSAMLProviderInput) (*DeleteSAMLProviderOutput, error) {
  2656. req, out := c.DeleteSAMLProviderRequest(input)
  2657. err := req.Send()
  2658. return out, err
  2659. }
  2660. const opDeleteSSHPublicKey = "DeleteSSHPublicKey"
  2661. // DeleteSSHPublicKeyRequest generates a "aws/request.Request" representing the
  2662. // client's request for the DeleteSSHPublicKey operation. The "output" return
  2663. // value can be used to capture response data after the request's "Send" method
  2664. // is called.
  2665. //
  2666. // See DeleteSSHPublicKey for usage and error information.
  2667. //
  2668. // Creating a request object using this method should be used when you want to inject
  2669. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2670. // access properties on the request object before or after sending the request. If
  2671. // you just want the service response, call the DeleteSSHPublicKey method directly
  2672. // instead.
  2673. //
  2674. // Note: You must call the "Send" method on the returned request object in order
  2675. // to execute the request.
  2676. //
  2677. // // Example sending a request using the DeleteSSHPublicKeyRequest method.
  2678. // req, resp := client.DeleteSSHPublicKeyRequest(params)
  2679. //
  2680. // err := req.Send()
  2681. // if err == nil { // resp is now filled
  2682. // fmt.Println(resp)
  2683. // }
  2684. //
  2685. func (c *IAM) DeleteSSHPublicKeyRequest(input *DeleteSSHPublicKeyInput) (req *request.Request, output *DeleteSSHPublicKeyOutput) {
  2686. op := &request.Operation{
  2687. Name: opDeleteSSHPublicKey,
  2688. HTTPMethod: "POST",
  2689. HTTPPath: "/",
  2690. }
  2691. if input == nil {
  2692. input = &DeleteSSHPublicKeyInput{}
  2693. }
  2694. req = c.newRequest(op, input, output)
  2695. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  2696. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  2697. output = &DeleteSSHPublicKeyOutput{}
  2698. req.Data = output
  2699. return
  2700. }
  2701. // DeleteSSHPublicKey API operation for AWS Identity and Access Management.
  2702. //
  2703. // Deletes the specified SSH public key.
  2704. //
  2705. // The SSH public key deleted by this action is used only for authenticating
  2706. // the associated IAM user to an AWS CodeCommit repository. For more information
  2707. // about using SSH keys to authenticate to an AWS CodeCommit repository, see
  2708. // Set up AWS CodeCommit for SSH Connections (http://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-credentials-ssh.html)
  2709. // in the AWS CodeCommit User Guide.
  2710. //
  2711. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2712. // with awserr.Error's Code and Message methods to get detailed information about
  2713. // the error.
  2714. //
  2715. // See the AWS API reference guide for AWS Identity and Access Management's
  2716. // API operation DeleteSSHPublicKey for usage and error information.
  2717. //
  2718. // Returned Error Codes:
  2719. // * NoSuchEntity
  2720. // The request was rejected because it referenced an entity that does not exist.
  2721. // The error message describes the entity.
  2722. //
  2723. func (c *IAM) DeleteSSHPublicKey(input *DeleteSSHPublicKeyInput) (*DeleteSSHPublicKeyOutput, error) {
  2724. req, out := c.DeleteSSHPublicKeyRequest(input)
  2725. err := req.Send()
  2726. return out, err
  2727. }
  2728. const opDeleteServerCertificate = "DeleteServerCertificate"
  2729. // DeleteServerCertificateRequest generates a "aws/request.Request" representing the
  2730. // client's request for the DeleteServerCertificate operation. The "output" return
  2731. // value can be used to capture response data after the request's "Send" method
  2732. // is called.
  2733. //
  2734. // See DeleteServerCertificate for usage and error information.
  2735. //
  2736. // Creating a request object using this method should be used when you want to inject
  2737. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2738. // access properties on the request object before or after sending the request. If
  2739. // you just want the service response, call the DeleteServerCertificate method directly
  2740. // instead.
  2741. //
  2742. // Note: You must call the "Send" method on the returned request object in order
  2743. // to execute the request.
  2744. //
  2745. // // Example sending a request using the DeleteServerCertificateRequest method.
  2746. // req, resp := client.DeleteServerCertificateRequest(params)
  2747. //
  2748. // err := req.Send()
  2749. // if err == nil { // resp is now filled
  2750. // fmt.Println(resp)
  2751. // }
  2752. //
  2753. func (c *IAM) DeleteServerCertificateRequest(input *DeleteServerCertificateInput) (req *request.Request, output *DeleteServerCertificateOutput) {
  2754. op := &request.Operation{
  2755. Name: opDeleteServerCertificate,
  2756. HTTPMethod: "POST",
  2757. HTTPPath: "/",
  2758. }
  2759. if input == nil {
  2760. input = &DeleteServerCertificateInput{}
  2761. }
  2762. req = c.newRequest(op, input, output)
  2763. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  2764. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  2765. output = &DeleteServerCertificateOutput{}
  2766. req.Data = output
  2767. return
  2768. }
  2769. // DeleteServerCertificate API operation for AWS Identity and Access Management.
  2770. //
  2771. // Deletes the specified server certificate.
  2772. //
  2773. // For more information about working with server certificates, including a
  2774. // list of AWS services that can use the server certificates that you manage
  2775. // with IAM, go to Working with Server Certificates (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html)
  2776. // in the IAM User Guide.
  2777. //
  2778. // If you are using a server certificate with Elastic Load Balancing, deleting
  2779. // the certificate could have implications for your application. If Elastic
  2780. // Load Balancing doesn't detect the deletion of bound certificates, it may
  2781. // continue to use the certificates. This could cause Elastic Load Balancing
  2782. // to stop accepting traffic. We recommend that you remove the reference to
  2783. // the certificate from Elastic Load Balancing before using this command to
  2784. // delete the certificate. For more information, go to DeleteLoadBalancerListeners
  2785. // (http://docs.aws.amazon.com/ElasticLoadBalancing/latest/APIReference/API_DeleteLoadBalancerListeners.html)
  2786. // in the Elastic Load Balancing API Reference.
  2787. //
  2788. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2789. // with awserr.Error's Code and Message methods to get detailed information about
  2790. // the error.
  2791. //
  2792. // See the AWS API reference guide for AWS Identity and Access Management's
  2793. // API operation DeleteServerCertificate for usage and error information.
  2794. //
  2795. // Returned Error Codes:
  2796. // * NoSuchEntity
  2797. // The request was rejected because it referenced an entity that does not exist.
  2798. // The error message describes the entity.
  2799. //
  2800. // * DeleteConflict
  2801. // The request was rejected because it attempted to delete a resource that has
  2802. // attached subordinate entities. The error message describes these entities.
  2803. //
  2804. // * LimitExceeded
  2805. // The request was rejected because it attempted to create resources beyond
  2806. // the current AWS account limits. The error message describes the limit exceeded.
  2807. //
  2808. // * ServiceFailure
  2809. // The request processing has failed because of an unknown error, exception
  2810. // or failure.
  2811. //
  2812. func (c *IAM) DeleteServerCertificate(input *DeleteServerCertificateInput) (*DeleteServerCertificateOutput, error) {
  2813. req, out := c.DeleteServerCertificateRequest(input)
  2814. err := req.Send()
  2815. return out, err
  2816. }
  2817. const opDeleteSigningCertificate = "DeleteSigningCertificate"
  2818. // DeleteSigningCertificateRequest generates a "aws/request.Request" representing the
  2819. // client's request for the DeleteSigningCertificate operation. The "output" return
  2820. // value can be used to capture response data after the request's "Send" method
  2821. // is called.
  2822. //
  2823. // See DeleteSigningCertificate for usage and error information.
  2824. //
  2825. // Creating a request object using this method should be used when you want to inject
  2826. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2827. // access properties on the request object before or after sending the request. If
  2828. // you just want the service response, call the DeleteSigningCertificate method directly
  2829. // instead.
  2830. //
  2831. // Note: You must call the "Send" method on the returned request object in order
  2832. // to execute the request.
  2833. //
  2834. // // Example sending a request using the DeleteSigningCertificateRequest method.
  2835. // req, resp := client.DeleteSigningCertificateRequest(params)
  2836. //
  2837. // err := req.Send()
  2838. // if err == nil { // resp is now filled
  2839. // fmt.Println(resp)
  2840. // }
  2841. //
  2842. func (c *IAM) DeleteSigningCertificateRequest(input *DeleteSigningCertificateInput) (req *request.Request, output *DeleteSigningCertificateOutput) {
  2843. op := &request.Operation{
  2844. Name: opDeleteSigningCertificate,
  2845. HTTPMethod: "POST",
  2846. HTTPPath: "/",
  2847. }
  2848. if input == nil {
  2849. input = &DeleteSigningCertificateInput{}
  2850. }
  2851. req = c.newRequest(op, input, output)
  2852. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  2853. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  2854. output = &DeleteSigningCertificateOutput{}
  2855. req.Data = output
  2856. return
  2857. }
  2858. // DeleteSigningCertificate API operation for AWS Identity and Access Management.
  2859. //
  2860. // Deletes a signing certificate associated with the specified IAM user.
  2861. //
  2862. // If you do not specify a user name, IAM determines the user name implicitly
  2863. // based on the AWS access key ID signing the request. Because this action works
  2864. // for access keys under the AWS account, you can use this action to manage
  2865. // root credentials even if the AWS account has no associated IAM users.
  2866. //
  2867. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2868. // with awserr.Error's Code and Message methods to get detailed information about
  2869. // the error.
  2870. //
  2871. // See the AWS API reference guide for AWS Identity and Access Management's
  2872. // API operation DeleteSigningCertificate for usage and error information.
  2873. //
  2874. // Returned Error Codes:
  2875. // * NoSuchEntity
  2876. // The request was rejected because it referenced an entity that does not exist.
  2877. // The error message describes the entity.
  2878. //
  2879. // * LimitExceeded
  2880. // The request was rejected because it attempted to create resources beyond
  2881. // the current AWS account limits. The error message describes the limit exceeded.
  2882. //
  2883. // * ServiceFailure
  2884. // The request processing has failed because of an unknown error, exception
  2885. // or failure.
  2886. //
  2887. func (c *IAM) DeleteSigningCertificate(input *DeleteSigningCertificateInput) (*DeleteSigningCertificateOutput, error) {
  2888. req, out := c.DeleteSigningCertificateRequest(input)
  2889. err := req.Send()
  2890. return out, err
  2891. }
  2892. const opDeleteUser = "DeleteUser"
  2893. // DeleteUserRequest generates a "aws/request.Request" representing the
  2894. // client's request for the DeleteUser operation. The "output" return
  2895. // value can be used to capture response data after the request's "Send" method
  2896. // is called.
  2897. //
  2898. // See DeleteUser for usage and error information.
  2899. //
  2900. // Creating a request object using this method should be used when you want to inject
  2901. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2902. // access properties on the request object before or after sending the request. If
  2903. // you just want the service response, call the DeleteUser method directly
  2904. // instead.
  2905. //
  2906. // Note: You must call the "Send" method on the returned request object in order
  2907. // to execute the request.
  2908. //
  2909. // // Example sending a request using the DeleteUserRequest method.
  2910. // req, resp := client.DeleteUserRequest(params)
  2911. //
  2912. // err := req.Send()
  2913. // if err == nil { // resp is now filled
  2914. // fmt.Println(resp)
  2915. // }
  2916. //
  2917. func (c *IAM) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) {
  2918. op := &request.Operation{
  2919. Name: opDeleteUser,
  2920. HTTPMethod: "POST",
  2921. HTTPPath: "/",
  2922. }
  2923. if input == nil {
  2924. input = &DeleteUserInput{}
  2925. }
  2926. req = c.newRequest(op, input, output)
  2927. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  2928. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  2929. output = &DeleteUserOutput{}
  2930. req.Data = output
  2931. return
  2932. }
  2933. // DeleteUser API operation for AWS Identity and Access Management.
  2934. //
  2935. // Deletes the specified IAM user. The user must not belong to any groups or
  2936. // have any access keys, signing certificates, or attached policies.
  2937. //
  2938. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2939. // with awserr.Error's Code and Message methods to get detailed information about
  2940. // the error.
  2941. //
  2942. // See the AWS API reference guide for AWS Identity and Access Management's
  2943. // API operation DeleteUser for usage and error information.
  2944. //
  2945. // Returned Error Codes:
  2946. // * LimitExceeded
  2947. // The request was rejected because it attempted to create resources beyond
  2948. // the current AWS account limits. The error message describes the limit exceeded.
  2949. //
  2950. // * NoSuchEntity
  2951. // The request was rejected because it referenced an entity that does not exist.
  2952. // The error message describes the entity.
  2953. //
  2954. // * DeleteConflict
  2955. // The request was rejected because it attempted to delete a resource that has
  2956. // attached subordinate entities. The error message describes these entities.
  2957. //
  2958. // * ServiceFailure
  2959. // The request processing has failed because of an unknown error, exception
  2960. // or failure.
  2961. //
  2962. func (c *IAM) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) {
  2963. req, out := c.DeleteUserRequest(input)
  2964. err := req.Send()
  2965. return out, err
  2966. }
  2967. const opDeleteUserPolicy = "DeleteUserPolicy"
  2968. // DeleteUserPolicyRequest generates a "aws/request.Request" representing the
  2969. // client's request for the DeleteUserPolicy operation. The "output" return
  2970. // value can be used to capture response data after the request's "Send" method
  2971. // is called.
  2972. //
  2973. // See DeleteUserPolicy for usage and error information.
  2974. //
  2975. // Creating a request object using this method should be used when you want to inject
  2976. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2977. // access properties on the request object before or after sending the request. If
  2978. // you just want the service response, call the DeleteUserPolicy method directly
  2979. // instead.
  2980. //
  2981. // Note: You must call the "Send" method on the returned request object in order
  2982. // to execute the request.
  2983. //
  2984. // // Example sending a request using the DeleteUserPolicyRequest method.
  2985. // req, resp := client.DeleteUserPolicyRequest(params)
  2986. //
  2987. // err := req.Send()
  2988. // if err == nil { // resp is now filled
  2989. // fmt.Println(resp)
  2990. // }
  2991. //
  2992. func (c *IAM) DeleteUserPolicyRequest(input *DeleteUserPolicyInput) (req *request.Request, output *DeleteUserPolicyOutput) {
  2993. op := &request.Operation{
  2994. Name: opDeleteUserPolicy,
  2995. HTTPMethod: "POST",
  2996. HTTPPath: "/",
  2997. }
  2998. if input == nil {
  2999. input = &DeleteUserPolicyInput{}
  3000. }
  3001. req = c.newRequest(op, input, output)
  3002. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  3003. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3004. output = &DeleteUserPolicyOutput{}
  3005. req.Data = output
  3006. return
  3007. }
  3008. // DeleteUserPolicy API operation for AWS Identity and Access Management.
  3009. //
  3010. // Deletes the specified inline policy that is embedded in the specified IAM
  3011. // user.
  3012. //
  3013. // A user can also have managed policies attached to it. To detach a managed
  3014. // policy from a user, use DetachUserPolicy. For more information about policies,
  3015. // refer to Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  3016. // in the IAM User Guide.
  3017. //
  3018. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3019. // with awserr.Error's Code and Message methods to get detailed information about
  3020. // the error.
  3021. //
  3022. // See the AWS API reference guide for AWS Identity and Access Management's
  3023. // API operation DeleteUserPolicy for usage and error information.
  3024. //
  3025. // Returned Error Codes:
  3026. // * NoSuchEntity
  3027. // The request was rejected because it referenced an entity that does not exist.
  3028. // The error message describes the entity.
  3029. //
  3030. // * LimitExceeded
  3031. // The request was rejected because it attempted to create resources beyond
  3032. // the current AWS account limits. The error message describes the limit exceeded.
  3033. //
  3034. // * ServiceFailure
  3035. // The request processing has failed because of an unknown error, exception
  3036. // or failure.
  3037. //
  3038. func (c *IAM) DeleteUserPolicy(input *DeleteUserPolicyInput) (*DeleteUserPolicyOutput, error) {
  3039. req, out := c.DeleteUserPolicyRequest(input)
  3040. err := req.Send()
  3041. return out, err
  3042. }
  3043. const opDeleteVirtualMFADevice = "DeleteVirtualMFADevice"
  3044. // DeleteVirtualMFADeviceRequest generates a "aws/request.Request" representing the
  3045. // client's request for the DeleteVirtualMFADevice operation. The "output" return
  3046. // value can be used to capture response data after the request's "Send" method
  3047. // is called.
  3048. //
  3049. // See DeleteVirtualMFADevice for usage and error information.
  3050. //
  3051. // Creating a request object using this method should be used when you want to inject
  3052. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3053. // access properties on the request object before or after sending the request. If
  3054. // you just want the service response, call the DeleteVirtualMFADevice method directly
  3055. // instead.
  3056. //
  3057. // Note: You must call the "Send" method on the returned request object in order
  3058. // to execute the request.
  3059. //
  3060. // // Example sending a request using the DeleteVirtualMFADeviceRequest method.
  3061. // req, resp := client.DeleteVirtualMFADeviceRequest(params)
  3062. //
  3063. // err := req.Send()
  3064. // if err == nil { // resp is now filled
  3065. // fmt.Println(resp)
  3066. // }
  3067. //
  3068. func (c *IAM) DeleteVirtualMFADeviceRequest(input *DeleteVirtualMFADeviceInput) (req *request.Request, output *DeleteVirtualMFADeviceOutput) {
  3069. op := &request.Operation{
  3070. Name: opDeleteVirtualMFADevice,
  3071. HTTPMethod: "POST",
  3072. HTTPPath: "/",
  3073. }
  3074. if input == nil {
  3075. input = &DeleteVirtualMFADeviceInput{}
  3076. }
  3077. req = c.newRequest(op, input, output)
  3078. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  3079. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3080. output = &DeleteVirtualMFADeviceOutput{}
  3081. req.Data = output
  3082. return
  3083. }
  3084. // DeleteVirtualMFADevice API operation for AWS Identity and Access Management.
  3085. //
  3086. // Deletes a virtual MFA device.
  3087. //
  3088. // You must deactivate a user's virtual MFA device before you can delete it.
  3089. // For information about deactivating MFA devices, see DeactivateMFADevice.
  3090. //
  3091. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3092. // with awserr.Error's Code and Message methods to get detailed information about
  3093. // the error.
  3094. //
  3095. // See the AWS API reference guide for AWS Identity and Access Management's
  3096. // API operation DeleteVirtualMFADevice for usage and error information.
  3097. //
  3098. // Returned Error Codes:
  3099. // * NoSuchEntity
  3100. // The request was rejected because it referenced an entity that does not exist.
  3101. // The error message describes the entity.
  3102. //
  3103. // * DeleteConflict
  3104. // The request was rejected because it attempted to delete a resource that has
  3105. // attached subordinate entities. The error message describes these entities.
  3106. //
  3107. // * LimitExceeded
  3108. // The request was rejected because it attempted to create resources beyond
  3109. // the current AWS account limits. The error message describes the limit exceeded.
  3110. //
  3111. // * ServiceFailure
  3112. // The request processing has failed because of an unknown error, exception
  3113. // or failure.
  3114. //
  3115. func (c *IAM) DeleteVirtualMFADevice(input *DeleteVirtualMFADeviceInput) (*DeleteVirtualMFADeviceOutput, error) {
  3116. req, out := c.DeleteVirtualMFADeviceRequest(input)
  3117. err := req.Send()
  3118. return out, err
  3119. }
  3120. const opDetachGroupPolicy = "DetachGroupPolicy"
  3121. // DetachGroupPolicyRequest generates a "aws/request.Request" representing the
  3122. // client's request for the DetachGroupPolicy operation. The "output" return
  3123. // value can be used to capture response data after the request's "Send" method
  3124. // is called.
  3125. //
  3126. // See DetachGroupPolicy for usage and error information.
  3127. //
  3128. // Creating a request object using this method should be used when you want to inject
  3129. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3130. // access properties on the request object before or after sending the request. If
  3131. // you just want the service response, call the DetachGroupPolicy method directly
  3132. // instead.
  3133. //
  3134. // Note: You must call the "Send" method on the returned request object in order
  3135. // to execute the request.
  3136. //
  3137. // // Example sending a request using the DetachGroupPolicyRequest method.
  3138. // req, resp := client.DetachGroupPolicyRequest(params)
  3139. //
  3140. // err := req.Send()
  3141. // if err == nil { // resp is now filled
  3142. // fmt.Println(resp)
  3143. // }
  3144. //
  3145. func (c *IAM) DetachGroupPolicyRequest(input *DetachGroupPolicyInput) (req *request.Request, output *DetachGroupPolicyOutput) {
  3146. op := &request.Operation{
  3147. Name: opDetachGroupPolicy,
  3148. HTTPMethod: "POST",
  3149. HTTPPath: "/",
  3150. }
  3151. if input == nil {
  3152. input = &DetachGroupPolicyInput{}
  3153. }
  3154. req = c.newRequest(op, input, output)
  3155. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  3156. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3157. output = &DetachGroupPolicyOutput{}
  3158. req.Data = output
  3159. return
  3160. }
  3161. // DetachGroupPolicy API operation for AWS Identity and Access Management.
  3162. //
  3163. // Removes the specified managed policy from the specified IAM group.
  3164. //
  3165. // A group can also have inline policies embedded with it. To delete an inline
  3166. // policy, use the DeleteGroupPolicy API. For information about policies, see
  3167. // Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  3168. // in the IAM User Guide.
  3169. //
  3170. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3171. // with awserr.Error's Code and Message methods to get detailed information about
  3172. // the error.
  3173. //
  3174. // See the AWS API reference guide for AWS Identity and Access Management's
  3175. // API operation DetachGroupPolicy for usage and error information.
  3176. //
  3177. // Returned Error Codes:
  3178. // * NoSuchEntity
  3179. // The request was rejected because it referenced an entity that does not exist.
  3180. // The error message describes the entity.
  3181. //
  3182. // * LimitExceeded
  3183. // The request was rejected because it attempted to create resources beyond
  3184. // the current AWS account limits. The error message describes the limit exceeded.
  3185. //
  3186. // * InvalidInput
  3187. // The request was rejected because an invalid or out-of-range value was supplied
  3188. // for an input parameter.
  3189. //
  3190. // * ServiceFailure
  3191. // The request processing has failed because of an unknown error, exception
  3192. // or failure.
  3193. //
  3194. func (c *IAM) DetachGroupPolicy(input *DetachGroupPolicyInput) (*DetachGroupPolicyOutput, error) {
  3195. req, out := c.DetachGroupPolicyRequest(input)
  3196. err := req.Send()
  3197. return out, err
  3198. }
  3199. const opDetachRolePolicy = "DetachRolePolicy"
  3200. // DetachRolePolicyRequest generates a "aws/request.Request" representing the
  3201. // client's request for the DetachRolePolicy operation. The "output" return
  3202. // value can be used to capture response data after the request's "Send" method
  3203. // is called.
  3204. //
  3205. // See DetachRolePolicy for usage and error information.
  3206. //
  3207. // Creating a request object using this method should be used when you want to inject
  3208. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3209. // access properties on the request object before or after sending the request. If
  3210. // you just want the service response, call the DetachRolePolicy method directly
  3211. // instead.
  3212. //
  3213. // Note: You must call the "Send" method on the returned request object in order
  3214. // to execute the request.
  3215. //
  3216. // // Example sending a request using the DetachRolePolicyRequest method.
  3217. // req, resp := client.DetachRolePolicyRequest(params)
  3218. //
  3219. // err := req.Send()
  3220. // if err == nil { // resp is now filled
  3221. // fmt.Println(resp)
  3222. // }
  3223. //
  3224. func (c *IAM) DetachRolePolicyRequest(input *DetachRolePolicyInput) (req *request.Request, output *DetachRolePolicyOutput) {
  3225. op := &request.Operation{
  3226. Name: opDetachRolePolicy,
  3227. HTTPMethod: "POST",
  3228. HTTPPath: "/",
  3229. }
  3230. if input == nil {
  3231. input = &DetachRolePolicyInput{}
  3232. }
  3233. req = c.newRequest(op, input, output)
  3234. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  3235. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3236. output = &DetachRolePolicyOutput{}
  3237. req.Data = output
  3238. return
  3239. }
  3240. // DetachRolePolicy API operation for AWS Identity and Access Management.
  3241. //
  3242. // Removes the specified managed policy from the specified role.
  3243. //
  3244. // A role can also have inline policies embedded with it. To delete an inline
  3245. // policy, use the DeleteRolePolicy API. For information about policies, see
  3246. // Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  3247. // in the IAM User Guide.
  3248. //
  3249. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3250. // with awserr.Error's Code and Message methods to get detailed information about
  3251. // the error.
  3252. //
  3253. // See the AWS API reference guide for AWS Identity and Access Management's
  3254. // API operation DetachRolePolicy for usage and error information.
  3255. //
  3256. // Returned Error Codes:
  3257. // * NoSuchEntity
  3258. // The request was rejected because it referenced an entity that does not exist.
  3259. // The error message describes the entity.
  3260. //
  3261. // * LimitExceeded
  3262. // The request was rejected because it attempted to create resources beyond
  3263. // the current AWS account limits. The error message describes the limit exceeded.
  3264. //
  3265. // * InvalidInput
  3266. // The request was rejected because an invalid or out-of-range value was supplied
  3267. // for an input parameter.
  3268. //
  3269. // * ServiceFailure
  3270. // The request processing has failed because of an unknown error, exception
  3271. // or failure.
  3272. //
  3273. func (c *IAM) DetachRolePolicy(input *DetachRolePolicyInput) (*DetachRolePolicyOutput, error) {
  3274. req, out := c.DetachRolePolicyRequest(input)
  3275. err := req.Send()
  3276. return out, err
  3277. }
  3278. const opDetachUserPolicy = "DetachUserPolicy"
  3279. // DetachUserPolicyRequest generates a "aws/request.Request" representing the
  3280. // client's request for the DetachUserPolicy operation. The "output" return
  3281. // value can be used to capture response data after the request's "Send" method
  3282. // is called.
  3283. //
  3284. // See DetachUserPolicy for usage and error information.
  3285. //
  3286. // Creating a request object using this method should be used when you want to inject
  3287. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3288. // access properties on the request object before or after sending the request. If
  3289. // you just want the service response, call the DetachUserPolicy method directly
  3290. // instead.
  3291. //
  3292. // Note: You must call the "Send" method on the returned request object in order
  3293. // to execute the request.
  3294. //
  3295. // // Example sending a request using the DetachUserPolicyRequest method.
  3296. // req, resp := client.DetachUserPolicyRequest(params)
  3297. //
  3298. // err := req.Send()
  3299. // if err == nil { // resp is now filled
  3300. // fmt.Println(resp)
  3301. // }
  3302. //
  3303. func (c *IAM) DetachUserPolicyRequest(input *DetachUserPolicyInput) (req *request.Request, output *DetachUserPolicyOutput) {
  3304. op := &request.Operation{
  3305. Name: opDetachUserPolicy,
  3306. HTTPMethod: "POST",
  3307. HTTPPath: "/",
  3308. }
  3309. if input == nil {
  3310. input = &DetachUserPolicyInput{}
  3311. }
  3312. req = c.newRequest(op, input, output)
  3313. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  3314. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3315. output = &DetachUserPolicyOutput{}
  3316. req.Data = output
  3317. return
  3318. }
  3319. // DetachUserPolicy API operation for AWS Identity and Access Management.
  3320. //
  3321. // Removes the specified managed policy from the specified user.
  3322. //
  3323. // A user can also have inline policies embedded with it. To delete an inline
  3324. // policy, use the DeleteUserPolicy API. For information about policies, see
  3325. // Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  3326. // in the IAM User Guide.
  3327. //
  3328. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3329. // with awserr.Error's Code and Message methods to get detailed information about
  3330. // the error.
  3331. //
  3332. // See the AWS API reference guide for AWS Identity and Access Management's
  3333. // API operation DetachUserPolicy for usage and error information.
  3334. //
  3335. // Returned Error Codes:
  3336. // * NoSuchEntity
  3337. // The request was rejected because it referenced an entity that does not exist.
  3338. // The error message describes the entity.
  3339. //
  3340. // * LimitExceeded
  3341. // The request was rejected because it attempted to create resources beyond
  3342. // the current AWS account limits. The error message describes the limit exceeded.
  3343. //
  3344. // * InvalidInput
  3345. // The request was rejected because an invalid or out-of-range value was supplied
  3346. // for an input parameter.
  3347. //
  3348. // * ServiceFailure
  3349. // The request processing has failed because of an unknown error, exception
  3350. // or failure.
  3351. //
  3352. func (c *IAM) DetachUserPolicy(input *DetachUserPolicyInput) (*DetachUserPolicyOutput, error) {
  3353. req, out := c.DetachUserPolicyRequest(input)
  3354. err := req.Send()
  3355. return out, err
  3356. }
  3357. const opEnableMFADevice = "EnableMFADevice"
  3358. // EnableMFADeviceRequest generates a "aws/request.Request" representing the
  3359. // client's request for the EnableMFADevice operation. The "output" return
  3360. // value can be used to capture response data after the request's "Send" method
  3361. // is called.
  3362. //
  3363. // See EnableMFADevice for usage and error information.
  3364. //
  3365. // Creating a request object using this method should be used when you want to inject
  3366. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3367. // access properties on the request object before or after sending the request. If
  3368. // you just want the service response, call the EnableMFADevice method directly
  3369. // instead.
  3370. //
  3371. // Note: You must call the "Send" method on the returned request object in order
  3372. // to execute the request.
  3373. //
  3374. // // Example sending a request using the EnableMFADeviceRequest method.
  3375. // req, resp := client.EnableMFADeviceRequest(params)
  3376. //
  3377. // err := req.Send()
  3378. // if err == nil { // resp is now filled
  3379. // fmt.Println(resp)
  3380. // }
  3381. //
  3382. func (c *IAM) EnableMFADeviceRequest(input *EnableMFADeviceInput) (req *request.Request, output *EnableMFADeviceOutput) {
  3383. op := &request.Operation{
  3384. Name: opEnableMFADevice,
  3385. HTTPMethod: "POST",
  3386. HTTPPath: "/",
  3387. }
  3388. if input == nil {
  3389. input = &EnableMFADeviceInput{}
  3390. }
  3391. req = c.newRequest(op, input, output)
  3392. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  3393. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3394. output = &EnableMFADeviceOutput{}
  3395. req.Data = output
  3396. return
  3397. }
  3398. // EnableMFADevice API operation for AWS Identity and Access Management.
  3399. //
  3400. // Enables the specified MFA device and associates it with the specified IAM
  3401. // user. When enabled, the MFA device is required for every subsequent login
  3402. // by the IAM user associated with the device.
  3403. //
  3404. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3405. // with awserr.Error's Code and Message methods to get detailed information about
  3406. // the error.
  3407. //
  3408. // See the AWS API reference guide for AWS Identity and Access Management's
  3409. // API operation EnableMFADevice for usage and error information.
  3410. //
  3411. // Returned Error Codes:
  3412. // * EntityAlreadyExists
  3413. // The request was rejected because it attempted to create a resource that already
  3414. // exists.
  3415. //
  3416. // * EntityTemporarilyUnmodifiable
  3417. // The request was rejected because it referenced an entity that is temporarily
  3418. // unmodifiable, such as a user name that was deleted and then recreated. The
  3419. // error indicates that the request is likely to succeed if you try again after
  3420. // waiting several minutes. The error message describes the entity.
  3421. //
  3422. // * InvalidAuthenticationCode
  3423. // The request was rejected because the authentication code was not recognized.
  3424. // The error message describes the specific error.
  3425. //
  3426. // * LimitExceeded
  3427. // The request was rejected because it attempted to create resources beyond
  3428. // the current AWS account limits. The error message describes the limit exceeded.
  3429. //
  3430. // * NoSuchEntity
  3431. // The request was rejected because it referenced an entity that does not exist.
  3432. // The error message describes the entity.
  3433. //
  3434. // * ServiceFailure
  3435. // The request processing has failed because of an unknown error, exception
  3436. // or failure.
  3437. //
  3438. func (c *IAM) EnableMFADevice(input *EnableMFADeviceInput) (*EnableMFADeviceOutput, error) {
  3439. req, out := c.EnableMFADeviceRequest(input)
  3440. err := req.Send()
  3441. return out, err
  3442. }
  3443. const opGenerateCredentialReport = "GenerateCredentialReport"
  3444. // GenerateCredentialReportRequest generates a "aws/request.Request" representing the
  3445. // client's request for the GenerateCredentialReport operation. The "output" return
  3446. // value can be used to capture response data after the request's "Send" method
  3447. // is called.
  3448. //
  3449. // See GenerateCredentialReport for usage and error information.
  3450. //
  3451. // Creating a request object using this method should be used when you want to inject
  3452. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3453. // access properties on the request object before or after sending the request. If
  3454. // you just want the service response, call the GenerateCredentialReport method directly
  3455. // instead.
  3456. //
  3457. // Note: You must call the "Send" method on the returned request object in order
  3458. // to execute the request.
  3459. //
  3460. // // Example sending a request using the GenerateCredentialReportRequest method.
  3461. // req, resp := client.GenerateCredentialReportRequest(params)
  3462. //
  3463. // err := req.Send()
  3464. // if err == nil { // resp is now filled
  3465. // fmt.Println(resp)
  3466. // }
  3467. //
  3468. func (c *IAM) GenerateCredentialReportRequest(input *GenerateCredentialReportInput) (req *request.Request, output *GenerateCredentialReportOutput) {
  3469. op := &request.Operation{
  3470. Name: opGenerateCredentialReport,
  3471. HTTPMethod: "POST",
  3472. HTTPPath: "/",
  3473. }
  3474. if input == nil {
  3475. input = &GenerateCredentialReportInput{}
  3476. }
  3477. req = c.newRequest(op, input, output)
  3478. output = &GenerateCredentialReportOutput{}
  3479. req.Data = output
  3480. return
  3481. }
  3482. // GenerateCredentialReport API operation for AWS Identity and Access Management.
  3483. //
  3484. // Generates a credential report for the AWS account. For more information about
  3485. // the credential report, see Getting Credential Reports (http://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html)
  3486. // in the IAM User Guide.
  3487. //
  3488. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3489. // with awserr.Error's Code and Message methods to get detailed information about
  3490. // the error.
  3491. //
  3492. // See the AWS API reference guide for AWS Identity and Access Management's
  3493. // API operation GenerateCredentialReport for usage and error information.
  3494. //
  3495. // Returned Error Codes:
  3496. // * LimitExceeded
  3497. // The request was rejected because it attempted to create resources beyond
  3498. // the current AWS account limits. The error message describes the limit exceeded.
  3499. //
  3500. // * ServiceFailure
  3501. // The request processing has failed because of an unknown error, exception
  3502. // or failure.
  3503. //
  3504. func (c *IAM) GenerateCredentialReport(input *GenerateCredentialReportInput) (*GenerateCredentialReportOutput, error) {
  3505. req, out := c.GenerateCredentialReportRequest(input)
  3506. err := req.Send()
  3507. return out, err
  3508. }
  3509. const opGetAccessKeyLastUsed = "GetAccessKeyLastUsed"
  3510. // GetAccessKeyLastUsedRequest generates a "aws/request.Request" representing the
  3511. // client's request for the GetAccessKeyLastUsed operation. The "output" return
  3512. // value can be used to capture response data after the request's "Send" method
  3513. // is called.
  3514. //
  3515. // See GetAccessKeyLastUsed for usage and error information.
  3516. //
  3517. // Creating a request object using this method should be used when you want to inject
  3518. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3519. // access properties on the request object before or after sending the request. If
  3520. // you just want the service response, call the GetAccessKeyLastUsed method directly
  3521. // instead.
  3522. //
  3523. // Note: You must call the "Send" method on the returned request object in order
  3524. // to execute the request.
  3525. //
  3526. // // Example sending a request using the GetAccessKeyLastUsedRequest method.
  3527. // req, resp := client.GetAccessKeyLastUsedRequest(params)
  3528. //
  3529. // err := req.Send()
  3530. // if err == nil { // resp is now filled
  3531. // fmt.Println(resp)
  3532. // }
  3533. //
  3534. func (c *IAM) GetAccessKeyLastUsedRequest(input *GetAccessKeyLastUsedInput) (req *request.Request, output *GetAccessKeyLastUsedOutput) {
  3535. op := &request.Operation{
  3536. Name: opGetAccessKeyLastUsed,
  3537. HTTPMethod: "POST",
  3538. HTTPPath: "/",
  3539. }
  3540. if input == nil {
  3541. input = &GetAccessKeyLastUsedInput{}
  3542. }
  3543. req = c.newRequest(op, input, output)
  3544. output = &GetAccessKeyLastUsedOutput{}
  3545. req.Data = output
  3546. return
  3547. }
  3548. // GetAccessKeyLastUsed API operation for AWS Identity and Access Management.
  3549. //
  3550. // Retrieves information about when the specified access key was last used.
  3551. // The information includes the date and time of last use, along with the AWS
  3552. // service and region that were specified in the last request made with that
  3553. // key.
  3554. //
  3555. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3556. // with awserr.Error's Code and Message methods to get detailed information about
  3557. // the error.
  3558. //
  3559. // See the AWS API reference guide for AWS Identity and Access Management's
  3560. // API operation GetAccessKeyLastUsed for usage and error information.
  3561. //
  3562. // Returned Error Codes:
  3563. // * NoSuchEntity
  3564. // The request was rejected because it referenced an entity that does not exist.
  3565. // The error message describes the entity.
  3566. //
  3567. func (c *IAM) GetAccessKeyLastUsed(input *GetAccessKeyLastUsedInput) (*GetAccessKeyLastUsedOutput, error) {
  3568. req, out := c.GetAccessKeyLastUsedRequest(input)
  3569. err := req.Send()
  3570. return out, err
  3571. }
  3572. const opGetAccountAuthorizationDetails = "GetAccountAuthorizationDetails"
  3573. // GetAccountAuthorizationDetailsRequest generates a "aws/request.Request" representing the
  3574. // client's request for the GetAccountAuthorizationDetails operation. The "output" return
  3575. // value can be used to capture response data after the request's "Send" method
  3576. // is called.
  3577. //
  3578. // See GetAccountAuthorizationDetails for usage and error information.
  3579. //
  3580. // Creating a request object using this method should be used when you want to inject
  3581. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3582. // access properties on the request object before or after sending the request. If
  3583. // you just want the service response, call the GetAccountAuthorizationDetails method directly
  3584. // instead.
  3585. //
  3586. // Note: You must call the "Send" method on the returned request object in order
  3587. // to execute the request.
  3588. //
  3589. // // Example sending a request using the GetAccountAuthorizationDetailsRequest method.
  3590. // req, resp := client.GetAccountAuthorizationDetailsRequest(params)
  3591. //
  3592. // err := req.Send()
  3593. // if err == nil { // resp is now filled
  3594. // fmt.Println(resp)
  3595. // }
  3596. //
  3597. func (c *IAM) GetAccountAuthorizationDetailsRequest(input *GetAccountAuthorizationDetailsInput) (req *request.Request, output *GetAccountAuthorizationDetailsOutput) {
  3598. op := &request.Operation{
  3599. Name: opGetAccountAuthorizationDetails,
  3600. HTTPMethod: "POST",
  3601. HTTPPath: "/",
  3602. Paginator: &request.Paginator{
  3603. InputTokens: []string{"Marker"},
  3604. OutputTokens: []string{"Marker"},
  3605. LimitToken: "MaxItems",
  3606. TruncationToken: "IsTruncated",
  3607. },
  3608. }
  3609. if input == nil {
  3610. input = &GetAccountAuthorizationDetailsInput{}
  3611. }
  3612. req = c.newRequest(op, input, output)
  3613. output = &GetAccountAuthorizationDetailsOutput{}
  3614. req.Data = output
  3615. return
  3616. }
  3617. // GetAccountAuthorizationDetails API operation for AWS Identity and Access Management.
  3618. //
  3619. // Retrieves information about all IAM users, groups, roles, and policies in
  3620. // your AWS account, including their relationships to one another. Use this
  3621. // API to obtain a snapshot of the configuration of IAM permissions (users,
  3622. // groups, roles, and policies) in your account.
  3623. //
  3624. // You can optionally filter the results using the Filter parameter. You can
  3625. // paginate the results using the MaxItems and Marker parameters.
  3626. //
  3627. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3628. // with awserr.Error's Code and Message methods to get detailed information about
  3629. // the error.
  3630. //
  3631. // See the AWS API reference guide for AWS Identity and Access Management's
  3632. // API operation GetAccountAuthorizationDetails for usage and error information.
  3633. //
  3634. // Returned Error Codes:
  3635. // * ServiceFailure
  3636. // The request processing has failed because of an unknown error, exception
  3637. // or failure.
  3638. //
  3639. func (c *IAM) GetAccountAuthorizationDetails(input *GetAccountAuthorizationDetailsInput) (*GetAccountAuthorizationDetailsOutput, error) {
  3640. req, out := c.GetAccountAuthorizationDetailsRequest(input)
  3641. err := req.Send()
  3642. return out, err
  3643. }
  3644. // GetAccountAuthorizationDetailsPages iterates over the pages of a GetAccountAuthorizationDetails operation,
  3645. // calling the "fn" function with the response data for each page. To stop
  3646. // iterating, return false from the fn function.
  3647. //
  3648. // See GetAccountAuthorizationDetails method for more information on how to use this operation.
  3649. //
  3650. // Note: This operation can generate multiple requests to a service.
  3651. //
  3652. // // Example iterating over at most 3 pages of a GetAccountAuthorizationDetails operation.
  3653. // pageNum := 0
  3654. // err := client.GetAccountAuthorizationDetailsPages(params,
  3655. // func(page *GetAccountAuthorizationDetailsOutput, lastPage bool) bool {
  3656. // pageNum++
  3657. // fmt.Println(page)
  3658. // return pageNum <= 3
  3659. // })
  3660. //
  3661. func (c *IAM) GetAccountAuthorizationDetailsPages(input *GetAccountAuthorizationDetailsInput, fn func(p *GetAccountAuthorizationDetailsOutput, lastPage bool) (shouldContinue bool)) error {
  3662. page, _ := c.GetAccountAuthorizationDetailsRequest(input)
  3663. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  3664. return page.EachPage(func(p interface{}, lastPage bool) bool {
  3665. return fn(p.(*GetAccountAuthorizationDetailsOutput), lastPage)
  3666. })
  3667. }
  3668. const opGetAccountPasswordPolicy = "GetAccountPasswordPolicy"
  3669. // GetAccountPasswordPolicyRequest generates a "aws/request.Request" representing the
  3670. // client's request for the GetAccountPasswordPolicy operation. The "output" return
  3671. // value can be used to capture response data after the request's "Send" method
  3672. // is called.
  3673. //
  3674. // See GetAccountPasswordPolicy for usage and error information.
  3675. //
  3676. // Creating a request object using this method should be used when you want to inject
  3677. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3678. // access properties on the request object before or after sending the request. If
  3679. // you just want the service response, call the GetAccountPasswordPolicy method directly
  3680. // instead.
  3681. //
  3682. // Note: You must call the "Send" method on the returned request object in order
  3683. // to execute the request.
  3684. //
  3685. // // Example sending a request using the GetAccountPasswordPolicyRequest method.
  3686. // req, resp := client.GetAccountPasswordPolicyRequest(params)
  3687. //
  3688. // err := req.Send()
  3689. // if err == nil { // resp is now filled
  3690. // fmt.Println(resp)
  3691. // }
  3692. //
  3693. func (c *IAM) GetAccountPasswordPolicyRequest(input *GetAccountPasswordPolicyInput) (req *request.Request, output *GetAccountPasswordPolicyOutput) {
  3694. op := &request.Operation{
  3695. Name: opGetAccountPasswordPolicy,
  3696. HTTPMethod: "POST",
  3697. HTTPPath: "/",
  3698. }
  3699. if input == nil {
  3700. input = &GetAccountPasswordPolicyInput{}
  3701. }
  3702. req = c.newRequest(op, input, output)
  3703. output = &GetAccountPasswordPolicyOutput{}
  3704. req.Data = output
  3705. return
  3706. }
  3707. // GetAccountPasswordPolicy API operation for AWS Identity and Access Management.
  3708. //
  3709. // Retrieves the password policy for the AWS account. For more information about
  3710. // using a password policy, go to Managing an IAM Password Policy (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingPasswordPolicies.html).
  3711. //
  3712. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3713. // with awserr.Error's Code and Message methods to get detailed information about
  3714. // the error.
  3715. //
  3716. // See the AWS API reference guide for AWS Identity and Access Management's
  3717. // API operation GetAccountPasswordPolicy for usage and error information.
  3718. //
  3719. // Returned Error Codes:
  3720. // * NoSuchEntity
  3721. // The request was rejected because it referenced an entity that does not exist.
  3722. // The error message describes the entity.
  3723. //
  3724. // * ServiceFailure
  3725. // The request processing has failed because of an unknown error, exception
  3726. // or failure.
  3727. //
  3728. func (c *IAM) GetAccountPasswordPolicy(input *GetAccountPasswordPolicyInput) (*GetAccountPasswordPolicyOutput, error) {
  3729. req, out := c.GetAccountPasswordPolicyRequest(input)
  3730. err := req.Send()
  3731. return out, err
  3732. }
  3733. const opGetAccountSummary = "GetAccountSummary"
  3734. // GetAccountSummaryRequest generates a "aws/request.Request" representing the
  3735. // client's request for the GetAccountSummary operation. The "output" return
  3736. // value can be used to capture response data after the request's "Send" method
  3737. // is called.
  3738. //
  3739. // See GetAccountSummary for usage and error information.
  3740. //
  3741. // Creating a request object using this method should be used when you want to inject
  3742. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3743. // access properties on the request object before or after sending the request. If
  3744. // you just want the service response, call the GetAccountSummary method directly
  3745. // instead.
  3746. //
  3747. // Note: You must call the "Send" method on the returned request object in order
  3748. // to execute the request.
  3749. //
  3750. // // Example sending a request using the GetAccountSummaryRequest method.
  3751. // req, resp := client.GetAccountSummaryRequest(params)
  3752. //
  3753. // err := req.Send()
  3754. // if err == nil { // resp is now filled
  3755. // fmt.Println(resp)
  3756. // }
  3757. //
  3758. func (c *IAM) GetAccountSummaryRequest(input *GetAccountSummaryInput) (req *request.Request, output *GetAccountSummaryOutput) {
  3759. op := &request.Operation{
  3760. Name: opGetAccountSummary,
  3761. HTTPMethod: "POST",
  3762. HTTPPath: "/",
  3763. }
  3764. if input == nil {
  3765. input = &GetAccountSummaryInput{}
  3766. }
  3767. req = c.newRequest(op, input, output)
  3768. output = &GetAccountSummaryOutput{}
  3769. req.Data = output
  3770. return
  3771. }
  3772. // GetAccountSummary API operation for AWS Identity and Access Management.
  3773. //
  3774. // Retrieves information about IAM entity usage and IAM quotas in the AWS account.
  3775. //
  3776. // For information about limitations on IAM entities, see Limitations on IAM
  3777. // Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
  3778. // in the IAM User Guide.
  3779. //
  3780. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3781. // with awserr.Error's Code and Message methods to get detailed information about
  3782. // the error.
  3783. //
  3784. // See the AWS API reference guide for AWS Identity and Access Management's
  3785. // API operation GetAccountSummary for usage and error information.
  3786. //
  3787. // Returned Error Codes:
  3788. // * ServiceFailure
  3789. // The request processing has failed because of an unknown error, exception
  3790. // or failure.
  3791. //
  3792. func (c *IAM) GetAccountSummary(input *GetAccountSummaryInput) (*GetAccountSummaryOutput, error) {
  3793. req, out := c.GetAccountSummaryRequest(input)
  3794. err := req.Send()
  3795. return out, err
  3796. }
  3797. const opGetContextKeysForCustomPolicy = "GetContextKeysForCustomPolicy"
  3798. // GetContextKeysForCustomPolicyRequest generates a "aws/request.Request" representing the
  3799. // client's request for the GetContextKeysForCustomPolicy operation. The "output" return
  3800. // value can be used to capture response data after the request's "Send" method
  3801. // is called.
  3802. //
  3803. // See GetContextKeysForCustomPolicy for usage and error information.
  3804. //
  3805. // Creating a request object using this method should be used when you want to inject
  3806. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3807. // access properties on the request object before or after sending the request. If
  3808. // you just want the service response, call the GetContextKeysForCustomPolicy method directly
  3809. // instead.
  3810. //
  3811. // Note: You must call the "Send" method on the returned request object in order
  3812. // to execute the request.
  3813. //
  3814. // // Example sending a request using the GetContextKeysForCustomPolicyRequest method.
  3815. // req, resp := client.GetContextKeysForCustomPolicyRequest(params)
  3816. //
  3817. // err := req.Send()
  3818. // if err == nil { // resp is now filled
  3819. // fmt.Println(resp)
  3820. // }
  3821. //
  3822. func (c *IAM) GetContextKeysForCustomPolicyRequest(input *GetContextKeysForCustomPolicyInput) (req *request.Request, output *GetContextKeysForPolicyResponse) {
  3823. op := &request.Operation{
  3824. Name: opGetContextKeysForCustomPolicy,
  3825. HTTPMethod: "POST",
  3826. HTTPPath: "/",
  3827. }
  3828. if input == nil {
  3829. input = &GetContextKeysForCustomPolicyInput{}
  3830. }
  3831. req = c.newRequest(op, input, output)
  3832. output = &GetContextKeysForPolicyResponse{}
  3833. req.Data = output
  3834. return
  3835. }
  3836. // GetContextKeysForCustomPolicy API operation for AWS Identity and Access Management.
  3837. //
  3838. // Gets a list of all of the context keys referenced in the input policies.
  3839. // The policies are supplied as a list of one or more strings. To get the context
  3840. // keys from policies associated with an IAM user, group, or role, use GetContextKeysForPrincipalPolicy.
  3841. //
  3842. // Context keys are variables maintained by AWS and its services that provide
  3843. // details about the context of an API query request, and can be evaluated by
  3844. // testing against a value specified in an IAM policy. Use GetContextKeysForCustomPolicy
  3845. // to understand what key names and values you must supply when you call SimulateCustomPolicy.
  3846. // Note that all parameters are shown in unencoded form here for clarity, but
  3847. // must be URL encoded to be included as a part of a real HTML request.
  3848. //
  3849. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3850. // with awserr.Error's Code and Message methods to get detailed information about
  3851. // the error.
  3852. //
  3853. // See the AWS API reference guide for AWS Identity and Access Management's
  3854. // API operation GetContextKeysForCustomPolicy for usage and error information.
  3855. //
  3856. // Returned Error Codes:
  3857. // * InvalidInput
  3858. // The request was rejected because an invalid or out-of-range value was supplied
  3859. // for an input parameter.
  3860. //
  3861. func (c *IAM) GetContextKeysForCustomPolicy(input *GetContextKeysForCustomPolicyInput) (*GetContextKeysForPolicyResponse, error) {
  3862. req, out := c.GetContextKeysForCustomPolicyRequest(input)
  3863. err := req.Send()
  3864. return out, err
  3865. }
  3866. const opGetContextKeysForPrincipalPolicy = "GetContextKeysForPrincipalPolicy"
  3867. // GetContextKeysForPrincipalPolicyRequest generates a "aws/request.Request" representing the
  3868. // client's request for the GetContextKeysForPrincipalPolicy operation. The "output" return
  3869. // value can be used to capture response data after the request's "Send" method
  3870. // is called.
  3871. //
  3872. // See GetContextKeysForPrincipalPolicy for usage and error information.
  3873. //
  3874. // Creating a request object using this method should be used when you want to inject
  3875. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3876. // access properties on the request object before or after sending the request. If
  3877. // you just want the service response, call the GetContextKeysForPrincipalPolicy method directly
  3878. // instead.
  3879. //
  3880. // Note: You must call the "Send" method on the returned request object in order
  3881. // to execute the request.
  3882. //
  3883. // // Example sending a request using the GetContextKeysForPrincipalPolicyRequest method.
  3884. // req, resp := client.GetContextKeysForPrincipalPolicyRequest(params)
  3885. //
  3886. // err := req.Send()
  3887. // if err == nil { // resp is now filled
  3888. // fmt.Println(resp)
  3889. // }
  3890. //
  3891. func (c *IAM) GetContextKeysForPrincipalPolicyRequest(input *GetContextKeysForPrincipalPolicyInput) (req *request.Request, output *GetContextKeysForPolicyResponse) {
  3892. op := &request.Operation{
  3893. Name: opGetContextKeysForPrincipalPolicy,
  3894. HTTPMethod: "POST",
  3895. HTTPPath: "/",
  3896. }
  3897. if input == nil {
  3898. input = &GetContextKeysForPrincipalPolicyInput{}
  3899. }
  3900. req = c.newRequest(op, input, output)
  3901. output = &GetContextKeysForPolicyResponse{}
  3902. req.Data = output
  3903. return
  3904. }
  3905. // GetContextKeysForPrincipalPolicy API operation for AWS Identity and Access Management.
  3906. //
  3907. // Gets a list of all of the context keys referenced in all of the IAM policies
  3908. // attached to the specified IAM entity. The entity can be an IAM user, group,
  3909. // or role. If you specify a user, then the request also includes all of the
  3910. // policies attached to groups that the user is a member of.
  3911. //
  3912. // You can optionally include a list of one or more additional policies, specified
  3913. // as strings. If you want to include only a list of policies by string, use
  3914. // GetContextKeysForCustomPolicy instead.
  3915. //
  3916. // Note: This API discloses information about the permissions granted to other
  3917. // users. If you do not want users to see other user's permissions, then consider
  3918. // allowing them to use GetContextKeysForCustomPolicy instead.
  3919. //
  3920. // Context keys are variables maintained by AWS and its services that provide
  3921. // details about the context of an API query request, and can be evaluated by
  3922. // testing against a value in an IAM policy. Use GetContextKeysForPrincipalPolicy
  3923. // to understand what key names and values you must supply when you call SimulatePrincipalPolicy.
  3924. //
  3925. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3926. // with awserr.Error's Code and Message methods to get detailed information about
  3927. // the error.
  3928. //
  3929. // See the AWS API reference guide for AWS Identity and Access Management's
  3930. // API operation GetContextKeysForPrincipalPolicy for usage and error information.
  3931. //
  3932. // Returned Error Codes:
  3933. // * NoSuchEntity
  3934. // The request was rejected because it referenced an entity that does not exist.
  3935. // The error message describes the entity.
  3936. //
  3937. // * InvalidInput
  3938. // The request was rejected because an invalid or out-of-range value was supplied
  3939. // for an input parameter.
  3940. //
  3941. func (c *IAM) GetContextKeysForPrincipalPolicy(input *GetContextKeysForPrincipalPolicyInput) (*GetContextKeysForPolicyResponse, error) {
  3942. req, out := c.GetContextKeysForPrincipalPolicyRequest(input)
  3943. err := req.Send()
  3944. return out, err
  3945. }
  3946. const opGetCredentialReport = "GetCredentialReport"
  3947. // GetCredentialReportRequest generates a "aws/request.Request" representing the
  3948. // client's request for the GetCredentialReport operation. The "output" return
  3949. // value can be used to capture response data after the request's "Send" method
  3950. // is called.
  3951. //
  3952. // See GetCredentialReport for usage and error information.
  3953. //
  3954. // Creating a request object using this method should be used when you want to inject
  3955. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3956. // access properties on the request object before or after sending the request. If
  3957. // you just want the service response, call the GetCredentialReport method directly
  3958. // instead.
  3959. //
  3960. // Note: You must call the "Send" method on the returned request object in order
  3961. // to execute the request.
  3962. //
  3963. // // Example sending a request using the GetCredentialReportRequest method.
  3964. // req, resp := client.GetCredentialReportRequest(params)
  3965. //
  3966. // err := req.Send()
  3967. // if err == nil { // resp is now filled
  3968. // fmt.Println(resp)
  3969. // }
  3970. //
  3971. func (c *IAM) GetCredentialReportRequest(input *GetCredentialReportInput) (req *request.Request, output *GetCredentialReportOutput) {
  3972. op := &request.Operation{
  3973. Name: opGetCredentialReport,
  3974. HTTPMethod: "POST",
  3975. HTTPPath: "/",
  3976. }
  3977. if input == nil {
  3978. input = &GetCredentialReportInput{}
  3979. }
  3980. req = c.newRequest(op, input, output)
  3981. output = &GetCredentialReportOutput{}
  3982. req.Data = output
  3983. return
  3984. }
  3985. // GetCredentialReport API operation for AWS Identity and Access Management.
  3986. //
  3987. // Retrieves a credential report for the AWS account. For more information about
  3988. // the credential report, see Getting Credential Reports (http://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html)
  3989. // in the IAM User Guide.
  3990. //
  3991. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3992. // with awserr.Error's Code and Message methods to get detailed information about
  3993. // the error.
  3994. //
  3995. // See the AWS API reference guide for AWS Identity and Access Management's
  3996. // API operation GetCredentialReport for usage and error information.
  3997. //
  3998. // Returned Error Codes:
  3999. // * ReportNotPresent
  4000. // The request was rejected because the credential report does not exist. To
  4001. // generate a credential report, use GenerateCredentialReport.
  4002. //
  4003. // * ReportExpired
  4004. // The request was rejected because the most recent credential report has expired.
  4005. // To generate a new credential report, use GenerateCredentialReport. For more
  4006. // information about credential report expiration, see Getting Credential Reports
  4007. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html)
  4008. // in the IAM User Guide.
  4009. //
  4010. // * ReportInProgress
  4011. // The request was rejected because the credential report is still being generated.
  4012. //
  4013. // * ServiceFailure
  4014. // The request processing has failed because of an unknown error, exception
  4015. // or failure.
  4016. //
  4017. func (c *IAM) GetCredentialReport(input *GetCredentialReportInput) (*GetCredentialReportOutput, error) {
  4018. req, out := c.GetCredentialReportRequest(input)
  4019. err := req.Send()
  4020. return out, err
  4021. }
  4022. const opGetGroup = "GetGroup"
  4023. // GetGroupRequest generates a "aws/request.Request" representing the
  4024. // client's request for the GetGroup operation. The "output" return
  4025. // value can be used to capture response data after the request's "Send" method
  4026. // is called.
  4027. //
  4028. // See GetGroup for usage and error information.
  4029. //
  4030. // Creating a request object using this method should be used when you want to inject
  4031. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4032. // access properties on the request object before or after sending the request. If
  4033. // you just want the service response, call the GetGroup method directly
  4034. // instead.
  4035. //
  4036. // Note: You must call the "Send" method on the returned request object in order
  4037. // to execute the request.
  4038. //
  4039. // // Example sending a request using the GetGroupRequest method.
  4040. // req, resp := client.GetGroupRequest(params)
  4041. //
  4042. // err := req.Send()
  4043. // if err == nil { // resp is now filled
  4044. // fmt.Println(resp)
  4045. // }
  4046. //
  4047. func (c *IAM) GetGroupRequest(input *GetGroupInput) (req *request.Request, output *GetGroupOutput) {
  4048. op := &request.Operation{
  4049. Name: opGetGroup,
  4050. HTTPMethod: "POST",
  4051. HTTPPath: "/",
  4052. Paginator: &request.Paginator{
  4053. InputTokens: []string{"Marker"},
  4054. OutputTokens: []string{"Marker"},
  4055. LimitToken: "MaxItems",
  4056. TruncationToken: "IsTruncated",
  4057. },
  4058. }
  4059. if input == nil {
  4060. input = &GetGroupInput{}
  4061. }
  4062. req = c.newRequest(op, input, output)
  4063. output = &GetGroupOutput{}
  4064. req.Data = output
  4065. return
  4066. }
  4067. // GetGroup API operation for AWS Identity and Access Management.
  4068. //
  4069. // Returns a list of IAM users that are in the specified IAM group. You can
  4070. // paginate the results using the MaxItems and Marker parameters.
  4071. //
  4072. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4073. // with awserr.Error's Code and Message methods to get detailed information about
  4074. // the error.
  4075. //
  4076. // See the AWS API reference guide for AWS Identity and Access Management's
  4077. // API operation GetGroup for usage and error information.
  4078. //
  4079. // Returned Error Codes:
  4080. // * NoSuchEntity
  4081. // The request was rejected because it referenced an entity that does not exist.
  4082. // The error message describes the entity.
  4083. //
  4084. // * ServiceFailure
  4085. // The request processing has failed because of an unknown error, exception
  4086. // or failure.
  4087. //
  4088. func (c *IAM) GetGroup(input *GetGroupInput) (*GetGroupOutput, error) {
  4089. req, out := c.GetGroupRequest(input)
  4090. err := req.Send()
  4091. return out, err
  4092. }
  4093. // GetGroupPages iterates over the pages of a GetGroup operation,
  4094. // calling the "fn" function with the response data for each page. To stop
  4095. // iterating, return false from the fn function.
  4096. //
  4097. // See GetGroup method for more information on how to use this operation.
  4098. //
  4099. // Note: This operation can generate multiple requests to a service.
  4100. //
  4101. // // Example iterating over at most 3 pages of a GetGroup operation.
  4102. // pageNum := 0
  4103. // err := client.GetGroupPages(params,
  4104. // func(page *GetGroupOutput, lastPage bool) bool {
  4105. // pageNum++
  4106. // fmt.Println(page)
  4107. // return pageNum <= 3
  4108. // })
  4109. //
  4110. func (c *IAM) GetGroupPages(input *GetGroupInput, fn func(p *GetGroupOutput, lastPage bool) (shouldContinue bool)) error {
  4111. page, _ := c.GetGroupRequest(input)
  4112. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  4113. return page.EachPage(func(p interface{}, lastPage bool) bool {
  4114. return fn(p.(*GetGroupOutput), lastPage)
  4115. })
  4116. }
  4117. const opGetGroupPolicy = "GetGroupPolicy"
  4118. // GetGroupPolicyRequest generates a "aws/request.Request" representing the
  4119. // client's request for the GetGroupPolicy operation. The "output" return
  4120. // value can be used to capture response data after the request's "Send" method
  4121. // is called.
  4122. //
  4123. // See GetGroupPolicy for usage and error information.
  4124. //
  4125. // Creating a request object using this method should be used when you want to inject
  4126. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4127. // access properties on the request object before or after sending the request. If
  4128. // you just want the service response, call the GetGroupPolicy method directly
  4129. // instead.
  4130. //
  4131. // Note: You must call the "Send" method on the returned request object in order
  4132. // to execute the request.
  4133. //
  4134. // // Example sending a request using the GetGroupPolicyRequest method.
  4135. // req, resp := client.GetGroupPolicyRequest(params)
  4136. //
  4137. // err := req.Send()
  4138. // if err == nil { // resp is now filled
  4139. // fmt.Println(resp)
  4140. // }
  4141. //
  4142. func (c *IAM) GetGroupPolicyRequest(input *GetGroupPolicyInput) (req *request.Request, output *GetGroupPolicyOutput) {
  4143. op := &request.Operation{
  4144. Name: opGetGroupPolicy,
  4145. HTTPMethod: "POST",
  4146. HTTPPath: "/",
  4147. }
  4148. if input == nil {
  4149. input = &GetGroupPolicyInput{}
  4150. }
  4151. req = c.newRequest(op, input, output)
  4152. output = &GetGroupPolicyOutput{}
  4153. req.Data = output
  4154. return
  4155. }
  4156. // GetGroupPolicy API operation for AWS Identity and Access Management.
  4157. //
  4158. // Retrieves the specified inline policy document that is embedded in the specified
  4159. // IAM group.
  4160. //
  4161. // Policies returned by this API are URL-encoded compliant with RFC 3986 (https://tools.ietf.org/html/rfc3986).
  4162. // You can use a URL decoding method to convert the policy back to plain JSON
  4163. // text. For example, if you use Java, you can use the decode method of the
  4164. // java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs
  4165. // provide similar functionality.
  4166. //
  4167. // An IAM group can also have managed policies attached to it. To retrieve a
  4168. // managed policy document that is attached to a group, use GetPolicy to determine
  4169. // the policy's default version, then use GetPolicyVersion to retrieve the policy
  4170. // document.
  4171. //
  4172. // For more information about policies, see Managed Policies and Inline Policies
  4173. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  4174. // in the IAM User Guide.
  4175. //
  4176. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4177. // with awserr.Error's Code and Message methods to get detailed information about
  4178. // the error.
  4179. //
  4180. // See the AWS API reference guide for AWS Identity and Access Management's
  4181. // API operation GetGroupPolicy for usage and error information.
  4182. //
  4183. // Returned Error Codes:
  4184. // * NoSuchEntity
  4185. // The request was rejected because it referenced an entity that does not exist.
  4186. // The error message describes the entity.
  4187. //
  4188. // * ServiceFailure
  4189. // The request processing has failed because of an unknown error, exception
  4190. // or failure.
  4191. //
  4192. func (c *IAM) GetGroupPolicy(input *GetGroupPolicyInput) (*GetGroupPolicyOutput, error) {
  4193. req, out := c.GetGroupPolicyRequest(input)
  4194. err := req.Send()
  4195. return out, err
  4196. }
  4197. const opGetInstanceProfile = "GetInstanceProfile"
  4198. // GetInstanceProfileRequest generates a "aws/request.Request" representing the
  4199. // client's request for the GetInstanceProfile operation. The "output" return
  4200. // value can be used to capture response data after the request's "Send" method
  4201. // is called.
  4202. //
  4203. // See GetInstanceProfile for usage and error information.
  4204. //
  4205. // Creating a request object using this method should be used when you want to inject
  4206. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4207. // access properties on the request object before or after sending the request. If
  4208. // you just want the service response, call the GetInstanceProfile method directly
  4209. // instead.
  4210. //
  4211. // Note: You must call the "Send" method on the returned request object in order
  4212. // to execute the request.
  4213. //
  4214. // // Example sending a request using the GetInstanceProfileRequest method.
  4215. // req, resp := client.GetInstanceProfileRequest(params)
  4216. //
  4217. // err := req.Send()
  4218. // if err == nil { // resp is now filled
  4219. // fmt.Println(resp)
  4220. // }
  4221. //
  4222. func (c *IAM) GetInstanceProfileRequest(input *GetInstanceProfileInput) (req *request.Request, output *GetInstanceProfileOutput) {
  4223. op := &request.Operation{
  4224. Name: opGetInstanceProfile,
  4225. HTTPMethod: "POST",
  4226. HTTPPath: "/",
  4227. }
  4228. if input == nil {
  4229. input = &GetInstanceProfileInput{}
  4230. }
  4231. req = c.newRequest(op, input, output)
  4232. output = &GetInstanceProfileOutput{}
  4233. req.Data = output
  4234. return
  4235. }
  4236. // GetInstanceProfile API operation for AWS Identity and Access Management.
  4237. //
  4238. // Retrieves information about the specified instance profile, including the
  4239. // instance profile's path, GUID, ARN, and role. For more information about
  4240. // instance profiles, see About Instance Profiles (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html)
  4241. // in the IAM User Guide.
  4242. //
  4243. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4244. // with awserr.Error's Code and Message methods to get detailed information about
  4245. // the error.
  4246. //
  4247. // See the AWS API reference guide for AWS Identity and Access Management's
  4248. // API operation GetInstanceProfile for usage and error information.
  4249. //
  4250. // Returned Error Codes:
  4251. // * NoSuchEntity
  4252. // The request was rejected because it referenced an entity that does not exist.
  4253. // The error message describes the entity.
  4254. //
  4255. // * ServiceFailure
  4256. // The request processing has failed because of an unknown error, exception
  4257. // or failure.
  4258. //
  4259. func (c *IAM) GetInstanceProfile(input *GetInstanceProfileInput) (*GetInstanceProfileOutput, error) {
  4260. req, out := c.GetInstanceProfileRequest(input)
  4261. err := req.Send()
  4262. return out, err
  4263. }
  4264. const opGetLoginProfile = "GetLoginProfile"
  4265. // GetLoginProfileRequest generates a "aws/request.Request" representing the
  4266. // client's request for the GetLoginProfile operation. The "output" return
  4267. // value can be used to capture response data after the request's "Send" method
  4268. // is called.
  4269. //
  4270. // See GetLoginProfile for usage and error information.
  4271. //
  4272. // Creating a request object using this method should be used when you want to inject
  4273. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4274. // access properties on the request object before or after sending the request. If
  4275. // you just want the service response, call the GetLoginProfile method directly
  4276. // instead.
  4277. //
  4278. // Note: You must call the "Send" method on the returned request object in order
  4279. // to execute the request.
  4280. //
  4281. // // Example sending a request using the GetLoginProfileRequest method.
  4282. // req, resp := client.GetLoginProfileRequest(params)
  4283. //
  4284. // err := req.Send()
  4285. // if err == nil { // resp is now filled
  4286. // fmt.Println(resp)
  4287. // }
  4288. //
  4289. func (c *IAM) GetLoginProfileRequest(input *GetLoginProfileInput) (req *request.Request, output *GetLoginProfileOutput) {
  4290. op := &request.Operation{
  4291. Name: opGetLoginProfile,
  4292. HTTPMethod: "POST",
  4293. HTTPPath: "/",
  4294. }
  4295. if input == nil {
  4296. input = &GetLoginProfileInput{}
  4297. }
  4298. req = c.newRequest(op, input, output)
  4299. output = &GetLoginProfileOutput{}
  4300. req.Data = output
  4301. return
  4302. }
  4303. // GetLoginProfile API operation for AWS Identity and Access Management.
  4304. //
  4305. // Retrieves the user name and password-creation date for the specified IAM
  4306. // user. If the user has not been assigned a password, the action returns a
  4307. // 404 (NoSuchEntity) error.
  4308. //
  4309. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4310. // with awserr.Error's Code and Message methods to get detailed information about
  4311. // the error.
  4312. //
  4313. // See the AWS API reference guide for AWS Identity and Access Management's
  4314. // API operation GetLoginProfile for usage and error information.
  4315. //
  4316. // Returned Error Codes:
  4317. // * NoSuchEntity
  4318. // The request was rejected because it referenced an entity that does not exist.
  4319. // The error message describes the entity.
  4320. //
  4321. // * ServiceFailure
  4322. // The request processing has failed because of an unknown error, exception
  4323. // or failure.
  4324. //
  4325. func (c *IAM) GetLoginProfile(input *GetLoginProfileInput) (*GetLoginProfileOutput, error) {
  4326. req, out := c.GetLoginProfileRequest(input)
  4327. err := req.Send()
  4328. return out, err
  4329. }
  4330. const opGetOpenIDConnectProvider = "GetOpenIDConnectProvider"
  4331. // GetOpenIDConnectProviderRequest generates a "aws/request.Request" representing the
  4332. // client's request for the GetOpenIDConnectProvider operation. The "output" return
  4333. // value can be used to capture response data after the request's "Send" method
  4334. // is called.
  4335. //
  4336. // See GetOpenIDConnectProvider for usage and error information.
  4337. //
  4338. // Creating a request object using this method should be used when you want to inject
  4339. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4340. // access properties on the request object before or after sending the request. If
  4341. // you just want the service response, call the GetOpenIDConnectProvider method directly
  4342. // instead.
  4343. //
  4344. // Note: You must call the "Send" method on the returned request object in order
  4345. // to execute the request.
  4346. //
  4347. // // Example sending a request using the GetOpenIDConnectProviderRequest method.
  4348. // req, resp := client.GetOpenIDConnectProviderRequest(params)
  4349. //
  4350. // err := req.Send()
  4351. // if err == nil { // resp is now filled
  4352. // fmt.Println(resp)
  4353. // }
  4354. //
  4355. func (c *IAM) GetOpenIDConnectProviderRequest(input *GetOpenIDConnectProviderInput) (req *request.Request, output *GetOpenIDConnectProviderOutput) {
  4356. op := &request.Operation{
  4357. Name: opGetOpenIDConnectProvider,
  4358. HTTPMethod: "POST",
  4359. HTTPPath: "/",
  4360. }
  4361. if input == nil {
  4362. input = &GetOpenIDConnectProviderInput{}
  4363. }
  4364. req = c.newRequest(op, input, output)
  4365. output = &GetOpenIDConnectProviderOutput{}
  4366. req.Data = output
  4367. return
  4368. }
  4369. // GetOpenIDConnectProvider API operation for AWS Identity and Access Management.
  4370. //
  4371. // Returns information about the specified OpenID Connect (OIDC) provider resource
  4372. // object in IAM.
  4373. //
  4374. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4375. // with awserr.Error's Code and Message methods to get detailed information about
  4376. // the error.
  4377. //
  4378. // See the AWS API reference guide for AWS Identity and Access Management's
  4379. // API operation GetOpenIDConnectProvider for usage and error information.
  4380. //
  4381. // Returned Error Codes:
  4382. // * InvalidInput
  4383. // The request was rejected because an invalid or out-of-range value was supplied
  4384. // for an input parameter.
  4385. //
  4386. // * NoSuchEntity
  4387. // The request was rejected because it referenced an entity that does not exist.
  4388. // The error message describes the entity.
  4389. //
  4390. // * ServiceFailure
  4391. // The request processing has failed because of an unknown error, exception
  4392. // or failure.
  4393. //
  4394. func (c *IAM) GetOpenIDConnectProvider(input *GetOpenIDConnectProviderInput) (*GetOpenIDConnectProviderOutput, error) {
  4395. req, out := c.GetOpenIDConnectProviderRequest(input)
  4396. err := req.Send()
  4397. return out, err
  4398. }
  4399. const opGetPolicy = "GetPolicy"
  4400. // GetPolicyRequest generates a "aws/request.Request" representing the
  4401. // client's request for the GetPolicy operation. The "output" return
  4402. // value can be used to capture response data after the request's "Send" method
  4403. // is called.
  4404. //
  4405. // See GetPolicy for usage and error information.
  4406. //
  4407. // Creating a request object using this method should be used when you want to inject
  4408. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4409. // access properties on the request object before or after sending the request. If
  4410. // you just want the service response, call the GetPolicy method directly
  4411. // instead.
  4412. //
  4413. // Note: You must call the "Send" method on the returned request object in order
  4414. // to execute the request.
  4415. //
  4416. // // Example sending a request using the GetPolicyRequest method.
  4417. // req, resp := client.GetPolicyRequest(params)
  4418. //
  4419. // err := req.Send()
  4420. // if err == nil { // resp is now filled
  4421. // fmt.Println(resp)
  4422. // }
  4423. //
  4424. func (c *IAM) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, output *GetPolicyOutput) {
  4425. op := &request.Operation{
  4426. Name: opGetPolicy,
  4427. HTTPMethod: "POST",
  4428. HTTPPath: "/",
  4429. }
  4430. if input == nil {
  4431. input = &GetPolicyInput{}
  4432. }
  4433. req = c.newRequest(op, input, output)
  4434. output = &GetPolicyOutput{}
  4435. req.Data = output
  4436. return
  4437. }
  4438. // GetPolicy API operation for AWS Identity and Access Management.
  4439. //
  4440. // Retrieves information about the specified managed policy, including the policy's
  4441. // default version and the total number of IAM users, groups, and roles to which
  4442. // the policy is attached. To retrieve the list of the specific users, groups,
  4443. // and roles that the policy is attached to, use the ListEntitiesForPolicy API.
  4444. // This API returns metadata about the policy. To retrieve the actual policy
  4445. // document for a specific version of the policy, use GetPolicyVersion.
  4446. //
  4447. // This API retrieves information about managed policies. To retrieve information
  4448. // about an inline policy that is embedded with an IAM user, group, or role,
  4449. // use the GetUserPolicy, GetGroupPolicy, or GetRolePolicy API.
  4450. //
  4451. // For more information about policies, see Managed Policies and Inline Policies
  4452. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  4453. // in the IAM User Guide.
  4454. //
  4455. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4456. // with awserr.Error's Code and Message methods to get detailed information about
  4457. // the error.
  4458. //
  4459. // See the AWS API reference guide for AWS Identity and Access Management's
  4460. // API operation GetPolicy for usage and error information.
  4461. //
  4462. // Returned Error Codes:
  4463. // * NoSuchEntity
  4464. // The request was rejected because it referenced an entity that does not exist.
  4465. // The error message describes the entity.
  4466. //
  4467. // * InvalidInput
  4468. // The request was rejected because an invalid or out-of-range value was supplied
  4469. // for an input parameter.
  4470. //
  4471. // * ServiceFailure
  4472. // The request processing has failed because of an unknown error, exception
  4473. // or failure.
  4474. //
  4475. func (c *IAM) GetPolicy(input *GetPolicyInput) (*GetPolicyOutput, error) {
  4476. req, out := c.GetPolicyRequest(input)
  4477. err := req.Send()
  4478. return out, err
  4479. }
  4480. const opGetPolicyVersion = "GetPolicyVersion"
  4481. // GetPolicyVersionRequest generates a "aws/request.Request" representing the
  4482. // client's request for the GetPolicyVersion operation. The "output" return
  4483. // value can be used to capture response data after the request's "Send" method
  4484. // is called.
  4485. //
  4486. // See GetPolicyVersion for usage and error information.
  4487. //
  4488. // Creating a request object using this method should be used when you want to inject
  4489. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4490. // access properties on the request object before or after sending the request. If
  4491. // you just want the service response, call the GetPolicyVersion method directly
  4492. // instead.
  4493. //
  4494. // Note: You must call the "Send" method on the returned request object in order
  4495. // to execute the request.
  4496. //
  4497. // // Example sending a request using the GetPolicyVersionRequest method.
  4498. // req, resp := client.GetPolicyVersionRequest(params)
  4499. //
  4500. // err := req.Send()
  4501. // if err == nil { // resp is now filled
  4502. // fmt.Println(resp)
  4503. // }
  4504. //
  4505. func (c *IAM) GetPolicyVersionRequest(input *GetPolicyVersionInput) (req *request.Request, output *GetPolicyVersionOutput) {
  4506. op := &request.Operation{
  4507. Name: opGetPolicyVersion,
  4508. HTTPMethod: "POST",
  4509. HTTPPath: "/",
  4510. }
  4511. if input == nil {
  4512. input = &GetPolicyVersionInput{}
  4513. }
  4514. req = c.newRequest(op, input, output)
  4515. output = &GetPolicyVersionOutput{}
  4516. req.Data = output
  4517. return
  4518. }
  4519. // GetPolicyVersion API operation for AWS Identity and Access Management.
  4520. //
  4521. // Retrieves information about the specified version of the specified managed
  4522. // policy, including the policy document.
  4523. //
  4524. // Policies returned by this API are URL-encoded compliant with RFC 3986 (https://tools.ietf.org/html/rfc3986).
  4525. // You can use a URL decoding method to convert the policy back to plain JSON
  4526. // text. For example, if you use Java, you can use the decode method of the
  4527. // java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs
  4528. // provide similar functionality.
  4529. //
  4530. // To list the available versions for a policy, use ListPolicyVersions.
  4531. //
  4532. // This API retrieves information about managed policies. To retrieve information
  4533. // about an inline policy that is embedded in a user, group, or role, use the
  4534. // GetUserPolicy, GetGroupPolicy, or GetRolePolicy API.
  4535. //
  4536. // For more information about the types of policies, see Managed Policies and
  4537. // Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  4538. // in the IAM User Guide.
  4539. //
  4540. // For more information about managed policy versions, see Versioning for Managed
  4541. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
  4542. // in the IAM User Guide.
  4543. //
  4544. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4545. // with awserr.Error's Code and Message methods to get detailed information about
  4546. // the error.
  4547. //
  4548. // See the AWS API reference guide for AWS Identity and Access Management's
  4549. // API operation GetPolicyVersion for usage and error information.
  4550. //
  4551. // Returned Error Codes:
  4552. // * NoSuchEntity
  4553. // The request was rejected because it referenced an entity that does not exist.
  4554. // The error message describes the entity.
  4555. //
  4556. // * InvalidInput
  4557. // The request was rejected because an invalid or out-of-range value was supplied
  4558. // for an input parameter.
  4559. //
  4560. // * ServiceFailure
  4561. // The request processing has failed because of an unknown error, exception
  4562. // or failure.
  4563. //
  4564. func (c *IAM) GetPolicyVersion(input *GetPolicyVersionInput) (*GetPolicyVersionOutput, error) {
  4565. req, out := c.GetPolicyVersionRequest(input)
  4566. err := req.Send()
  4567. return out, err
  4568. }
  4569. const opGetRole = "GetRole"
  4570. // GetRoleRequest generates a "aws/request.Request" representing the
  4571. // client's request for the GetRole operation. The "output" return
  4572. // value can be used to capture response data after the request's "Send" method
  4573. // is called.
  4574. //
  4575. // See GetRole for usage and error information.
  4576. //
  4577. // Creating a request object using this method should be used when you want to inject
  4578. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4579. // access properties on the request object before or after sending the request. If
  4580. // you just want the service response, call the GetRole method directly
  4581. // instead.
  4582. //
  4583. // Note: You must call the "Send" method on the returned request object in order
  4584. // to execute the request.
  4585. //
  4586. // // Example sending a request using the GetRoleRequest method.
  4587. // req, resp := client.GetRoleRequest(params)
  4588. //
  4589. // err := req.Send()
  4590. // if err == nil { // resp is now filled
  4591. // fmt.Println(resp)
  4592. // }
  4593. //
  4594. func (c *IAM) GetRoleRequest(input *GetRoleInput) (req *request.Request, output *GetRoleOutput) {
  4595. op := &request.Operation{
  4596. Name: opGetRole,
  4597. HTTPMethod: "POST",
  4598. HTTPPath: "/",
  4599. }
  4600. if input == nil {
  4601. input = &GetRoleInput{}
  4602. }
  4603. req = c.newRequest(op, input, output)
  4604. output = &GetRoleOutput{}
  4605. req.Data = output
  4606. return
  4607. }
  4608. // GetRole API operation for AWS Identity and Access Management.
  4609. //
  4610. // Retrieves information about the specified role, including the role's path,
  4611. // GUID, ARN, and the role's trust policy that grants permission to assume the
  4612. // role. For more information about roles, see Working with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html).
  4613. //
  4614. // Policies returned by this API are URL-encoded compliant with RFC 3986 (https://tools.ietf.org/html/rfc3986).
  4615. // You can use a URL decoding method to convert the policy back to plain JSON
  4616. // text. For example, if you use Java, you can use the decode method of the
  4617. // java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs
  4618. // provide similar functionality.
  4619. //
  4620. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4621. // with awserr.Error's Code and Message methods to get detailed information about
  4622. // the error.
  4623. //
  4624. // See the AWS API reference guide for AWS Identity and Access Management's
  4625. // API operation GetRole for usage and error information.
  4626. //
  4627. // Returned Error Codes:
  4628. // * NoSuchEntity
  4629. // The request was rejected because it referenced an entity that does not exist.
  4630. // The error message describes the entity.
  4631. //
  4632. // * ServiceFailure
  4633. // The request processing has failed because of an unknown error, exception
  4634. // or failure.
  4635. //
  4636. func (c *IAM) GetRole(input *GetRoleInput) (*GetRoleOutput, error) {
  4637. req, out := c.GetRoleRequest(input)
  4638. err := req.Send()
  4639. return out, err
  4640. }
  4641. const opGetRolePolicy = "GetRolePolicy"
  4642. // GetRolePolicyRequest generates a "aws/request.Request" representing the
  4643. // client's request for the GetRolePolicy operation. The "output" return
  4644. // value can be used to capture response data after the request's "Send" method
  4645. // is called.
  4646. //
  4647. // See GetRolePolicy for usage and error information.
  4648. //
  4649. // Creating a request object using this method should be used when you want to inject
  4650. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4651. // access properties on the request object before or after sending the request. If
  4652. // you just want the service response, call the GetRolePolicy method directly
  4653. // instead.
  4654. //
  4655. // Note: You must call the "Send" method on the returned request object in order
  4656. // to execute the request.
  4657. //
  4658. // // Example sending a request using the GetRolePolicyRequest method.
  4659. // req, resp := client.GetRolePolicyRequest(params)
  4660. //
  4661. // err := req.Send()
  4662. // if err == nil { // resp is now filled
  4663. // fmt.Println(resp)
  4664. // }
  4665. //
  4666. func (c *IAM) GetRolePolicyRequest(input *GetRolePolicyInput) (req *request.Request, output *GetRolePolicyOutput) {
  4667. op := &request.Operation{
  4668. Name: opGetRolePolicy,
  4669. HTTPMethod: "POST",
  4670. HTTPPath: "/",
  4671. }
  4672. if input == nil {
  4673. input = &GetRolePolicyInput{}
  4674. }
  4675. req = c.newRequest(op, input, output)
  4676. output = &GetRolePolicyOutput{}
  4677. req.Data = output
  4678. return
  4679. }
  4680. // GetRolePolicy API operation for AWS Identity and Access Management.
  4681. //
  4682. // Retrieves the specified inline policy document that is embedded with the
  4683. // specified IAM role.
  4684. //
  4685. // Policies returned by this API are URL-encoded compliant with RFC 3986 (https://tools.ietf.org/html/rfc3986).
  4686. // You can use a URL decoding method to convert the policy back to plain JSON
  4687. // text. For example, if you use Java, you can use the decode method of the
  4688. // java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs
  4689. // provide similar functionality.
  4690. //
  4691. // An IAM role can also have managed policies attached to it. To retrieve a
  4692. // managed policy document that is attached to a role, use GetPolicy to determine
  4693. // the policy's default version, then use GetPolicyVersion to retrieve the policy
  4694. // document.
  4695. //
  4696. // For more information about policies, see Managed Policies and Inline Policies
  4697. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  4698. // in the IAM User Guide.
  4699. //
  4700. // For more information about roles, see Using Roles to Delegate Permissions
  4701. // and Federate Identities (http://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html).
  4702. //
  4703. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4704. // with awserr.Error's Code and Message methods to get detailed information about
  4705. // the error.
  4706. //
  4707. // See the AWS API reference guide for AWS Identity and Access Management's
  4708. // API operation GetRolePolicy for usage and error information.
  4709. //
  4710. // Returned Error Codes:
  4711. // * NoSuchEntity
  4712. // The request was rejected because it referenced an entity that does not exist.
  4713. // The error message describes the entity.
  4714. //
  4715. // * ServiceFailure
  4716. // The request processing has failed because of an unknown error, exception
  4717. // or failure.
  4718. //
  4719. func (c *IAM) GetRolePolicy(input *GetRolePolicyInput) (*GetRolePolicyOutput, error) {
  4720. req, out := c.GetRolePolicyRequest(input)
  4721. err := req.Send()
  4722. return out, err
  4723. }
  4724. const opGetSAMLProvider = "GetSAMLProvider"
  4725. // GetSAMLProviderRequest generates a "aws/request.Request" representing the
  4726. // client's request for the GetSAMLProvider operation. The "output" return
  4727. // value can be used to capture response data after the request's "Send" method
  4728. // is called.
  4729. //
  4730. // See GetSAMLProvider for usage and error information.
  4731. //
  4732. // Creating a request object using this method should be used when you want to inject
  4733. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4734. // access properties on the request object before or after sending the request. If
  4735. // you just want the service response, call the GetSAMLProvider method directly
  4736. // instead.
  4737. //
  4738. // Note: You must call the "Send" method on the returned request object in order
  4739. // to execute the request.
  4740. //
  4741. // // Example sending a request using the GetSAMLProviderRequest method.
  4742. // req, resp := client.GetSAMLProviderRequest(params)
  4743. //
  4744. // err := req.Send()
  4745. // if err == nil { // resp is now filled
  4746. // fmt.Println(resp)
  4747. // }
  4748. //
  4749. func (c *IAM) GetSAMLProviderRequest(input *GetSAMLProviderInput) (req *request.Request, output *GetSAMLProviderOutput) {
  4750. op := &request.Operation{
  4751. Name: opGetSAMLProvider,
  4752. HTTPMethod: "POST",
  4753. HTTPPath: "/",
  4754. }
  4755. if input == nil {
  4756. input = &GetSAMLProviderInput{}
  4757. }
  4758. req = c.newRequest(op, input, output)
  4759. output = &GetSAMLProviderOutput{}
  4760. req.Data = output
  4761. return
  4762. }
  4763. // GetSAMLProvider API operation for AWS Identity and Access Management.
  4764. //
  4765. // Returns the SAML provider metadocument that was uploaded when the IAM SAML
  4766. // provider resource object was created or updated.
  4767. //
  4768. // This operation requires Signature Version 4 (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
  4769. //
  4770. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4771. // with awserr.Error's Code and Message methods to get detailed information about
  4772. // the error.
  4773. //
  4774. // See the AWS API reference guide for AWS Identity and Access Management's
  4775. // API operation GetSAMLProvider for usage and error information.
  4776. //
  4777. // Returned Error Codes:
  4778. // * NoSuchEntity
  4779. // The request was rejected because it referenced an entity that does not exist.
  4780. // The error message describes the entity.
  4781. //
  4782. // * InvalidInput
  4783. // The request was rejected because an invalid or out-of-range value was supplied
  4784. // for an input parameter.
  4785. //
  4786. // * ServiceFailure
  4787. // The request processing has failed because of an unknown error, exception
  4788. // or failure.
  4789. //
  4790. func (c *IAM) GetSAMLProvider(input *GetSAMLProviderInput) (*GetSAMLProviderOutput, error) {
  4791. req, out := c.GetSAMLProviderRequest(input)
  4792. err := req.Send()
  4793. return out, err
  4794. }
  4795. const opGetSSHPublicKey = "GetSSHPublicKey"
  4796. // GetSSHPublicKeyRequest generates a "aws/request.Request" representing the
  4797. // client's request for the GetSSHPublicKey operation. The "output" return
  4798. // value can be used to capture response data after the request's "Send" method
  4799. // is called.
  4800. //
  4801. // See GetSSHPublicKey for usage and error information.
  4802. //
  4803. // Creating a request object using this method should be used when you want to inject
  4804. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4805. // access properties on the request object before or after sending the request. If
  4806. // you just want the service response, call the GetSSHPublicKey method directly
  4807. // instead.
  4808. //
  4809. // Note: You must call the "Send" method on the returned request object in order
  4810. // to execute the request.
  4811. //
  4812. // // Example sending a request using the GetSSHPublicKeyRequest method.
  4813. // req, resp := client.GetSSHPublicKeyRequest(params)
  4814. //
  4815. // err := req.Send()
  4816. // if err == nil { // resp is now filled
  4817. // fmt.Println(resp)
  4818. // }
  4819. //
  4820. func (c *IAM) GetSSHPublicKeyRequest(input *GetSSHPublicKeyInput) (req *request.Request, output *GetSSHPublicKeyOutput) {
  4821. op := &request.Operation{
  4822. Name: opGetSSHPublicKey,
  4823. HTTPMethod: "POST",
  4824. HTTPPath: "/",
  4825. }
  4826. if input == nil {
  4827. input = &GetSSHPublicKeyInput{}
  4828. }
  4829. req = c.newRequest(op, input, output)
  4830. output = &GetSSHPublicKeyOutput{}
  4831. req.Data = output
  4832. return
  4833. }
  4834. // GetSSHPublicKey API operation for AWS Identity and Access Management.
  4835. //
  4836. // Retrieves the specified SSH public key, including metadata about the key.
  4837. //
  4838. // The SSH public key retrieved by this action is used only for authenticating
  4839. // the associated IAM user to an AWS CodeCommit repository. For more information
  4840. // about using SSH keys to authenticate to an AWS CodeCommit repository, see
  4841. // Set up AWS CodeCommit for SSH Connections (http://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-credentials-ssh.html)
  4842. // in the AWS CodeCommit User Guide.
  4843. //
  4844. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4845. // with awserr.Error's Code and Message methods to get detailed information about
  4846. // the error.
  4847. //
  4848. // See the AWS API reference guide for AWS Identity and Access Management's
  4849. // API operation GetSSHPublicKey for usage and error information.
  4850. //
  4851. // Returned Error Codes:
  4852. // * NoSuchEntity
  4853. // The request was rejected because it referenced an entity that does not exist.
  4854. // The error message describes the entity.
  4855. //
  4856. // * UnrecognizedPublicKeyEncoding
  4857. // The request was rejected because the public key encoding format is unsupported
  4858. // or unrecognized.
  4859. //
  4860. func (c *IAM) GetSSHPublicKey(input *GetSSHPublicKeyInput) (*GetSSHPublicKeyOutput, error) {
  4861. req, out := c.GetSSHPublicKeyRequest(input)
  4862. err := req.Send()
  4863. return out, err
  4864. }
  4865. const opGetServerCertificate = "GetServerCertificate"
  4866. // GetServerCertificateRequest generates a "aws/request.Request" representing the
  4867. // client's request for the GetServerCertificate operation. The "output" return
  4868. // value can be used to capture response data after the request's "Send" method
  4869. // is called.
  4870. //
  4871. // See GetServerCertificate for usage and error information.
  4872. //
  4873. // Creating a request object using this method should be used when you want to inject
  4874. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4875. // access properties on the request object before or after sending the request. If
  4876. // you just want the service response, call the GetServerCertificate method directly
  4877. // instead.
  4878. //
  4879. // Note: You must call the "Send" method on the returned request object in order
  4880. // to execute the request.
  4881. //
  4882. // // Example sending a request using the GetServerCertificateRequest method.
  4883. // req, resp := client.GetServerCertificateRequest(params)
  4884. //
  4885. // err := req.Send()
  4886. // if err == nil { // resp is now filled
  4887. // fmt.Println(resp)
  4888. // }
  4889. //
  4890. func (c *IAM) GetServerCertificateRequest(input *GetServerCertificateInput) (req *request.Request, output *GetServerCertificateOutput) {
  4891. op := &request.Operation{
  4892. Name: opGetServerCertificate,
  4893. HTTPMethod: "POST",
  4894. HTTPPath: "/",
  4895. }
  4896. if input == nil {
  4897. input = &GetServerCertificateInput{}
  4898. }
  4899. req = c.newRequest(op, input, output)
  4900. output = &GetServerCertificateOutput{}
  4901. req.Data = output
  4902. return
  4903. }
  4904. // GetServerCertificate API operation for AWS Identity and Access Management.
  4905. //
  4906. // Retrieves information about the specified server certificate stored in IAM.
  4907. //
  4908. // For more information about working with server certificates, including a
  4909. // list of AWS services that can use the server certificates that you manage
  4910. // with IAM, go to Working with Server Certificates (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html)
  4911. // in the IAM User Guide.
  4912. //
  4913. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4914. // with awserr.Error's Code and Message methods to get detailed information about
  4915. // the error.
  4916. //
  4917. // See the AWS API reference guide for AWS Identity and Access Management's
  4918. // API operation GetServerCertificate for usage and error information.
  4919. //
  4920. // Returned Error Codes:
  4921. // * NoSuchEntity
  4922. // The request was rejected because it referenced an entity that does not exist.
  4923. // The error message describes the entity.
  4924. //
  4925. // * ServiceFailure
  4926. // The request processing has failed because of an unknown error, exception
  4927. // or failure.
  4928. //
  4929. func (c *IAM) GetServerCertificate(input *GetServerCertificateInput) (*GetServerCertificateOutput, error) {
  4930. req, out := c.GetServerCertificateRequest(input)
  4931. err := req.Send()
  4932. return out, err
  4933. }
  4934. const opGetUser = "GetUser"
  4935. // GetUserRequest generates a "aws/request.Request" representing the
  4936. // client's request for the GetUser operation. The "output" return
  4937. // value can be used to capture response data after the request's "Send" method
  4938. // is called.
  4939. //
  4940. // See GetUser for usage and error information.
  4941. //
  4942. // Creating a request object using this method should be used when you want to inject
  4943. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4944. // access properties on the request object before or after sending the request. If
  4945. // you just want the service response, call the GetUser method directly
  4946. // instead.
  4947. //
  4948. // Note: You must call the "Send" method on the returned request object in order
  4949. // to execute the request.
  4950. //
  4951. // // Example sending a request using the GetUserRequest method.
  4952. // req, resp := client.GetUserRequest(params)
  4953. //
  4954. // err := req.Send()
  4955. // if err == nil { // resp is now filled
  4956. // fmt.Println(resp)
  4957. // }
  4958. //
  4959. func (c *IAM) GetUserRequest(input *GetUserInput) (req *request.Request, output *GetUserOutput) {
  4960. op := &request.Operation{
  4961. Name: opGetUser,
  4962. HTTPMethod: "POST",
  4963. HTTPPath: "/",
  4964. }
  4965. if input == nil {
  4966. input = &GetUserInput{}
  4967. }
  4968. req = c.newRequest(op, input, output)
  4969. output = &GetUserOutput{}
  4970. req.Data = output
  4971. return
  4972. }
  4973. // GetUser API operation for AWS Identity and Access Management.
  4974. //
  4975. // Retrieves information about the specified IAM user, including the user's
  4976. // creation date, path, unique ID, and ARN.
  4977. //
  4978. // If you do not specify a user name, IAM determines the user name implicitly
  4979. // based on the AWS access key ID used to sign the request to this API.
  4980. //
  4981. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4982. // with awserr.Error's Code and Message methods to get detailed information about
  4983. // the error.
  4984. //
  4985. // See the AWS API reference guide for AWS Identity and Access Management's
  4986. // API operation GetUser for usage and error information.
  4987. //
  4988. // Returned Error Codes:
  4989. // * NoSuchEntity
  4990. // The request was rejected because it referenced an entity that does not exist.
  4991. // The error message describes the entity.
  4992. //
  4993. // * ServiceFailure
  4994. // The request processing has failed because of an unknown error, exception
  4995. // or failure.
  4996. //
  4997. func (c *IAM) GetUser(input *GetUserInput) (*GetUserOutput, error) {
  4998. req, out := c.GetUserRequest(input)
  4999. err := req.Send()
  5000. return out, err
  5001. }
  5002. const opGetUserPolicy = "GetUserPolicy"
  5003. // GetUserPolicyRequest generates a "aws/request.Request" representing the
  5004. // client's request for the GetUserPolicy operation. The "output" return
  5005. // value can be used to capture response data after the request's "Send" method
  5006. // is called.
  5007. //
  5008. // See GetUserPolicy for usage and error information.
  5009. //
  5010. // Creating a request object using this method should be used when you want to inject
  5011. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5012. // access properties on the request object before or after sending the request. If
  5013. // you just want the service response, call the GetUserPolicy method directly
  5014. // instead.
  5015. //
  5016. // Note: You must call the "Send" method on the returned request object in order
  5017. // to execute the request.
  5018. //
  5019. // // Example sending a request using the GetUserPolicyRequest method.
  5020. // req, resp := client.GetUserPolicyRequest(params)
  5021. //
  5022. // err := req.Send()
  5023. // if err == nil { // resp is now filled
  5024. // fmt.Println(resp)
  5025. // }
  5026. //
  5027. func (c *IAM) GetUserPolicyRequest(input *GetUserPolicyInput) (req *request.Request, output *GetUserPolicyOutput) {
  5028. op := &request.Operation{
  5029. Name: opGetUserPolicy,
  5030. HTTPMethod: "POST",
  5031. HTTPPath: "/",
  5032. }
  5033. if input == nil {
  5034. input = &GetUserPolicyInput{}
  5035. }
  5036. req = c.newRequest(op, input, output)
  5037. output = &GetUserPolicyOutput{}
  5038. req.Data = output
  5039. return
  5040. }
  5041. // GetUserPolicy API operation for AWS Identity and Access Management.
  5042. //
  5043. // Retrieves the specified inline policy document that is embedded in the specified
  5044. // IAM user.
  5045. //
  5046. // Policies returned by this API are URL-encoded compliant with RFC 3986 (https://tools.ietf.org/html/rfc3986).
  5047. // You can use a URL decoding method to convert the policy back to plain JSON
  5048. // text. For example, if you use Java, you can use the decode method of the
  5049. // java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs
  5050. // provide similar functionality.
  5051. //
  5052. // An IAM user can also have managed policies attached to it. To retrieve a
  5053. // managed policy document that is attached to a user, use GetPolicy to determine
  5054. // the policy's default version, then use GetPolicyVersion to retrieve the policy
  5055. // document.
  5056. //
  5057. // For more information about policies, see Managed Policies and Inline Policies
  5058. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  5059. // in the IAM User Guide.
  5060. //
  5061. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5062. // with awserr.Error's Code and Message methods to get detailed information about
  5063. // the error.
  5064. //
  5065. // See the AWS API reference guide for AWS Identity and Access Management's
  5066. // API operation GetUserPolicy for usage and error information.
  5067. //
  5068. // Returned Error Codes:
  5069. // * NoSuchEntity
  5070. // The request was rejected because it referenced an entity that does not exist.
  5071. // The error message describes the entity.
  5072. //
  5073. // * ServiceFailure
  5074. // The request processing has failed because of an unknown error, exception
  5075. // or failure.
  5076. //
  5077. func (c *IAM) GetUserPolicy(input *GetUserPolicyInput) (*GetUserPolicyOutput, error) {
  5078. req, out := c.GetUserPolicyRequest(input)
  5079. err := req.Send()
  5080. return out, err
  5081. }
  5082. const opListAccessKeys = "ListAccessKeys"
  5083. // ListAccessKeysRequest generates a "aws/request.Request" representing the
  5084. // client's request for the ListAccessKeys operation. The "output" return
  5085. // value can be used to capture response data after the request's "Send" method
  5086. // is called.
  5087. //
  5088. // See ListAccessKeys for usage and error information.
  5089. //
  5090. // Creating a request object using this method should be used when you want to inject
  5091. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5092. // access properties on the request object before or after sending the request. If
  5093. // you just want the service response, call the ListAccessKeys method directly
  5094. // instead.
  5095. //
  5096. // Note: You must call the "Send" method on the returned request object in order
  5097. // to execute the request.
  5098. //
  5099. // // Example sending a request using the ListAccessKeysRequest method.
  5100. // req, resp := client.ListAccessKeysRequest(params)
  5101. //
  5102. // err := req.Send()
  5103. // if err == nil { // resp is now filled
  5104. // fmt.Println(resp)
  5105. // }
  5106. //
  5107. func (c *IAM) ListAccessKeysRequest(input *ListAccessKeysInput) (req *request.Request, output *ListAccessKeysOutput) {
  5108. op := &request.Operation{
  5109. Name: opListAccessKeys,
  5110. HTTPMethod: "POST",
  5111. HTTPPath: "/",
  5112. Paginator: &request.Paginator{
  5113. InputTokens: []string{"Marker"},
  5114. OutputTokens: []string{"Marker"},
  5115. LimitToken: "MaxItems",
  5116. TruncationToken: "IsTruncated",
  5117. },
  5118. }
  5119. if input == nil {
  5120. input = &ListAccessKeysInput{}
  5121. }
  5122. req = c.newRequest(op, input, output)
  5123. output = &ListAccessKeysOutput{}
  5124. req.Data = output
  5125. return
  5126. }
  5127. // ListAccessKeys API operation for AWS Identity and Access Management.
  5128. //
  5129. // Returns information about the access key IDs associated with the specified
  5130. // IAM user. If there are none, the action returns an empty list.
  5131. //
  5132. // Although each user is limited to a small number of keys, you can still paginate
  5133. // the results using the MaxItems and Marker parameters.
  5134. //
  5135. // If the UserName field is not specified, the UserName is determined implicitly
  5136. // based on the AWS access key ID used to sign the request. Because this action
  5137. // works for access keys under the AWS account, you can use this action to manage
  5138. // root credentials even if the AWS account has no associated users.
  5139. //
  5140. // To ensure the security of your AWS account, the secret access key is accessible
  5141. // only during key and user creation.
  5142. //
  5143. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5144. // with awserr.Error's Code and Message methods to get detailed information about
  5145. // the error.
  5146. //
  5147. // See the AWS API reference guide for AWS Identity and Access Management's
  5148. // API operation ListAccessKeys for usage and error information.
  5149. //
  5150. // Returned Error Codes:
  5151. // * NoSuchEntity
  5152. // The request was rejected because it referenced an entity that does not exist.
  5153. // The error message describes the entity.
  5154. //
  5155. // * ServiceFailure
  5156. // The request processing has failed because of an unknown error, exception
  5157. // or failure.
  5158. //
  5159. func (c *IAM) ListAccessKeys(input *ListAccessKeysInput) (*ListAccessKeysOutput, error) {
  5160. req, out := c.ListAccessKeysRequest(input)
  5161. err := req.Send()
  5162. return out, err
  5163. }
  5164. // ListAccessKeysPages iterates over the pages of a ListAccessKeys operation,
  5165. // calling the "fn" function with the response data for each page. To stop
  5166. // iterating, return false from the fn function.
  5167. //
  5168. // See ListAccessKeys method for more information on how to use this operation.
  5169. //
  5170. // Note: This operation can generate multiple requests to a service.
  5171. //
  5172. // // Example iterating over at most 3 pages of a ListAccessKeys operation.
  5173. // pageNum := 0
  5174. // err := client.ListAccessKeysPages(params,
  5175. // func(page *ListAccessKeysOutput, lastPage bool) bool {
  5176. // pageNum++
  5177. // fmt.Println(page)
  5178. // return pageNum <= 3
  5179. // })
  5180. //
  5181. func (c *IAM) ListAccessKeysPages(input *ListAccessKeysInput, fn func(p *ListAccessKeysOutput, lastPage bool) (shouldContinue bool)) error {
  5182. page, _ := c.ListAccessKeysRequest(input)
  5183. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  5184. return page.EachPage(func(p interface{}, lastPage bool) bool {
  5185. return fn(p.(*ListAccessKeysOutput), lastPage)
  5186. })
  5187. }
  5188. const opListAccountAliases = "ListAccountAliases"
  5189. // ListAccountAliasesRequest generates a "aws/request.Request" representing the
  5190. // client's request for the ListAccountAliases operation. The "output" return
  5191. // value can be used to capture response data after the request's "Send" method
  5192. // is called.
  5193. //
  5194. // See ListAccountAliases for usage and error information.
  5195. //
  5196. // Creating a request object using this method should be used when you want to inject
  5197. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5198. // access properties on the request object before or after sending the request. If
  5199. // you just want the service response, call the ListAccountAliases method directly
  5200. // instead.
  5201. //
  5202. // Note: You must call the "Send" method on the returned request object in order
  5203. // to execute the request.
  5204. //
  5205. // // Example sending a request using the ListAccountAliasesRequest method.
  5206. // req, resp := client.ListAccountAliasesRequest(params)
  5207. //
  5208. // err := req.Send()
  5209. // if err == nil { // resp is now filled
  5210. // fmt.Println(resp)
  5211. // }
  5212. //
  5213. func (c *IAM) ListAccountAliasesRequest(input *ListAccountAliasesInput) (req *request.Request, output *ListAccountAliasesOutput) {
  5214. op := &request.Operation{
  5215. Name: opListAccountAliases,
  5216. HTTPMethod: "POST",
  5217. HTTPPath: "/",
  5218. Paginator: &request.Paginator{
  5219. InputTokens: []string{"Marker"},
  5220. OutputTokens: []string{"Marker"},
  5221. LimitToken: "MaxItems",
  5222. TruncationToken: "IsTruncated",
  5223. },
  5224. }
  5225. if input == nil {
  5226. input = &ListAccountAliasesInput{}
  5227. }
  5228. req = c.newRequest(op, input, output)
  5229. output = &ListAccountAliasesOutput{}
  5230. req.Data = output
  5231. return
  5232. }
  5233. // ListAccountAliases API operation for AWS Identity and Access Management.
  5234. //
  5235. // Lists the account alias associated with the AWS account (Note: you can have
  5236. // only one). For information about using an AWS account alias, see Using an
  5237. // Alias for Your AWS Account ID (http://docs.aws.amazon.com/IAM/latest/UserGuide/AccountAlias.html)
  5238. // in the IAM User Guide.
  5239. //
  5240. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5241. // with awserr.Error's Code and Message methods to get detailed information about
  5242. // the error.
  5243. //
  5244. // See the AWS API reference guide for AWS Identity and Access Management's
  5245. // API operation ListAccountAliases for usage and error information.
  5246. //
  5247. // Returned Error Codes:
  5248. // * ServiceFailure
  5249. // The request processing has failed because of an unknown error, exception
  5250. // or failure.
  5251. //
  5252. func (c *IAM) ListAccountAliases(input *ListAccountAliasesInput) (*ListAccountAliasesOutput, error) {
  5253. req, out := c.ListAccountAliasesRequest(input)
  5254. err := req.Send()
  5255. return out, err
  5256. }
  5257. // ListAccountAliasesPages iterates over the pages of a ListAccountAliases operation,
  5258. // calling the "fn" function with the response data for each page. To stop
  5259. // iterating, return false from the fn function.
  5260. //
  5261. // See ListAccountAliases method for more information on how to use this operation.
  5262. //
  5263. // Note: This operation can generate multiple requests to a service.
  5264. //
  5265. // // Example iterating over at most 3 pages of a ListAccountAliases operation.
  5266. // pageNum := 0
  5267. // err := client.ListAccountAliasesPages(params,
  5268. // func(page *ListAccountAliasesOutput, lastPage bool) bool {
  5269. // pageNum++
  5270. // fmt.Println(page)
  5271. // return pageNum <= 3
  5272. // })
  5273. //
  5274. func (c *IAM) ListAccountAliasesPages(input *ListAccountAliasesInput, fn func(p *ListAccountAliasesOutput, lastPage bool) (shouldContinue bool)) error {
  5275. page, _ := c.ListAccountAliasesRequest(input)
  5276. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  5277. return page.EachPage(func(p interface{}, lastPage bool) bool {
  5278. return fn(p.(*ListAccountAliasesOutput), lastPage)
  5279. })
  5280. }
  5281. const opListAttachedGroupPolicies = "ListAttachedGroupPolicies"
  5282. // ListAttachedGroupPoliciesRequest generates a "aws/request.Request" representing the
  5283. // client's request for the ListAttachedGroupPolicies operation. The "output" return
  5284. // value can be used to capture response data after the request's "Send" method
  5285. // is called.
  5286. //
  5287. // See ListAttachedGroupPolicies for usage and error information.
  5288. //
  5289. // Creating a request object using this method should be used when you want to inject
  5290. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5291. // access properties on the request object before or after sending the request. If
  5292. // you just want the service response, call the ListAttachedGroupPolicies method directly
  5293. // instead.
  5294. //
  5295. // Note: You must call the "Send" method on the returned request object in order
  5296. // to execute the request.
  5297. //
  5298. // // Example sending a request using the ListAttachedGroupPoliciesRequest method.
  5299. // req, resp := client.ListAttachedGroupPoliciesRequest(params)
  5300. //
  5301. // err := req.Send()
  5302. // if err == nil { // resp is now filled
  5303. // fmt.Println(resp)
  5304. // }
  5305. //
  5306. func (c *IAM) ListAttachedGroupPoliciesRequest(input *ListAttachedGroupPoliciesInput) (req *request.Request, output *ListAttachedGroupPoliciesOutput) {
  5307. op := &request.Operation{
  5308. Name: opListAttachedGroupPolicies,
  5309. HTTPMethod: "POST",
  5310. HTTPPath: "/",
  5311. Paginator: &request.Paginator{
  5312. InputTokens: []string{"Marker"},
  5313. OutputTokens: []string{"Marker"},
  5314. LimitToken: "MaxItems",
  5315. TruncationToken: "IsTruncated",
  5316. },
  5317. }
  5318. if input == nil {
  5319. input = &ListAttachedGroupPoliciesInput{}
  5320. }
  5321. req = c.newRequest(op, input, output)
  5322. output = &ListAttachedGroupPoliciesOutput{}
  5323. req.Data = output
  5324. return
  5325. }
  5326. // ListAttachedGroupPolicies API operation for AWS Identity and Access Management.
  5327. //
  5328. // Lists all managed policies that are attached to the specified IAM group.
  5329. //
  5330. // An IAM group can also have inline policies embedded with it. To list the
  5331. // inline policies for a group, use the ListGroupPolicies API. For information
  5332. // about policies, see Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  5333. // in the IAM User Guide.
  5334. //
  5335. // You can paginate the results using the MaxItems and Marker parameters. You
  5336. // can use the PathPrefix parameter to limit the list of policies to only those
  5337. // matching the specified path prefix. If there are no policies attached to
  5338. // the specified group (or none that match the specified path prefix), the action
  5339. // returns an empty list.
  5340. //
  5341. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5342. // with awserr.Error's Code and Message methods to get detailed information about
  5343. // the error.
  5344. //
  5345. // See the AWS API reference guide for AWS Identity and Access Management's
  5346. // API operation ListAttachedGroupPolicies for usage and error information.
  5347. //
  5348. // Returned Error Codes:
  5349. // * NoSuchEntity
  5350. // The request was rejected because it referenced an entity that does not exist.
  5351. // The error message describes the entity.
  5352. //
  5353. // * InvalidInput
  5354. // The request was rejected because an invalid or out-of-range value was supplied
  5355. // for an input parameter.
  5356. //
  5357. // * ServiceFailure
  5358. // The request processing has failed because of an unknown error, exception
  5359. // or failure.
  5360. //
  5361. func (c *IAM) ListAttachedGroupPolicies(input *ListAttachedGroupPoliciesInput) (*ListAttachedGroupPoliciesOutput, error) {
  5362. req, out := c.ListAttachedGroupPoliciesRequest(input)
  5363. err := req.Send()
  5364. return out, err
  5365. }
  5366. // ListAttachedGroupPoliciesPages iterates over the pages of a ListAttachedGroupPolicies operation,
  5367. // calling the "fn" function with the response data for each page. To stop
  5368. // iterating, return false from the fn function.
  5369. //
  5370. // See ListAttachedGroupPolicies method for more information on how to use this operation.
  5371. //
  5372. // Note: This operation can generate multiple requests to a service.
  5373. //
  5374. // // Example iterating over at most 3 pages of a ListAttachedGroupPolicies operation.
  5375. // pageNum := 0
  5376. // err := client.ListAttachedGroupPoliciesPages(params,
  5377. // func(page *ListAttachedGroupPoliciesOutput, lastPage bool) bool {
  5378. // pageNum++
  5379. // fmt.Println(page)
  5380. // return pageNum <= 3
  5381. // })
  5382. //
  5383. func (c *IAM) ListAttachedGroupPoliciesPages(input *ListAttachedGroupPoliciesInput, fn func(p *ListAttachedGroupPoliciesOutput, lastPage bool) (shouldContinue bool)) error {
  5384. page, _ := c.ListAttachedGroupPoliciesRequest(input)
  5385. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  5386. return page.EachPage(func(p interface{}, lastPage bool) bool {
  5387. return fn(p.(*ListAttachedGroupPoliciesOutput), lastPage)
  5388. })
  5389. }
  5390. const opListAttachedRolePolicies = "ListAttachedRolePolicies"
  5391. // ListAttachedRolePoliciesRequest generates a "aws/request.Request" representing the
  5392. // client's request for the ListAttachedRolePolicies operation. The "output" return
  5393. // value can be used to capture response data after the request's "Send" method
  5394. // is called.
  5395. //
  5396. // See ListAttachedRolePolicies for usage and error information.
  5397. //
  5398. // Creating a request object using this method should be used when you want to inject
  5399. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5400. // access properties on the request object before or after sending the request. If
  5401. // you just want the service response, call the ListAttachedRolePolicies method directly
  5402. // instead.
  5403. //
  5404. // Note: You must call the "Send" method on the returned request object in order
  5405. // to execute the request.
  5406. //
  5407. // // Example sending a request using the ListAttachedRolePoliciesRequest method.
  5408. // req, resp := client.ListAttachedRolePoliciesRequest(params)
  5409. //
  5410. // err := req.Send()
  5411. // if err == nil { // resp is now filled
  5412. // fmt.Println(resp)
  5413. // }
  5414. //
  5415. func (c *IAM) ListAttachedRolePoliciesRequest(input *ListAttachedRolePoliciesInput) (req *request.Request, output *ListAttachedRolePoliciesOutput) {
  5416. op := &request.Operation{
  5417. Name: opListAttachedRolePolicies,
  5418. HTTPMethod: "POST",
  5419. HTTPPath: "/",
  5420. Paginator: &request.Paginator{
  5421. InputTokens: []string{"Marker"},
  5422. OutputTokens: []string{"Marker"},
  5423. LimitToken: "MaxItems",
  5424. TruncationToken: "IsTruncated",
  5425. },
  5426. }
  5427. if input == nil {
  5428. input = &ListAttachedRolePoliciesInput{}
  5429. }
  5430. req = c.newRequest(op, input, output)
  5431. output = &ListAttachedRolePoliciesOutput{}
  5432. req.Data = output
  5433. return
  5434. }
  5435. // ListAttachedRolePolicies API operation for AWS Identity and Access Management.
  5436. //
  5437. // Lists all managed policies that are attached to the specified IAM role.
  5438. //
  5439. // An IAM role can also have inline policies embedded with it. To list the inline
  5440. // policies for a role, use the ListRolePolicies API. For information about
  5441. // policies, see Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  5442. // in the IAM User Guide.
  5443. //
  5444. // You can paginate the results using the MaxItems and Marker parameters. You
  5445. // can use the PathPrefix parameter to limit the list of policies to only those
  5446. // matching the specified path prefix. If there are no policies attached to
  5447. // the specified role (or none that match the specified path prefix), the action
  5448. // returns an empty list.
  5449. //
  5450. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5451. // with awserr.Error's Code and Message methods to get detailed information about
  5452. // the error.
  5453. //
  5454. // See the AWS API reference guide for AWS Identity and Access Management's
  5455. // API operation ListAttachedRolePolicies for usage and error information.
  5456. //
  5457. // Returned Error Codes:
  5458. // * NoSuchEntity
  5459. // The request was rejected because it referenced an entity that does not exist.
  5460. // The error message describes the entity.
  5461. //
  5462. // * InvalidInput
  5463. // The request was rejected because an invalid or out-of-range value was supplied
  5464. // for an input parameter.
  5465. //
  5466. // * ServiceFailure
  5467. // The request processing has failed because of an unknown error, exception
  5468. // or failure.
  5469. //
  5470. func (c *IAM) ListAttachedRolePolicies(input *ListAttachedRolePoliciesInput) (*ListAttachedRolePoliciesOutput, error) {
  5471. req, out := c.ListAttachedRolePoliciesRequest(input)
  5472. err := req.Send()
  5473. return out, err
  5474. }
  5475. // ListAttachedRolePoliciesPages iterates over the pages of a ListAttachedRolePolicies operation,
  5476. // calling the "fn" function with the response data for each page. To stop
  5477. // iterating, return false from the fn function.
  5478. //
  5479. // See ListAttachedRolePolicies method for more information on how to use this operation.
  5480. //
  5481. // Note: This operation can generate multiple requests to a service.
  5482. //
  5483. // // Example iterating over at most 3 pages of a ListAttachedRolePolicies operation.
  5484. // pageNum := 0
  5485. // err := client.ListAttachedRolePoliciesPages(params,
  5486. // func(page *ListAttachedRolePoliciesOutput, lastPage bool) bool {
  5487. // pageNum++
  5488. // fmt.Println(page)
  5489. // return pageNum <= 3
  5490. // })
  5491. //
  5492. func (c *IAM) ListAttachedRolePoliciesPages(input *ListAttachedRolePoliciesInput, fn func(p *ListAttachedRolePoliciesOutput, lastPage bool) (shouldContinue bool)) error {
  5493. page, _ := c.ListAttachedRolePoliciesRequest(input)
  5494. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  5495. return page.EachPage(func(p interface{}, lastPage bool) bool {
  5496. return fn(p.(*ListAttachedRolePoliciesOutput), lastPage)
  5497. })
  5498. }
  5499. const opListAttachedUserPolicies = "ListAttachedUserPolicies"
  5500. // ListAttachedUserPoliciesRequest generates a "aws/request.Request" representing the
  5501. // client's request for the ListAttachedUserPolicies operation. The "output" return
  5502. // value can be used to capture response data after the request's "Send" method
  5503. // is called.
  5504. //
  5505. // See ListAttachedUserPolicies for usage and error information.
  5506. //
  5507. // Creating a request object using this method should be used when you want to inject
  5508. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5509. // access properties on the request object before or after sending the request. If
  5510. // you just want the service response, call the ListAttachedUserPolicies method directly
  5511. // instead.
  5512. //
  5513. // Note: You must call the "Send" method on the returned request object in order
  5514. // to execute the request.
  5515. //
  5516. // // Example sending a request using the ListAttachedUserPoliciesRequest method.
  5517. // req, resp := client.ListAttachedUserPoliciesRequest(params)
  5518. //
  5519. // err := req.Send()
  5520. // if err == nil { // resp is now filled
  5521. // fmt.Println(resp)
  5522. // }
  5523. //
  5524. func (c *IAM) ListAttachedUserPoliciesRequest(input *ListAttachedUserPoliciesInput) (req *request.Request, output *ListAttachedUserPoliciesOutput) {
  5525. op := &request.Operation{
  5526. Name: opListAttachedUserPolicies,
  5527. HTTPMethod: "POST",
  5528. HTTPPath: "/",
  5529. Paginator: &request.Paginator{
  5530. InputTokens: []string{"Marker"},
  5531. OutputTokens: []string{"Marker"},
  5532. LimitToken: "MaxItems",
  5533. TruncationToken: "IsTruncated",
  5534. },
  5535. }
  5536. if input == nil {
  5537. input = &ListAttachedUserPoliciesInput{}
  5538. }
  5539. req = c.newRequest(op, input, output)
  5540. output = &ListAttachedUserPoliciesOutput{}
  5541. req.Data = output
  5542. return
  5543. }
  5544. // ListAttachedUserPolicies API operation for AWS Identity and Access Management.
  5545. //
  5546. // Lists all managed policies that are attached to the specified IAM user.
  5547. //
  5548. // An IAM user can also have inline policies embedded with it. To list the inline
  5549. // policies for a user, use the ListUserPolicies API. For information about
  5550. // policies, see Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  5551. // in the IAM User Guide.
  5552. //
  5553. // You can paginate the results using the MaxItems and Marker parameters. You
  5554. // can use the PathPrefix parameter to limit the list of policies to only those
  5555. // matching the specified path prefix. If there are no policies attached to
  5556. // the specified group (or none that match the specified path prefix), the action
  5557. // returns an empty list.
  5558. //
  5559. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5560. // with awserr.Error's Code and Message methods to get detailed information about
  5561. // the error.
  5562. //
  5563. // See the AWS API reference guide for AWS Identity and Access Management's
  5564. // API operation ListAttachedUserPolicies for usage and error information.
  5565. //
  5566. // Returned Error Codes:
  5567. // * NoSuchEntity
  5568. // The request was rejected because it referenced an entity that does not exist.
  5569. // The error message describes the entity.
  5570. //
  5571. // * InvalidInput
  5572. // The request was rejected because an invalid or out-of-range value was supplied
  5573. // for an input parameter.
  5574. //
  5575. // * ServiceFailure
  5576. // The request processing has failed because of an unknown error, exception
  5577. // or failure.
  5578. //
  5579. func (c *IAM) ListAttachedUserPolicies(input *ListAttachedUserPoliciesInput) (*ListAttachedUserPoliciesOutput, error) {
  5580. req, out := c.ListAttachedUserPoliciesRequest(input)
  5581. err := req.Send()
  5582. return out, err
  5583. }
  5584. // ListAttachedUserPoliciesPages iterates over the pages of a ListAttachedUserPolicies operation,
  5585. // calling the "fn" function with the response data for each page. To stop
  5586. // iterating, return false from the fn function.
  5587. //
  5588. // See ListAttachedUserPolicies method for more information on how to use this operation.
  5589. //
  5590. // Note: This operation can generate multiple requests to a service.
  5591. //
  5592. // // Example iterating over at most 3 pages of a ListAttachedUserPolicies operation.
  5593. // pageNum := 0
  5594. // err := client.ListAttachedUserPoliciesPages(params,
  5595. // func(page *ListAttachedUserPoliciesOutput, lastPage bool) bool {
  5596. // pageNum++
  5597. // fmt.Println(page)
  5598. // return pageNum <= 3
  5599. // })
  5600. //
  5601. func (c *IAM) ListAttachedUserPoliciesPages(input *ListAttachedUserPoliciesInput, fn func(p *ListAttachedUserPoliciesOutput, lastPage bool) (shouldContinue bool)) error {
  5602. page, _ := c.ListAttachedUserPoliciesRequest(input)
  5603. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  5604. return page.EachPage(func(p interface{}, lastPage bool) bool {
  5605. return fn(p.(*ListAttachedUserPoliciesOutput), lastPage)
  5606. })
  5607. }
  5608. const opListEntitiesForPolicy = "ListEntitiesForPolicy"
  5609. // ListEntitiesForPolicyRequest generates a "aws/request.Request" representing the
  5610. // client's request for the ListEntitiesForPolicy operation. The "output" return
  5611. // value can be used to capture response data after the request's "Send" method
  5612. // is called.
  5613. //
  5614. // See ListEntitiesForPolicy for usage and error information.
  5615. //
  5616. // Creating a request object using this method should be used when you want to inject
  5617. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5618. // access properties on the request object before or after sending the request. If
  5619. // you just want the service response, call the ListEntitiesForPolicy method directly
  5620. // instead.
  5621. //
  5622. // Note: You must call the "Send" method on the returned request object in order
  5623. // to execute the request.
  5624. //
  5625. // // Example sending a request using the ListEntitiesForPolicyRequest method.
  5626. // req, resp := client.ListEntitiesForPolicyRequest(params)
  5627. //
  5628. // err := req.Send()
  5629. // if err == nil { // resp is now filled
  5630. // fmt.Println(resp)
  5631. // }
  5632. //
  5633. func (c *IAM) ListEntitiesForPolicyRequest(input *ListEntitiesForPolicyInput) (req *request.Request, output *ListEntitiesForPolicyOutput) {
  5634. op := &request.Operation{
  5635. Name: opListEntitiesForPolicy,
  5636. HTTPMethod: "POST",
  5637. HTTPPath: "/",
  5638. Paginator: &request.Paginator{
  5639. InputTokens: []string{"Marker"},
  5640. OutputTokens: []string{"Marker"},
  5641. LimitToken: "MaxItems",
  5642. TruncationToken: "IsTruncated",
  5643. },
  5644. }
  5645. if input == nil {
  5646. input = &ListEntitiesForPolicyInput{}
  5647. }
  5648. req = c.newRequest(op, input, output)
  5649. output = &ListEntitiesForPolicyOutput{}
  5650. req.Data = output
  5651. return
  5652. }
  5653. // ListEntitiesForPolicy API operation for AWS Identity and Access Management.
  5654. //
  5655. // Lists all IAM users, groups, and roles that the specified managed policy
  5656. // is attached to.
  5657. //
  5658. // You can use the optional EntityFilter parameter to limit the results to a
  5659. // particular type of entity (users, groups, or roles). For example, to list
  5660. // only the roles that are attached to the specified policy, set EntityFilter
  5661. // to Role.
  5662. //
  5663. // You can paginate the results using the MaxItems and Marker parameters.
  5664. //
  5665. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5666. // with awserr.Error's Code and Message methods to get detailed information about
  5667. // the error.
  5668. //
  5669. // See the AWS API reference guide for AWS Identity and Access Management's
  5670. // API operation ListEntitiesForPolicy for usage and error information.
  5671. //
  5672. // Returned Error Codes:
  5673. // * NoSuchEntity
  5674. // The request was rejected because it referenced an entity that does not exist.
  5675. // The error message describes the entity.
  5676. //
  5677. // * InvalidInput
  5678. // The request was rejected because an invalid or out-of-range value was supplied
  5679. // for an input parameter.
  5680. //
  5681. // * ServiceFailure
  5682. // The request processing has failed because of an unknown error, exception
  5683. // or failure.
  5684. //
  5685. func (c *IAM) ListEntitiesForPolicy(input *ListEntitiesForPolicyInput) (*ListEntitiesForPolicyOutput, error) {
  5686. req, out := c.ListEntitiesForPolicyRequest(input)
  5687. err := req.Send()
  5688. return out, err
  5689. }
  5690. // ListEntitiesForPolicyPages iterates over the pages of a ListEntitiesForPolicy operation,
  5691. // calling the "fn" function with the response data for each page. To stop
  5692. // iterating, return false from the fn function.
  5693. //
  5694. // See ListEntitiesForPolicy method for more information on how to use this operation.
  5695. //
  5696. // Note: This operation can generate multiple requests to a service.
  5697. //
  5698. // // Example iterating over at most 3 pages of a ListEntitiesForPolicy operation.
  5699. // pageNum := 0
  5700. // err := client.ListEntitiesForPolicyPages(params,
  5701. // func(page *ListEntitiesForPolicyOutput, lastPage bool) bool {
  5702. // pageNum++
  5703. // fmt.Println(page)
  5704. // return pageNum <= 3
  5705. // })
  5706. //
  5707. func (c *IAM) ListEntitiesForPolicyPages(input *ListEntitiesForPolicyInput, fn func(p *ListEntitiesForPolicyOutput, lastPage bool) (shouldContinue bool)) error {
  5708. page, _ := c.ListEntitiesForPolicyRequest(input)
  5709. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  5710. return page.EachPage(func(p interface{}, lastPage bool) bool {
  5711. return fn(p.(*ListEntitiesForPolicyOutput), lastPage)
  5712. })
  5713. }
  5714. const opListGroupPolicies = "ListGroupPolicies"
  5715. // ListGroupPoliciesRequest generates a "aws/request.Request" representing the
  5716. // client's request for the ListGroupPolicies operation. The "output" return
  5717. // value can be used to capture response data after the request's "Send" method
  5718. // is called.
  5719. //
  5720. // See ListGroupPolicies for usage and error information.
  5721. //
  5722. // Creating a request object using this method should be used when you want to inject
  5723. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5724. // access properties on the request object before or after sending the request. If
  5725. // you just want the service response, call the ListGroupPolicies method directly
  5726. // instead.
  5727. //
  5728. // Note: You must call the "Send" method on the returned request object in order
  5729. // to execute the request.
  5730. //
  5731. // // Example sending a request using the ListGroupPoliciesRequest method.
  5732. // req, resp := client.ListGroupPoliciesRequest(params)
  5733. //
  5734. // err := req.Send()
  5735. // if err == nil { // resp is now filled
  5736. // fmt.Println(resp)
  5737. // }
  5738. //
  5739. func (c *IAM) ListGroupPoliciesRequest(input *ListGroupPoliciesInput) (req *request.Request, output *ListGroupPoliciesOutput) {
  5740. op := &request.Operation{
  5741. Name: opListGroupPolicies,
  5742. HTTPMethod: "POST",
  5743. HTTPPath: "/",
  5744. Paginator: &request.Paginator{
  5745. InputTokens: []string{"Marker"},
  5746. OutputTokens: []string{"Marker"},
  5747. LimitToken: "MaxItems",
  5748. TruncationToken: "IsTruncated",
  5749. },
  5750. }
  5751. if input == nil {
  5752. input = &ListGroupPoliciesInput{}
  5753. }
  5754. req = c.newRequest(op, input, output)
  5755. output = &ListGroupPoliciesOutput{}
  5756. req.Data = output
  5757. return
  5758. }
  5759. // ListGroupPolicies API operation for AWS Identity and Access Management.
  5760. //
  5761. // Lists the names of the inline policies that are embedded in the specified
  5762. // IAM group.
  5763. //
  5764. // An IAM group can also have managed policies attached to it. To list the managed
  5765. // policies that are attached to a group, use ListAttachedGroupPolicies. For
  5766. // more information about policies, see Managed Policies and Inline Policies
  5767. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  5768. // in the IAM User Guide.
  5769. //
  5770. // You can paginate the results using the MaxItems and Marker parameters. If
  5771. // there are no inline policies embedded with the specified group, the action
  5772. // returns an empty list.
  5773. //
  5774. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5775. // with awserr.Error's Code and Message methods to get detailed information about
  5776. // the error.
  5777. //
  5778. // See the AWS API reference guide for AWS Identity and Access Management's
  5779. // API operation ListGroupPolicies for usage and error information.
  5780. //
  5781. // Returned Error Codes:
  5782. // * NoSuchEntity
  5783. // The request was rejected because it referenced an entity that does not exist.
  5784. // The error message describes the entity.
  5785. //
  5786. // * ServiceFailure
  5787. // The request processing has failed because of an unknown error, exception
  5788. // or failure.
  5789. //
  5790. func (c *IAM) ListGroupPolicies(input *ListGroupPoliciesInput) (*ListGroupPoliciesOutput, error) {
  5791. req, out := c.ListGroupPoliciesRequest(input)
  5792. err := req.Send()
  5793. return out, err
  5794. }
  5795. // ListGroupPoliciesPages iterates over the pages of a ListGroupPolicies operation,
  5796. // calling the "fn" function with the response data for each page. To stop
  5797. // iterating, return false from the fn function.
  5798. //
  5799. // See ListGroupPolicies method for more information on how to use this operation.
  5800. //
  5801. // Note: This operation can generate multiple requests to a service.
  5802. //
  5803. // // Example iterating over at most 3 pages of a ListGroupPolicies operation.
  5804. // pageNum := 0
  5805. // err := client.ListGroupPoliciesPages(params,
  5806. // func(page *ListGroupPoliciesOutput, lastPage bool) bool {
  5807. // pageNum++
  5808. // fmt.Println(page)
  5809. // return pageNum <= 3
  5810. // })
  5811. //
  5812. func (c *IAM) ListGroupPoliciesPages(input *ListGroupPoliciesInput, fn func(p *ListGroupPoliciesOutput, lastPage bool) (shouldContinue bool)) error {
  5813. page, _ := c.ListGroupPoliciesRequest(input)
  5814. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  5815. return page.EachPage(func(p interface{}, lastPage bool) bool {
  5816. return fn(p.(*ListGroupPoliciesOutput), lastPage)
  5817. })
  5818. }
  5819. const opListGroups = "ListGroups"
  5820. // ListGroupsRequest generates a "aws/request.Request" representing the
  5821. // client's request for the ListGroups operation. The "output" return
  5822. // value can be used to capture response data after the request's "Send" method
  5823. // is called.
  5824. //
  5825. // See ListGroups for usage and error information.
  5826. //
  5827. // Creating a request object using this method should be used when you want to inject
  5828. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5829. // access properties on the request object before or after sending the request. If
  5830. // you just want the service response, call the ListGroups method directly
  5831. // instead.
  5832. //
  5833. // Note: You must call the "Send" method on the returned request object in order
  5834. // to execute the request.
  5835. //
  5836. // // Example sending a request using the ListGroupsRequest method.
  5837. // req, resp := client.ListGroupsRequest(params)
  5838. //
  5839. // err := req.Send()
  5840. // if err == nil { // resp is now filled
  5841. // fmt.Println(resp)
  5842. // }
  5843. //
  5844. func (c *IAM) ListGroupsRequest(input *ListGroupsInput) (req *request.Request, output *ListGroupsOutput) {
  5845. op := &request.Operation{
  5846. Name: opListGroups,
  5847. HTTPMethod: "POST",
  5848. HTTPPath: "/",
  5849. Paginator: &request.Paginator{
  5850. InputTokens: []string{"Marker"},
  5851. OutputTokens: []string{"Marker"},
  5852. LimitToken: "MaxItems",
  5853. TruncationToken: "IsTruncated",
  5854. },
  5855. }
  5856. if input == nil {
  5857. input = &ListGroupsInput{}
  5858. }
  5859. req = c.newRequest(op, input, output)
  5860. output = &ListGroupsOutput{}
  5861. req.Data = output
  5862. return
  5863. }
  5864. // ListGroups API operation for AWS Identity and Access Management.
  5865. //
  5866. // Lists the IAM groups that have the specified path prefix.
  5867. //
  5868. // You can paginate the results using the MaxItems and Marker parameters.
  5869. //
  5870. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5871. // with awserr.Error's Code and Message methods to get detailed information about
  5872. // the error.
  5873. //
  5874. // See the AWS API reference guide for AWS Identity and Access Management's
  5875. // API operation ListGroups for usage and error information.
  5876. //
  5877. // Returned Error Codes:
  5878. // * ServiceFailure
  5879. // The request processing has failed because of an unknown error, exception
  5880. // or failure.
  5881. //
  5882. func (c *IAM) ListGroups(input *ListGroupsInput) (*ListGroupsOutput, error) {
  5883. req, out := c.ListGroupsRequest(input)
  5884. err := req.Send()
  5885. return out, err
  5886. }
  5887. // ListGroupsPages iterates over the pages of a ListGroups operation,
  5888. // calling the "fn" function with the response data for each page. To stop
  5889. // iterating, return false from the fn function.
  5890. //
  5891. // See ListGroups method for more information on how to use this operation.
  5892. //
  5893. // Note: This operation can generate multiple requests to a service.
  5894. //
  5895. // // Example iterating over at most 3 pages of a ListGroups operation.
  5896. // pageNum := 0
  5897. // err := client.ListGroupsPages(params,
  5898. // func(page *ListGroupsOutput, lastPage bool) bool {
  5899. // pageNum++
  5900. // fmt.Println(page)
  5901. // return pageNum <= 3
  5902. // })
  5903. //
  5904. func (c *IAM) ListGroupsPages(input *ListGroupsInput, fn func(p *ListGroupsOutput, lastPage bool) (shouldContinue bool)) error {
  5905. page, _ := c.ListGroupsRequest(input)
  5906. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  5907. return page.EachPage(func(p interface{}, lastPage bool) bool {
  5908. return fn(p.(*ListGroupsOutput), lastPage)
  5909. })
  5910. }
  5911. const opListGroupsForUser = "ListGroupsForUser"
  5912. // ListGroupsForUserRequest generates a "aws/request.Request" representing the
  5913. // client's request for the ListGroupsForUser operation. The "output" return
  5914. // value can be used to capture response data after the request's "Send" method
  5915. // is called.
  5916. //
  5917. // See ListGroupsForUser for usage and error information.
  5918. //
  5919. // Creating a request object using this method should be used when you want to inject
  5920. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5921. // access properties on the request object before or after sending the request. If
  5922. // you just want the service response, call the ListGroupsForUser method directly
  5923. // instead.
  5924. //
  5925. // Note: You must call the "Send" method on the returned request object in order
  5926. // to execute the request.
  5927. //
  5928. // // Example sending a request using the ListGroupsForUserRequest method.
  5929. // req, resp := client.ListGroupsForUserRequest(params)
  5930. //
  5931. // err := req.Send()
  5932. // if err == nil { // resp is now filled
  5933. // fmt.Println(resp)
  5934. // }
  5935. //
  5936. func (c *IAM) ListGroupsForUserRequest(input *ListGroupsForUserInput) (req *request.Request, output *ListGroupsForUserOutput) {
  5937. op := &request.Operation{
  5938. Name: opListGroupsForUser,
  5939. HTTPMethod: "POST",
  5940. HTTPPath: "/",
  5941. Paginator: &request.Paginator{
  5942. InputTokens: []string{"Marker"},
  5943. OutputTokens: []string{"Marker"},
  5944. LimitToken: "MaxItems",
  5945. TruncationToken: "IsTruncated",
  5946. },
  5947. }
  5948. if input == nil {
  5949. input = &ListGroupsForUserInput{}
  5950. }
  5951. req = c.newRequest(op, input, output)
  5952. output = &ListGroupsForUserOutput{}
  5953. req.Data = output
  5954. return
  5955. }
  5956. // ListGroupsForUser API operation for AWS Identity and Access Management.
  5957. //
  5958. // Lists the IAM groups that the specified IAM user belongs to.
  5959. //
  5960. // You can paginate the results using the MaxItems and Marker parameters.
  5961. //
  5962. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5963. // with awserr.Error's Code and Message methods to get detailed information about
  5964. // the error.
  5965. //
  5966. // See the AWS API reference guide for AWS Identity and Access Management's
  5967. // API operation ListGroupsForUser for usage and error information.
  5968. //
  5969. // Returned Error Codes:
  5970. // * NoSuchEntity
  5971. // The request was rejected because it referenced an entity that does not exist.
  5972. // The error message describes the entity.
  5973. //
  5974. // * ServiceFailure
  5975. // The request processing has failed because of an unknown error, exception
  5976. // or failure.
  5977. //
  5978. func (c *IAM) ListGroupsForUser(input *ListGroupsForUserInput) (*ListGroupsForUserOutput, error) {
  5979. req, out := c.ListGroupsForUserRequest(input)
  5980. err := req.Send()
  5981. return out, err
  5982. }
  5983. // ListGroupsForUserPages iterates over the pages of a ListGroupsForUser operation,
  5984. // calling the "fn" function with the response data for each page. To stop
  5985. // iterating, return false from the fn function.
  5986. //
  5987. // See ListGroupsForUser method for more information on how to use this operation.
  5988. //
  5989. // Note: This operation can generate multiple requests to a service.
  5990. //
  5991. // // Example iterating over at most 3 pages of a ListGroupsForUser operation.
  5992. // pageNum := 0
  5993. // err := client.ListGroupsForUserPages(params,
  5994. // func(page *ListGroupsForUserOutput, lastPage bool) bool {
  5995. // pageNum++
  5996. // fmt.Println(page)
  5997. // return pageNum <= 3
  5998. // })
  5999. //
  6000. func (c *IAM) ListGroupsForUserPages(input *ListGroupsForUserInput, fn func(p *ListGroupsForUserOutput, lastPage bool) (shouldContinue bool)) error {
  6001. page, _ := c.ListGroupsForUserRequest(input)
  6002. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  6003. return page.EachPage(func(p interface{}, lastPage bool) bool {
  6004. return fn(p.(*ListGroupsForUserOutput), lastPage)
  6005. })
  6006. }
  6007. const opListInstanceProfiles = "ListInstanceProfiles"
  6008. // ListInstanceProfilesRequest generates a "aws/request.Request" representing the
  6009. // client's request for the ListInstanceProfiles operation. The "output" return
  6010. // value can be used to capture response data after the request's "Send" method
  6011. // is called.
  6012. //
  6013. // See ListInstanceProfiles for usage and error information.
  6014. //
  6015. // Creating a request object using this method should be used when you want to inject
  6016. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6017. // access properties on the request object before or after sending the request. If
  6018. // you just want the service response, call the ListInstanceProfiles method directly
  6019. // instead.
  6020. //
  6021. // Note: You must call the "Send" method on the returned request object in order
  6022. // to execute the request.
  6023. //
  6024. // // Example sending a request using the ListInstanceProfilesRequest method.
  6025. // req, resp := client.ListInstanceProfilesRequest(params)
  6026. //
  6027. // err := req.Send()
  6028. // if err == nil { // resp is now filled
  6029. // fmt.Println(resp)
  6030. // }
  6031. //
  6032. func (c *IAM) ListInstanceProfilesRequest(input *ListInstanceProfilesInput) (req *request.Request, output *ListInstanceProfilesOutput) {
  6033. op := &request.Operation{
  6034. Name: opListInstanceProfiles,
  6035. HTTPMethod: "POST",
  6036. HTTPPath: "/",
  6037. Paginator: &request.Paginator{
  6038. InputTokens: []string{"Marker"},
  6039. OutputTokens: []string{"Marker"},
  6040. LimitToken: "MaxItems",
  6041. TruncationToken: "IsTruncated",
  6042. },
  6043. }
  6044. if input == nil {
  6045. input = &ListInstanceProfilesInput{}
  6046. }
  6047. req = c.newRequest(op, input, output)
  6048. output = &ListInstanceProfilesOutput{}
  6049. req.Data = output
  6050. return
  6051. }
  6052. // ListInstanceProfiles API operation for AWS Identity and Access Management.
  6053. //
  6054. // Lists the instance profiles that have the specified path prefix. If there
  6055. // are none, the action returns an empty list. For more information about instance
  6056. // profiles, go to About Instance Profiles (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html).
  6057. //
  6058. // You can paginate the results using the MaxItems and Marker parameters.
  6059. //
  6060. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6061. // with awserr.Error's Code and Message methods to get detailed information about
  6062. // the error.
  6063. //
  6064. // See the AWS API reference guide for AWS Identity and Access Management's
  6065. // API operation ListInstanceProfiles for usage and error information.
  6066. //
  6067. // Returned Error Codes:
  6068. // * ServiceFailure
  6069. // The request processing has failed because of an unknown error, exception
  6070. // or failure.
  6071. //
  6072. func (c *IAM) ListInstanceProfiles(input *ListInstanceProfilesInput) (*ListInstanceProfilesOutput, error) {
  6073. req, out := c.ListInstanceProfilesRequest(input)
  6074. err := req.Send()
  6075. return out, err
  6076. }
  6077. // ListInstanceProfilesPages iterates over the pages of a ListInstanceProfiles operation,
  6078. // calling the "fn" function with the response data for each page. To stop
  6079. // iterating, return false from the fn function.
  6080. //
  6081. // See ListInstanceProfiles method for more information on how to use this operation.
  6082. //
  6083. // Note: This operation can generate multiple requests to a service.
  6084. //
  6085. // // Example iterating over at most 3 pages of a ListInstanceProfiles operation.
  6086. // pageNum := 0
  6087. // err := client.ListInstanceProfilesPages(params,
  6088. // func(page *ListInstanceProfilesOutput, lastPage bool) bool {
  6089. // pageNum++
  6090. // fmt.Println(page)
  6091. // return pageNum <= 3
  6092. // })
  6093. //
  6094. func (c *IAM) ListInstanceProfilesPages(input *ListInstanceProfilesInput, fn func(p *ListInstanceProfilesOutput, lastPage bool) (shouldContinue bool)) error {
  6095. page, _ := c.ListInstanceProfilesRequest(input)
  6096. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  6097. return page.EachPage(func(p interface{}, lastPage bool) bool {
  6098. return fn(p.(*ListInstanceProfilesOutput), lastPage)
  6099. })
  6100. }
  6101. const opListInstanceProfilesForRole = "ListInstanceProfilesForRole"
  6102. // ListInstanceProfilesForRoleRequest generates a "aws/request.Request" representing the
  6103. // client's request for the ListInstanceProfilesForRole operation. The "output" return
  6104. // value can be used to capture response data after the request's "Send" method
  6105. // is called.
  6106. //
  6107. // See ListInstanceProfilesForRole for usage and error information.
  6108. //
  6109. // Creating a request object using this method should be used when you want to inject
  6110. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6111. // access properties on the request object before or after sending the request. If
  6112. // you just want the service response, call the ListInstanceProfilesForRole method directly
  6113. // instead.
  6114. //
  6115. // Note: You must call the "Send" method on the returned request object in order
  6116. // to execute the request.
  6117. //
  6118. // // Example sending a request using the ListInstanceProfilesForRoleRequest method.
  6119. // req, resp := client.ListInstanceProfilesForRoleRequest(params)
  6120. //
  6121. // err := req.Send()
  6122. // if err == nil { // resp is now filled
  6123. // fmt.Println(resp)
  6124. // }
  6125. //
  6126. func (c *IAM) ListInstanceProfilesForRoleRequest(input *ListInstanceProfilesForRoleInput) (req *request.Request, output *ListInstanceProfilesForRoleOutput) {
  6127. op := &request.Operation{
  6128. Name: opListInstanceProfilesForRole,
  6129. HTTPMethod: "POST",
  6130. HTTPPath: "/",
  6131. Paginator: &request.Paginator{
  6132. InputTokens: []string{"Marker"},
  6133. OutputTokens: []string{"Marker"},
  6134. LimitToken: "MaxItems",
  6135. TruncationToken: "IsTruncated",
  6136. },
  6137. }
  6138. if input == nil {
  6139. input = &ListInstanceProfilesForRoleInput{}
  6140. }
  6141. req = c.newRequest(op, input, output)
  6142. output = &ListInstanceProfilesForRoleOutput{}
  6143. req.Data = output
  6144. return
  6145. }
  6146. // ListInstanceProfilesForRole API operation for AWS Identity and Access Management.
  6147. //
  6148. // Lists the instance profiles that have the specified associated IAM role.
  6149. // If there are none, the action returns an empty list. For more information
  6150. // about instance profiles, go to About Instance Profiles (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html).
  6151. //
  6152. // You can paginate the results using the MaxItems and Marker parameters.
  6153. //
  6154. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6155. // with awserr.Error's Code and Message methods to get detailed information about
  6156. // the error.
  6157. //
  6158. // See the AWS API reference guide for AWS Identity and Access Management's
  6159. // API operation ListInstanceProfilesForRole for usage and error information.
  6160. //
  6161. // Returned Error Codes:
  6162. // * NoSuchEntity
  6163. // The request was rejected because it referenced an entity that does not exist.
  6164. // The error message describes the entity.
  6165. //
  6166. // * ServiceFailure
  6167. // The request processing has failed because of an unknown error, exception
  6168. // or failure.
  6169. //
  6170. func (c *IAM) ListInstanceProfilesForRole(input *ListInstanceProfilesForRoleInput) (*ListInstanceProfilesForRoleOutput, error) {
  6171. req, out := c.ListInstanceProfilesForRoleRequest(input)
  6172. err := req.Send()
  6173. return out, err
  6174. }
  6175. // ListInstanceProfilesForRolePages iterates over the pages of a ListInstanceProfilesForRole operation,
  6176. // calling the "fn" function with the response data for each page. To stop
  6177. // iterating, return false from the fn function.
  6178. //
  6179. // See ListInstanceProfilesForRole method for more information on how to use this operation.
  6180. //
  6181. // Note: This operation can generate multiple requests to a service.
  6182. //
  6183. // // Example iterating over at most 3 pages of a ListInstanceProfilesForRole operation.
  6184. // pageNum := 0
  6185. // err := client.ListInstanceProfilesForRolePages(params,
  6186. // func(page *ListInstanceProfilesForRoleOutput, lastPage bool) bool {
  6187. // pageNum++
  6188. // fmt.Println(page)
  6189. // return pageNum <= 3
  6190. // })
  6191. //
  6192. func (c *IAM) ListInstanceProfilesForRolePages(input *ListInstanceProfilesForRoleInput, fn func(p *ListInstanceProfilesForRoleOutput, lastPage bool) (shouldContinue bool)) error {
  6193. page, _ := c.ListInstanceProfilesForRoleRequest(input)
  6194. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  6195. return page.EachPage(func(p interface{}, lastPage bool) bool {
  6196. return fn(p.(*ListInstanceProfilesForRoleOutput), lastPage)
  6197. })
  6198. }
  6199. const opListMFADevices = "ListMFADevices"
  6200. // ListMFADevicesRequest generates a "aws/request.Request" representing the
  6201. // client's request for the ListMFADevices operation. The "output" return
  6202. // value can be used to capture response data after the request's "Send" method
  6203. // is called.
  6204. //
  6205. // See ListMFADevices for usage and error information.
  6206. //
  6207. // Creating a request object using this method should be used when you want to inject
  6208. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6209. // access properties on the request object before or after sending the request. If
  6210. // you just want the service response, call the ListMFADevices method directly
  6211. // instead.
  6212. //
  6213. // Note: You must call the "Send" method on the returned request object in order
  6214. // to execute the request.
  6215. //
  6216. // // Example sending a request using the ListMFADevicesRequest method.
  6217. // req, resp := client.ListMFADevicesRequest(params)
  6218. //
  6219. // err := req.Send()
  6220. // if err == nil { // resp is now filled
  6221. // fmt.Println(resp)
  6222. // }
  6223. //
  6224. func (c *IAM) ListMFADevicesRequest(input *ListMFADevicesInput) (req *request.Request, output *ListMFADevicesOutput) {
  6225. op := &request.Operation{
  6226. Name: opListMFADevices,
  6227. HTTPMethod: "POST",
  6228. HTTPPath: "/",
  6229. Paginator: &request.Paginator{
  6230. InputTokens: []string{"Marker"},
  6231. OutputTokens: []string{"Marker"},
  6232. LimitToken: "MaxItems",
  6233. TruncationToken: "IsTruncated",
  6234. },
  6235. }
  6236. if input == nil {
  6237. input = &ListMFADevicesInput{}
  6238. }
  6239. req = c.newRequest(op, input, output)
  6240. output = &ListMFADevicesOutput{}
  6241. req.Data = output
  6242. return
  6243. }
  6244. // ListMFADevices API operation for AWS Identity and Access Management.
  6245. //
  6246. // Lists the MFA devices for an IAM user. If the request includes a IAM user
  6247. // name, then this action lists all the MFA devices associated with the specified
  6248. // user. If you do not specify a user name, IAM determines the user name implicitly
  6249. // based on the AWS access key ID signing the request for this API.
  6250. //
  6251. // You can paginate the results using the MaxItems and Marker parameters.
  6252. //
  6253. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6254. // with awserr.Error's Code and Message methods to get detailed information about
  6255. // the error.
  6256. //
  6257. // See the AWS API reference guide for AWS Identity and Access Management's
  6258. // API operation ListMFADevices for usage and error information.
  6259. //
  6260. // Returned Error Codes:
  6261. // * NoSuchEntity
  6262. // The request was rejected because it referenced an entity that does not exist.
  6263. // The error message describes the entity.
  6264. //
  6265. // * ServiceFailure
  6266. // The request processing has failed because of an unknown error, exception
  6267. // or failure.
  6268. //
  6269. func (c *IAM) ListMFADevices(input *ListMFADevicesInput) (*ListMFADevicesOutput, error) {
  6270. req, out := c.ListMFADevicesRequest(input)
  6271. err := req.Send()
  6272. return out, err
  6273. }
  6274. // ListMFADevicesPages iterates over the pages of a ListMFADevices operation,
  6275. // calling the "fn" function with the response data for each page. To stop
  6276. // iterating, return false from the fn function.
  6277. //
  6278. // See ListMFADevices method for more information on how to use this operation.
  6279. //
  6280. // Note: This operation can generate multiple requests to a service.
  6281. //
  6282. // // Example iterating over at most 3 pages of a ListMFADevices operation.
  6283. // pageNum := 0
  6284. // err := client.ListMFADevicesPages(params,
  6285. // func(page *ListMFADevicesOutput, lastPage bool) bool {
  6286. // pageNum++
  6287. // fmt.Println(page)
  6288. // return pageNum <= 3
  6289. // })
  6290. //
  6291. func (c *IAM) ListMFADevicesPages(input *ListMFADevicesInput, fn func(p *ListMFADevicesOutput, lastPage bool) (shouldContinue bool)) error {
  6292. page, _ := c.ListMFADevicesRequest(input)
  6293. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  6294. return page.EachPage(func(p interface{}, lastPage bool) bool {
  6295. return fn(p.(*ListMFADevicesOutput), lastPage)
  6296. })
  6297. }
  6298. const opListOpenIDConnectProviders = "ListOpenIDConnectProviders"
  6299. // ListOpenIDConnectProvidersRequest generates a "aws/request.Request" representing the
  6300. // client's request for the ListOpenIDConnectProviders operation. The "output" return
  6301. // value can be used to capture response data after the request's "Send" method
  6302. // is called.
  6303. //
  6304. // See ListOpenIDConnectProviders for usage and error information.
  6305. //
  6306. // Creating a request object using this method should be used when you want to inject
  6307. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6308. // access properties on the request object before or after sending the request. If
  6309. // you just want the service response, call the ListOpenIDConnectProviders method directly
  6310. // instead.
  6311. //
  6312. // Note: You must call the "Send" method on the returned request object in order
  6313. // to execute the request.
  6314. //
  6315. // // Example sending a request using the ListOpenIDConnectProvidersRequest method.
  6316. // req, resp := client.ListOpenIDConnectProvidersRequest(params)
  6317. //
  6318. // err := req.Send()
  6319. // if err == nil { // resp is now filled
  6320. // fmt.Println(resp)
  6321. // }
  6322. //
  6323. func (c *IAM) ListOpenIDConnectProvidersRequest(input *ListOpenIDConnectProvidersInput) (req *request.Request, output *ListOpenIDConnectProvidersOutput) {
  6324. op := &request.Operation{
  6325. Name: opListOpenIDConnectProviders,
  6326. HTTPMethod: "POST",
  6327. HTTPPath: "/",
  6328. }
  6329. if input == nil {
  6330. input = &ListOpenIDConnectProvidersInput{}
  6331. }
  6332. req = c.newRequest(op, input, output)
  6333. output = &ListOpenIDConnectProvidersOutput{}
  6334. req.Data = output
  6335. return
  6336. }
  6337. // ListOpenIDConnectProviders API operation for AWS Identity and Access Management.
  6338. //
  6339. // Lists information about the IAM OpenID Connect (OIDC) provider resource objects
  6340. // defined in the AWS account.
  6341. //
  6342. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6343. // with awserr.Error's Code and Message methods to get detailed information about
  6344. // the error.
  6345. //
  6346. // See the AWS API reference guide for AWS Identity and Access Management's
  6347. // API operation ListOpenIDConnectProviders for usage and error information.
  6348. //
  6349. // Returned Error Codes:
  6350. // * ServiceFailure
  6351. // The request processing has failed because of an unknown error, exception
  6352. // or failure.
  6353. //
  6354. func (c *IAM) ListOpenIDConnectProviders(input *ListOpenIDConnectProvidersInput) (*ListOpenIDConnectProvidersOutput, error) {
  6355. req, out := c.ListOpenIDConnectProvidersRequest(input)
  6356. err := req.Send()
  6357. return out, err
  6358. }
  6359. const opListPolicies = "ListPolicies"
  6360. // ListPoliciesRequest generates a "aws/request.Request" representing the
  6361. // client's request for the ListPolicies operation. The "output" return
  6362. // value can be used to capture response data after the request's "Send" method
  6363. // is called.
  6364. //
  6365. // See ListPolicies for usage and error information.
  6366. //
  6367. // Creating a request object using this method should be used when you want to inject
  6368. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6369. // access properties on the request object before or after sending the request. If
  6370. // you just want the service response, call the ListPolicies method directly
  6371. // instead.
  6372. //
  6373. // Note: You must call the "Send" method on the returned request object in order
  6374. // to execute the request.
  6375. //
  6376. // // Example sending a request using the ListPoliciesRequest method.
  6377. // req, resp := client.ListPoliciesRequest(params)
  6378. //
  6379. // err := req.Send()
  6380. // if err == nil { // resp is now filled
  6381. // fmt.Println(resp)
  6382. // }
  6383. //
  6384. func (c *IAM) ListPoliciesRequest(input *ListPoliciesInput) (req *request.Request, output *ListPoliciesOutput) {
  6385. op := &request.Operation{
  6386. Name: opListPolicies,
  6387. HTTPMethod: "POST",
  6388. HTTPPath: "/",
  6389. Paginator: &request.Paginator{
  6390. InputTokens: []string{"Marker"},
  6391. OutputTokens: []string{"Marker"},
  6392. LimitToken: "MaxItems",
  6393. TruncationToken: "IsTruncated",
  6394. },
  6395. }
  6396. if input == nil {
  6397. input = &ListPoliciesInput{}
  6398. }
  6399. req = c.newRequest(op, input, output)
  6400. output = &ListPoliciesOutput{}
  6401. req.Data = output
  6402. return
  6403. }
  6404. // ListPolicies API operation for AWS Identity and Access Management.
  6405. //
  6406. // Lists all the managed policies that are available in your AWS account, including
  6407. // your own customer-defined managed policies and all AWS managed policies.
  6408. //
  6409. // You can filter the list of policies that is returned using the optional OnlyAttached,
  6410. // Scope, and PathPrefix parameters. For example, to list only the customer
  6411. // managed policies in your AWS account, set Scope to Local. To list only AWS
  6412. // managed policies, set Scope to AWS.
  6413. //
  6414. // You can paginate the results using the MaxItems and Marker parameters.
  6415. //
  6416. // For more information about managed policies, see Managed Policies and Inline
  6417. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  6418. // in the IAM User Guide.
  6419. //
  6420. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6421. // with awserr.Error's Code and Message methods to get detailed information about
  6422. // the error.
  6423. //
  6424. // See the AWS API reference guide for AWS Identity and Access Management's
  6425. // API operation ListPolicies for usage and error information.
  6426. //
  6427. // Returned Error Codes:
  6428. // * ServiceFailure
  6429. // The request processing has failed because of an unknown error, exception
  6430. // or failure.
  6431. //
  6432. func (c *IAM) ListPolicies(input *ListPoliciesInput) (*ListPoliciesOutput, error) {
  6433. req, out := c.ListPoliciesRequest(input)
  6434. err := req.Send()
  6435. return out, err
  6436. }
  6437. // ListPoliciesPages iterates over the pages of a ListPolicies operation,
  6438. // calling the "fn" function with the response data for each page. To stop
  6439. // iterating, return false from the fn function.
  6440. //
  6441. // See ListPolicies method for more information on how to use this operation.
  6442. //
  6443. // Note: This operation can generate multiple requests to a service.
  6444. //
  6445. // // Example iterating over at most 3 pages of a ListPolicies operation.
  6446. // pageNum := 0
  6447. // err := client.ListPoliciesPages(params,
  6448. // func(page *ListPoliciesOutput, lastPage bool) bool {
  6449. // pageNum++
  6450. // fmt.Println(page)
  6451. // return pageNum <= 3
  6452. // })
  6453. //
  6454. func (c *IAM) ListPoliciesPages(input *ListPoliciesInput, fn func(p *ListPoliciesOutput, lastPage bool) (shouldContinue bool)) error {
  6455. page, _ := c.ListPoliciesRequest(input)
  6456. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  6457. return page.EachPage(func(p interface{}, lastPage bool) bool {
  6458. return fn(p.(*ListPoliciesOutput), lastPage)
  6459. })
  6460. }
  6461. const opListPolicyVersions = "ListPolicyVersions"
  6462. // ListPolicyVersionsRequest generates a "aws/request.Request" representing the
  6463. // client's request for the ListPolicyVersions operation. The "output" return
  6464. // value can be used to capture response data after the request's "Send" method
  6465. // is called.
  6466. //
  6467. // See ListPolicyVersions for usage and error information.
  6468. //
  6469. // Creating a request object using this method should be used when you want to inject
  6470. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6471. // access properties on the request object before or after sending the request. If
  6472. // you just want the service response, call the ListPolicyVersions method directly
  6473. // instead.
  6474. //
  6475. // Note: You must call the "Send" method on the returned request object in order
  6476. // to execute the request.
  6477. //
  6478. // // Example sending a request using the ListPolicyVersionsRequest method.
  6479. // req, resp := client.ListPolicyVersionsRequest(params)
  6480. //
  6481. // err := req.Send()
  6482. // if err == nil { // resp is now filled
  6483. // fmt.Println(resp)
  6484. // }
  6485. //
  6486. func (c *IAM) ListPolicyVersionsRequest(input *ListPolicyVersionsInput) (req *request.Request, output *ListPolicyVersionsOutput) {
  6487. op := &request.Operation{
  6488. Name: opListPolicyVersions,
  6489. HTTPMethod: "POST",
  6490. HTTPPath: "/",
  6491. Paginator: &request.Paginator{
  6492. InputTokens: []string{"Marker"},
  6493. OutputTokens: []string{"Marker"},
  6494. LimitToken: "MaxItems",
  6495. TruncationToken: "IsTruncated",
  6496. },
  6497. }
  6498. if input == nil {
  6499. input = &ListPolicyVersionsInput{}
  6500. }
  6501. req = c.newRequest(op, input, output)
  6502. output = &ListPolicyVersionsOutput{}
  6503. req.Data = output
  6504. return
  6505. }
  6506. // ListPolicyVersions API operation for AWS Identity and Access Management.
  6507. //
  6508. // Lists information about the versions of the specified managed policy, including
  6509. // the version that is currently set as the policy's default version.
  6510. //
  6511. // For more information about managed policies, see Managed Policies and Inline
  6512. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  6513. // in the IAM User Guide.
  6514. //
  6515. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6516. // with awserr.Error's Code and Message methods to get detailed information about
  6517. // the error.
  6518. //
  6519. // See the AWS API reference guide for AWS Identity and Access Management's
  6520. // API operation ListPolicyVersions for usage and error information.
  6521. //
  6522. // Returned Error Codes:
  6523. // * NoSuchEntity
  6524. // The request was rejected because it referenced an entity that does not exist.
  6525. // The error message describes the entity.
  6526. //
  6527. // * InvalidInput
  6528. // The request was rejected because an invalid or out-of-range value was supplied
  6529. // for an input parameter.
  6530. //
  6531. // * ServiceFailure
  6532. // The request processing has failed because of an unknown error, exception
  6533. // or failure.
  6534. //
  6535. func (c *IAM) ListPolicyVersions(input *ListPolicyVersionsInput) (*ListPolicyVersionsOutput, error) {
  6536. req, out := c.ListPolicyVersionsRequest(input)
  6537. err := req.Send()
  6538. return out, err
  6539. }
  6540. // ListPolicyVersionsPages iterates over the pages of a ListPolicyVersions operation,
  6541. // calling the "fn" function with the response data for each page. To stop
  6542. // iterating, return false from the fn function.
  6543. //
  6544. // See ListPolicyVersions method for more information on how to use this operation.
  6545. //
  6546. // Note: This operation can generate multiple requests to a service.
  6547. //
  6548. // // Example iterating over at most 3 pages of a ListPolicyVersions operation.
  6549. // pageNum := 0
  6550. // err := client.ListPolicyVersionsPages(params,
  6551. // func(page *ListPolicyVersionsOutput, lastPage bool) bool {
  6552. // pageNum++
  6553. // fmt.Println(page)
  6554. // return pageNum <= 3
  6555. // })
  6556. //
  6557. func (c *IAM) ListPolicyVersionsPages(input *ListPolicyVersionsInput, fn func(p *ListPolicyVersionsOutput, lastPage bool) (shouldContinue bool)) error {
  6558. page, _ := c.ListPolicyVersionsRequest(input)
  6559. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  6560. return page.EachPage(func(p interface{}, lastPage bool) bool {
  6561. return fn(p.(*ListPolicyVersionsOutput), lastPage)
  6562. })
  6563. }
  6564. const opListRolePolicies = "ListRolePolicies"
  6565. // ListRolePoliciesRequest generates a "aws/request.Request" representing the
  6566. // client's request for the ListRolePolicies operation. The "output" return
  6567. // value can be used to capture response data after the request's "Send" method
  6568. // is called.
  6569. //
  6570. // See ListRolePolicies for usage and error information.
  6571. //
  6572. // Creating a request object using this method should be used when you want to inject
  6573. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6574. // access properties on the request object before or after sending the request. If
  6575. // you just want the service response, call the ListRolePolicies method directly
  6576. // instead.
  6577. //
  6578. // Note: You must call the "Send" method on the returned request object in order
  6579. // to execute the request.
  6580. //
  6581. // // Example sending a request using the ListRolePoliciesRequest method.
  6582. // req, resp := client.ListRolePoliciesRequest(params)
  6583. //
  6584. // err := req.Send()
  6585. // if err == nil { // resp is now filled
  6586. // fmt.Println(resp)
  6587. // }
  6588. //
  6589. func (c *IAM) ListRolePoliciesRequest(input *ListRolePoliciesInput) (req *request.Request, output *ListRolePoliciesOutput) {
  6590. op := &request.Operation{
  6591. Name: opListRolePolicies,
  6592. HTTPMethod: "POST",
  6593. HTTPPath: "/",
  6594. Paginator: &request.Paginator{
  6595. InputTokens: []string{"Marker"},
  6596. OutputTokens: []string{"Marker"},
  6597. LimitToken: "MaxItems",
  6598. TruncationToken: "IsTruncated",
  6599. },
  6600. }
  6601. if input == nil {
  6602. input = &ListRolePoliciesInput{}
  6603. }
  6604. req = c.newRequest(op, input, output)
  6605. output = &ListRolePoliciesOutput{}
  6606. req.Data = output
  6607. return
  6608. }
  6609. // ListRolePolicies API operation for AWS Identity and Access Management.
  6610. //
  6611. // Lists the names of the inline policies that are embedded in the specified
  6612. // IAM role.
  6613. //
  6614. // An IAM role can also have managed policies attached to it. To list the managed
  6615. // policies that are attached to a role, use ListAttachedRolePolicies. For more
  6616. // information about policies, see Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  6617. // in the IAM User Guide.
  6618. //
  6619. // You can paginate the results using the MaxItems and Marker parameters. If
  6620. // there are no inline policies embedded with the specified role, the action
  6621. // returns an empty list.
  6622. //
  6623. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6624. // with awserr.Error's Code and Message methods to get detailed information about
  6625. // the error.
  6626. //
  6627. // See the AWS API reference guide for AWS Identity and Access Management's
  6628. // API operation ListRolePolicies for usage and error information.
  6629. //
  6630. // Returned Error Codes:
  6631. // * NoSuchEntity
  6632. // The request was rejected because it referenced an entity that does not exist.
  6633. // The error message describes the entity.
  6634. //
  6635. // * ServiceFailure
  6636. // The request processing has failed because of an unknown error, exception
  6637. // or failure.
  6638. //
  6639. func (c *IAM) ListRolePolicies(input *ListRolePoliciesInput) (*ListRolePoliciesOutput, error) {
  6640. req, out := c.ListRolePoliciesRequest(input)
  6641. err := req.Send()
  6642. return out, err
  6643. }
  6644. // ListRolePoliciesPages iterates over the pages of a ListRolePolicies operation,
  6645. // calling the "fn" function with the response data for each page. To stop
  6646. // iterating, return false from the fn function.
  6647. //
  6648. // See ListRolePolicies method for more information on how to use this operation.
  6649. //
  6650. // Note: This operation can generate multiple requests to a service.
  6651. //
  6652. // // Example iterating over at most 3 pages of a ListRolePolicies operation.
  6653. // pageNum := 0
  6654. // err := client.ListRolePoliciesPages(params,
  6655. // func(page *ListRolePoliciesOutput, lastPage bool) bool {
  6656. // pageNum++
  6657. // fmt.Println(page)
  6658. // return pageNum <= 3
  6659. // })
  6660. //
  6661. func (c *IAM) ListRolePoliciesPages(input *ListRolePoliciesInput, fn func(p *ListRolePoliciesOutput, lastPage bool) (shouldContinue bool)) error {
  6662. page, _ := c.ListRolePoliciesRequest(input)
  6663. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  6664. return page.EachPage(func(p interface{}, lastPage bool) bool {
  6665. return fn(p.(*ListRolePoliciesOutput), lastPage)
  6666. })
  6667. }
  6668. const opListRoles = "ListRoles"
  6669. // ListRolesRequest generates a "aws/request.Request" representing the
  6670. // client's request for the ListRoles operation. The "output" return
  6671. // value can be used to capture response data after the request's "Send" method
  6672. // is called.
  6673. //
  6674. // See ListRoles for usage and error information.
  6675. //
  6676. // Creating a request object using this method should be used when you want to inject
  6677. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6678. // access properties on the request object before or after sending the request. If
  6679. // you just want the service response, call the ListRoles method directly
  6680. // instead.
  6681. //
  6682. // Note: You must call the "Send" method on the returned request object in order
  6683. // to execute the request.
  6684. //
  6685. // // Example sending a request using the ListRolesRequest method.
  6686. // req, resp := client.ListRolesRequest(params)
  6687. //
  6688. // err := req.Send()
  6689. // if err == nil { // resp is now filled
  6690. // fmt.Println(resp)
  6691. // }
  6692. //
  6693. func (c *IAM) ListRolesRequest(input *ListRolesInput) (req *request.Request, output *ListRolesOutput) {
  6694. op := &request.Operation{
  6695. Name: opListRoles,
  6696. HTTPMethod: "POST",
  6697. HTTPPath: "/",
  6698. Paginator: &request.Paginator{
  6699. InputTokens: []string{"Marker"},
  6700. OutputTokens: []string{"Marker"},
  6701. LimitToken: "MaxItems",
  6702. TruncationToken: "IsTruncated",
  6703. },
  6704. }
  6705. if input == nil {
  6706. input = &ListRolesInput{}
  6707. }
  6708. req = c.newRequest(op, input, output)
  6709. output = &ListRolesOutput{}
  6710. req.Data = output
  6711. return
  6712. }
  6713. // ListRoles API operation for AWS Identity and Access Management.
  6714. //
  6715. // Lists the IAM roles that have the specified path prefix. If there are none,
  6716. // the action returns an empty list. For more information about roles, go to
  6717. // Working with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html).
  6718. //
  6719. // You can paginate the results using the MaxItems and Marker parameters.
  6720. //
  6721. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6722. // with awserr.Error's Code and Message methods to get detailed information about
  6723. // the error.
  6724. //
  6725. // See the AWS API reference guide for AWS Identity and Access Management's
  6726. // API operation ListRoles for usage and error information.
  6727. //
  6728. // Returned Error Codes:
  6729. // * ServiceFailure
  6730. // The request processing has failed because of an unknown error, exception
  6731. // or failure.
  6732. //
  6733. func (c *IAM) ListRoles(input *ListRolesInput) (*ListRolesOutput, error) {
  6734. req, out := c.ListRolesRequest(input)
  6735. err := req.Send()
  6736. return out, err
  6737. }
  6738. // ListRolesPages iterates over the pages of a ListRoles operation,
  6739. // calling the "fn" function with the response data for each page. To stop
  6740. // iterating, return false from the fn function.
  6741. //
  6742. // See ListRoles method for more information on how to use this operation.
  6743. //
  6744. // Note: This operation can generate multiple requests to a service.
  6745. //
  6746. // // Example iterating over at most 3 pages of a ListRoles operation.
  6747. // pageNum := 0
  6748. // err := client.ListRolesPages(params,
  6749. // func(page *ListRolesOutput, lastPage bool) bool {
  6750. // pageNum++
  6751. // fmt.Println(page)
  6752. // return pageNum <= 3
  6753. // })
  6754. //
  6755. func (c *IAM) ListRolesPages(input *ListRolesInput, fn func(p *ListRolesOutput, lastPage bool) (shouldContinue bool)) error {
  6756. page, _ := c.ListRolesRequest(input)
  6757. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  6758. return page.EachPage(func(p interface{}, lastPage bool) bool {
  6759. return fn(p.(*ListRolesOutput), lastPage)
  6760. })
  6761. }
  6762. const opListSAMLProviders = "ListSAMLProviders"
  6763. // ListSAMLProvidersRequest generates a "aws/request.Request" representing the
  6764. // client's request for the ListSAMLProviders operation. The "output" return
  6765. // value can be used to capture response data after the request's "Send" method
  6766. // is called.
  6767. //
  6768. // See ListSAMLProviders for usage and error information.
  6769. //
  6770. // Creating a request object using this method should be used when you want to inject
  6771. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6772. // access properties on the request object before or after sending the request. If
  6773. // you just want the service response, call the ListSAMLProviders method directly
  6774. // instead.
  6775. //
  6776. // Note: You must call the "Send" method on the returned request object in order
  6777. // to execute the request.
  6778. //
  6779. // // Example sending a request using the ListSAMLProvidersRequest method.
  6780. // req, resp := client.ListSAMLProvidersRequest(params)
  6781. //
  6782. // err := req.Send()
  6783. // if err == nil { // resp is now filled
  6784. // fmt.Println(resp)
  6785. // }
  6786. //
  6787. func (c *IAM) ListSAMLProvidersRequest(input *ListSAMLProvidersInput) (req *request.Request, output *ListSAMLProvidersOutput) {
  6788. op := &request.Operation{
  6789. Name: opListSAMLProviders,
  6790. HTTPMethod: "POST",
  6791. HTTPPath: "/",
  6792. }
  6793. if input == nil {
  6794. input = &ListSAMLProvidersInput{}
  6795. }
  6796. req = c.newRequest(op, input, output)
  6797. output = &ListSAMLProvidersOutput{}
  6798. req.Data = output
  6799. return
  6800. }
  6801. // ListSAMLProviders API operation for AWS Identity and Access Management.
  6802. //
  6803. // Lists the SAML provider resource objects defined in IAM in the account.
  6804. //
  6805. // This operation requires Signature Version 4 (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
  6806. //
  6807. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6808. // with awserr.Error's Code and Message methods to get detailed information about
  6809. // the error.
  6810. //
  6811. // See the AWS API reference guide for AWS Identity and Access Management's
  6812. // API operation ListSAMLProviders for usage and error information.
  6813. //
  6814. // Returned Error Codes:
  6815. // * ServiceFailure
  6816. // The request processing has failed because of an unknown error, exception
  6817. // or failure.
  6818. //
  6819. func (c *IAM) ListSAMLProviders(input *ListSAMLProvidersInput) (*ListSAMLProvidersOutput, error) {
  6820. req, out := c.ListSAMLProvidersRequest(input)
  6821. err := req.Send()
  6822. return out, err
  6823. }
  6824. const opListSSHPublicKeys = "ListSSHPublicKeys"
  6825. // ListSSHPublicKeysRequest generates a "aws/request.Request" representing the
  6826. // client's request for the ListSSHPublicKeys operation. The "output" return
  6827. // value can be used to capture response data after the request's "Send" method
  6828. // is called.
  6829. //
  6830. // See ListSSHPublicKeys for usage and error information.
  6831. //
  6832. // Creating a request object using this method should be used when you want to inject
  6833. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6834. // access properties on the request object before or after sending the request. If
  6835. // you just want the service response, call the ListSSHPublicKeys method directly
  6836. // instead.
  6837. //
  6838. // Note: You must call the "Send" method on the returned request object in order
  6839. // to execute the request.
  6840. //
  6841. // // Example sending a request using the ListSSHPublicKeysRequest method.
  6842. // req, resp := client.ListSSHPublicKeysRequest(params)
  6843. //
  6844. // err := req.Send()
  6845. // if err == nil { // resp is now filled
  6846. // fmt.Println(resp)
  6847. // }
  6848. //
  6849. func (c *IAM) ListSSHPublicKeysRequest(input *ListSSHPublicKeysInput) (req *request.Request, output *ListSSHPublicKeysOutput) {
  6850. op := &request.Operation{
  6851. Name: opListSSHPublicKeys,
  6852. HTTPMethod: "POST",
  6853. HTTPPath: "/",
  6854. Paginator: &request.Paginator{
  6855. InputTokens: []string{"Marker"},
  6856. OutputTokens: []string{"Marker"},
  6857. LimitToken: "MaxItems",
  6858. TruncationToken: "IsTruncated",
  6859. },
  6860. }
  6861. if input == nil {
  6862. input = &ListSSHPublicKeysInput{}
  6863. }
  6864. req = c.newRequest(op, input, output)
  6865. output = &ListSSHPublicKeysOutput{}
  6866. req.Data = output
  6867. return
  6868. }
  6869. // ListSSHPublicKeys API operation for AWS Identity and Access Management.
  6870. //
  6871. // Returns information about the SSH public keys associated with the specified
  6872. // IAM user. If there are none, the action returns an empty list.
  6873. //
  6874. // The SSH public keys returned by this action are used only for authenticating
  6875. // the IAM user to an AWS CodeCommit repository. For more information about
  6876. // using SSH keys to authenticate to an AWS CodeCommit repository, see Set up
  6877. // AWS CodeCommit for SSH Connections (http://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-credentials-ssh.html)
  6878. // in the AWS CodeCommit User Guide.
  6879. //
  6880. // Although each user is limited to a small number of keys, you can still paginate
  6881. // the results using the MaxItems and Marker parameters.
  6882. //
  6883. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6884. // with awserr.Error's Code and Message methods to get detailed information about
  6885. // the error.
  6886. //
  6887. // See the AWS API reference guide for AWS Identity and Access Management's
  6888. // API operation ListSSHPublicKeys for usage and error information.
  6889. //
  6890. // Returned Error Codes:
  6891. // * NoSuchEntity
  6892. // The request was rejected because it referenced an entity that does not exist.
  6893. // The error message describes the entity.
  6894. //
  6895. func (c *IAM) ListSSHPublicKeys(input *ListSSHPublicKeysInput) (*ListSSHPublicKeysOutput, error) {
  6896. req, out := c.ListSSHPublicKeysRequest(input)
  6897. err := req.Send()
  6898. return out, err
  6899. }
  6900. // ListSSHPublicKeysPages iterates over the pages of a ListSSHPublicKeys operation,
  6901. // calling the "fn" function with the response data for each page. To stop
  6902. // iterating, return false from the fn function.
  6903. //
  6904. // See ListSSHPublicKeys method for more information on how to use this operation.
  6905. //
  6906. // Note: This operation can generate multiple requests to a service.
  6907. //
  6908. // // Example iterating over at most 3 pages of a ListSSHPublicKeys operation.
  6909. // pageNum := 0
  6910. // err := client.ListSSHPublicKeysPages(params,
  6911. // func(page *ListSSHPublicKeysOutput, lastPage bool) bool {
  6912. // pageNum++
  6913. // fmt.Println(page)
  6914. // return pageNum <= 3
  6915. // })
  6916. //
  6917. func (c *IAM) ListSSHPublicKeysPages(input *ListSSHPublicKeysInput, fn func(p *ListSSHPublicKeysOutput, lastPage bool) (shouldContinue bool)) error {
  6918. page, _ := c.ListSSHPublicKeysRequest(input)
  6919. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  6920. return page.EachPage(func(p interface{}, lastPage bool) bool {
  6921. return fn(p.(*ListSSHPublicKeysOutput), lastPage)
  6922. })
  6923. }
  6924. const opListServerCertificates = "ListServerCertificates"
  6925. // ListServerCertificatesRequest generates a "aws/request.Request" representing the
  6926. // client's request for the ListServerCertificates operation. The "output" return
  6927. // value can be used to capture response data after the request's "Send" method
  6928. // is called.
  6929. //
  6930. // See ListServerCertificates for usage and error information.
  6931. //
  6932. // Creating a request object using this method should be used when you want to inject
  6933. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6934. // access properties on the request object before or after sending the request. If
  6935. // you just want the service response, call the ListServerCertificates method directly
  6936. // instead.
  6937. //
  6938. // Note: You must call the "Send" method on the returned request object in order
  6939. // to execute the request.
  6940. //
  6941. // // Example sending a request using the ListServerCertificatesRequest method.
  6942. // req, resp := client.ListServerCertificatesRequest(params)
  6943. //
  6944. // err := req.Send()
  6945. // if err == nil { // resp is now filled
  6946. // fmt.Println(resp)
  6947. // }
  6948. //
  6949. func (c *IAM) ListServerCertificatesRequest(input *ListServerCertificatesInput) (req *request.Request, output *ListServerCertificatesOutput) {
  6950. op := &request.Operation{
  6951. Name: opListServerCertificates,
  6952. HTTPMethod: "POST",
  6953. HTTPPath: "/",
  6954. Paginator: &request.Paginator{
  6955. InputTokens: []string{"Marker"},
  6956. OutputTokens: []string{"Marker"},
  6957. LimitToken: "MaxItems",
  6958. TruncationToken: "IsTruncated",
  6959. },
  6960. }
  6961. if input == nil {
  6962. input = &ListServerCertificatesInput{}
  6963. }
  6964. req = c.newRequest(op, input, output)
  6965. output = &ListServerCertificatesOutput{}
  6966. req.Data = output
  6967. return
  6968. }
  6969. // ListServerCertificates API operation for AWS Identity and Access Management.
  6970. //
  6971. // Lists the server certificates stored in IAM that have the specified path
  6972. // prefix. If none exist, the action returns an empty list.
  6973. //
  6974. // You can paginate the results using the MaxItems and Marker parameters.
  6975. //
  6976. // For more information about working with server certificates, including a
  6977. // list of AWS services that can use the server certificates that you manage
  6978. // with IAM, go to Working with Server Certificates (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html)
  6979. // in the IAM User Guide.
  6980. //
  6981. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6982. // with awserr.Error's Code and Message methods to get detailed information about
  6983. // the error.
  6984. //
  6985. // See the AWS API reference guide for AWS Identity and Access Management's
  6986. // API operation ListServerCertificates for usage and error information.
  6987. //
  6988. // Returned Error Codes:
  6989. // * ServiceFailure
  6990. // The request processing has failed because of an unknown error, exception
  6991. // or failure.
  6992. //
  6993. func (c *IAM) ListServerCertificates(input *ListServerCertificatesInput) (*ListServerCertificatesOutput, error) {
  6994. req, out := c.ListServerCertificatesRequest(input)
  6995. err := req.Send()
  6996. return out, err
  6997. }
  6998. // ListServerCertificatesPages iterates over the pages of a ListServerCertificates operation,
  6999. // calling the "fn" function with the response data for each page. To stop
  7000. // iterating, return false from the fn function.
  7001. //
  7002. // See ListServerCertificates method for more information on how to use this operation.
  7003. //
  7004. // Note: This operation can generate multiple requests to a service.
  7005. //
  7006. // // Example iterating over at most 3 pages of a ListServerCertificates operation.
  7007. // pageNum := 0
  7008. // err := client.ListServerCertificatesPages(params,
  7009. // func(page *ListServerCertificatesOutput, lastPage bool) bool {
  7010. // pageNum++
  7011. // fmt.Println(page)
  7012. // return pageNum <= 3
  7013. // })
  7014. //
  7015. func (c *IAM) ListServerCertificatesPages(input *ListServerCertificatesInput, fn func(p *ListServerCertificatesOutput, lastPage bool) (shouldContinue bool)) error {
  7016. page, _ := c.ListServerCertificatesRequest(input)
  7017. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  7018. return page.EachPage(func(p interface{}, lastPage bool) bool {
  7019. return fn(p.(*ListServerCertificatesOutput), lastPage)
  7020. })
  7021. }
  7022. const opListSigningCertificates = "ListSigningCertificates"
  7023. // ListSigningCertificatesRequest generates a "aws/request.Request" representing the
  7024. // client's request for the ListSigningCertificates operation. The "output" return
  7025. // value can be used to capture response data after the request's "Send" method
  7026. // is called.
  7027. //
  7028. // See ListSigningCertificates for usage and error information.
  7029. //
  7030. // Creating a request object using this method should be used when you want to inject
  7031. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7032. // access properties on the request object before or after sending the request. If
  7033. // you just want the service response, call the ListSigningCertificates method directly
  7034. // instead.
  7035. //
  7036. // Note: You must call the "Send" method on the returned request object in order
  7037. // to execute the request.
  7038. //
  7039. // // Example sending a request using the ListSigningCertificatesRequest method.
  7040. // req, resp := client.ListSigningCertificatesRequest(params)
  7041. //
  7042. // err := req.Send()
  7043. // if err == nil { // resp is now filled
  7044. // fmt.Println(resp)
  7045. // }
  7046. //
  7047. func (c *IAM) ListSigningCertificatesRequest(input *ListSigningCertificatesInput) (req *request.Request, output *ListSigningCertificatesOutput) {
  7048. op := &request.Operation{
  7049. Name: opListSigningCertificates,
  7050. HTTPMethod: "POST",
  7051. HTTPPath: "/",
  7052. Paginator: &request.Paginator{
  7053. InputTokens: []string{"Marker"},
  7054. OutputTokens: []string{"Marker"},
  7055. LimitToken: "MaxItems",
  7056. TruncationToken: "IsTruncated",
  7057. },
  7058. }
  7059. if input == nil {
  7060. input = &ListSigningCertificatesInput{}
  7061. }
  7062. req = c.newRequest(op, input, output)
  7063. output = &ListSigningCertificatesOutput{}
  7064. req.Data = output
  7065. return
  7066. }
  7067. // ListSigningCertificates API operation for AWS Identity and Access Management.
  7068. //
  7069. // Returns information about the signing certificates associated with the specified
  7070. // IAM user. If there are none, the action returns an empty list.
  7071. //
  7072. // Although each user is limited to a small number of signing certificates,
  7073. // you can still paginate the results using the MaxItems and Marker parameters.
  7074. //
  7075. // If the UserName field is not specified, the user name is determined implicitly
  7076. // based on the AWS access key ID used to sign the request for this API. Because
  7077. // this action works for access keys under the AWS account, you can use this
  7078. // action to manage root credentials even if the AWS account has no associated
  7079. // users.
  7080. //
  7081. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7082. // with awserr.Error's Code and Message methods to get detailed information about
  7083. // the error.
  7084. //
  7085. // See the AWS API reference guide for AWS Identity and Access Management's
  7086. // API operation ListSigningCertificates for usage and error information.
  7087. //
  7088. // Returned Error Codes:
  7089. // * NoSuchEntity
  7090. // The request was rejected because it referenced an entity that does not exist.
  7091. // The error message describes the entity.
  7092. //
  7093. // * ServiceFailure
  7094. // The request processing has failed because of an unknown error, exception
  7095. // or failure.
  7096. //
  7097. func (c *IAM) ListSigningCertificates(input *ListSigningCertificatesInput) (*ListSigningCertificatesOutput, error) {
  7098. req, out := c.ListSigningCertificatesRequest(input)
  7099. err := req.Send()
  7100. return out, err
  7101. }
  7102. // ListSigningCertificatesPages iterates over the pages of a ListSigningCertificates operation,
  7103. // calling the "fn" function with the response data for each page. To stop
  7104. // iterating, return false from the fn function.
  7105. //
  7106. // See ListSigningCertificates method for more information on how to use this operation.
  7107. //
  7108. // Note: This operation can generate multiple requests to a service.
  7109. //
  7110. // // Example iterating over at most 3 pages of a ListSigningCertificates operation.
  7111. // pageNum := 0
  7112. // err := client.ListSigningCertificatesPages(params,
  7113. // func(page *ListSigningCertificatesOutput, lastPage bool) bool {
  7114. // pageNum++
  7115. // fmt.Println(page)
  7116. // return pageNum <= 3
  7117. // })
  7118. //
  7119. func (c *IAM) ListSigningCertificatesPages(input *ListSigningCertificatesInput, fn func(p *ListSigningCertificatesOutput, lastPage bool) (shouldContinue bool)) error {
  7120. page, _ := c.ListSigningCertificatesRequest(input)
  7121. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  7122. return page.EachPage(func(p interface{}, lastPage bool) bool {
  7123. return fn(p.(*ListSigningCertificatesOutput), lastPage)
  7124. })
  7125. }
  7126. const opListUserPolicies = "ListUserPolicies"
  7127. // ListUserPoliciesRequest generates a "aws/request.Request" representing the
  7128. // client's request for the ListUserPolicies operation. The "output" return
  7129. // value can be used to capture response data after the request's "Send" method
  7130. // is called.
  7131. //
  7132. // See ListUserPolicies for usage and error information.
  7133. //
  7134. // Creating a request object using this method should be used when you want to inject
  7135. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7136. // access properties on the request object before or after sending the request. If
  7137. // you just want the service response, call the ListUserPolicies method directly
  7138. // instead.
  7139. //
  7140. // Note: You must call the "Send" method on the returned request object in order
  7141. // to execute the request.
  7142. //
  7143. // // Example sending a request using the ListUserPoliciesRequest method.
  7144. // req, resp := client.ListUserPoliciesRequest(params)
  7145. //
  7146. // err := req.Send()
  7147. // if err == nil { // resp is now filled
  7148. // fmt.Println(resp)
  7149. // }
  7150. //
  7151. func (c *IAM) ListUserPoliciesRequest(input *ListUserPoliciesInput) (req *request.Request, output *ListUserPoliciesOutput) {
  7152. op := &request.Operation{
  7153. Name: opListUserPolicies,
  7154. HTTPMethod: "POST",
  7155. HTTPPath: "/",
  7156. Paginator: &request.Paginator{
  7157. InputTokens: []string{"Marker"},
  7158. OutputTokens: []string{"Marker"},
  7159. LimitToken: "MaxItems",
  7160. TruncationToken: "IsTruncated",
  7161. },
  7162. }
  7163. if input == nil {
  7164. input = &ListUserPoliciesInput{}
  7165. }
  7166. req = c.newRequest(op, input, output)
  7167. output = &ListUserPoliciesOutput{}
  7168. req.Data = output
  7169. return
  7170. }
  7171. // ListUserPolicies API operation for AWS Identity and Access Management.
  7172. //
  7173. // Lists the names of the inline policies embedded in the specified IAM user.
  7174. //
  7175. // An IAM user can also have managed policies attached to it. To list the managed
  7176. // policies that are attached to a user, use ListAttachedUserPolicies. For more
  7177. // information about policies, see Managed Policies and Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  7178. // in the IAM User Guide.
  7179. //
  7180. // You can paginate the results using the MaxItems and Marker parameters. If
  7181. // there are no inline policies embedded with the specified user, the action
  7182. // returns an empty list.
  7183. //
  7184. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7185. // with awserr.Error's Code and Message methods to get detailed information about
  7186. // the error.
  7187. //
  7188. // See the AWS API reference guide for AWS Identity and Access Management's
  7189. // API operation ListUserPolicies for usage and error information.
  7190. //
  7191. // Returned Error Codes:
  7192. // * NoSuchEntity
  7193. // The request was rejected because it referenced an entity that does not exist.
  7194. // The error message describes the entity.
  7195. //
  7196. // * ServiceFailure
  7197. // The request processing has failed because of an unknown error, exception
  7198. // or failure.
  7199. //
  7200. func (c *IAM) ListUserPolicies(input *ListUserPoliciesInput) (*ListUserPoliciesOutput, error) {
  7201. req, out := c.ListUserPoliciesRequest(input)
  7202. err := req.Send()
  7203. return out, err
  7204. }
  7205. // ListUserPoliciesPages iterates over the pages of a ListUserPolicies operation,
  7206. // calling the "fn" function with the response data for each page. To stop
  7207. // iterating, return false from the fn function.
  7208. //
  7209. // See ListUserPolicies method for more information on how to use this operation.
  7210. //
  7211. // Note: This operation can generate multiple requests to a service.
  7212. //
  7213. // // Example iterating over at most 3 pages of a ListUserPolicies operation.
  7214. // pageNum := 0
  7215. // err := client.ListUserPoliciesPages(params,
  7216. // func(page *ListUserPoliciesOutput, lastPage bool) bool {
  7217. // pageNum++
  7218. // fmt.Println(page)
  7219. // return pageNum <= 3
  7220. // })
  7221. //
  7222. func (c *IAM) ListUserPoliciesPages(input *ListUserPoliciesInput, fn func(p *ListUserPoliciesOutput, lastPage bool) (shouldContinue bool)) error {
  7223. page, _ := c.ListUserPoliciesRequest(input)
  7224. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  7225. return page.EachPage(func(p interface{}, lastPage bool) bool {
  7226. return fn(p.(*ListUserPoliciesOutput), lastPage)
  7227. })
  7228. }
  7229. const opListUsers = "ListUsers"
  7230. // ListUsersRequest generates a "aws/request.Request" representing the
  7231. // client's request for the ListUsers operation. The "output" return
  7232. // value can be used to capture response data after the request's "Send" method
  7233. // is called.
  7234. //
  7235. // See ListUsers for usage and error information.
  7236. //
  7237. // Creating a request object using this method should be used when you want to inject
  7238. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7239. // access properties on the request object before or after sending the request. If
  7240. // you just want the service response, call the ListUsers method directly
  7241. // instead.
  7242. //
  7243. // Note: You must call the "Send" method on the returned request object in order
  7244. // to execute the request.
  7245. //
  7246. // // Example sending a request using the ListUsersRequest method.
  7247. // req, resp := client.ListUsersRequest(params)
  7248. //
  7249. // err := req.Send()
  7250. // if err == nil { // resp is now filled
  7251. // fmt.Println(resp)
  7252. // }
  7253. //
  7254. func (c *IAM) ListUsersRequest(input *ListUsersInput) (req *request.Request, output *ListUsersOutput) {
  7255. op := &request.Operation{
  7256. Name: opListUsers,
  7257. HTTPMethod: "POST",
  7258. HTTPPath: "/",
  7259. Paginator: &request.Paginator{
  7260. InputTokens: []string{"Marker"},
  7261. OutputTokens: []string{"Marker"},
  7262. LimitToken: "MaxItems",
  7263. TruncationToken: "IsTruncated",
  7264. },
  7265. }
  7266. if input == nil {
  7267. input = &ListUsersInput{}
  7268. }
  7269. req = c.newRequest(op, input, output)
  7270. output = &ListUsersOutput{}
  7271. req.Data = output
  7272. return
  7273. }
  7274. // ListUsers API operation for AWS Identity and Access Management.
  7275. //
  7276. // Lists the IAM users that have the specified path prefix. If no path prefix
  7277. // is specified, the action returns all users in the AWS account. If there are
  7278. // none, the action returns an empty list.
  7279. //
  7280. // You can paginate the results using the MaxItems and Marker parameters.
  7281. //
  7282. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7283. // with awserr.Error's Code and Message methods to get detailed information about
  7284. // the error.
  7285. //
  7286. // See the AWS API reference guide for AWS Identity and Access Management's
  7287. // API operation ListUsers for usage and error information.
  7288. //
  7289. // Returned Error Codes:
  7290. // * ServiceFailure
  7291. // The request processing has failed because of an unknown error, exception
  7292. // or failure.
  7293. //
  7294. func (c *IAM) ListUsers(input *ListUsersInput) (*ListUsersOutput, error) {
  7295. req, out := c.ListUsersRequest(input)
  7296. err := req.Send()
  7297. return out, err
  7298. }
  7299. // ListUsersPages iterates over the pages of a ListUsers operation,
  7300. // calling the "fn" function with the response data for each page. To stop
  7301. // iterating, return false from the fn function.
  7302. //
  7303. // See ListUsers method for more information on how to use this operation.
  7304. //
  7305. // Note: This operation can generate multiple requests to a service.
  7306. //
  7307. // // Example iterating over at most 3 pages of a ListUsers operation.
  7308. // pageNum := 0
  7309. // err := client.ListUsersPages(params,
  7310. // func(page *ListUsersOutput, lastPage bool) bool {
  7311. // pageNum++
  7312. // fmt.Println(page)
  7313. // return pageNum <= 3
  7314. // })
  7315. //
  7316. func (c *IAM) ListUsersPages(input *ListUsersInput, fn func(p *ListUsersOutput, lastPage bool) (shouldContinue bool)) error {
  7317. page, _ := c.ListUsersRequest(input)
  7318. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  7319. return page.EachPage(func(p interface{}, lastPage bool) bool {
  7320. return fn(p.(*ListUsersOutput), lastPage)
  7321. })
  7322. }
  7323. const opListVirtualMFADevices = "ListVirtualMFADevices"
  7324. // ListVirtualMFADevicesRequest generates a "aws/request.Request" representing the
  7325. // client's request for the ListVirtualMFADevices operation. The "output" return
  7326. // value can be used to capture response data after the request's "Send" method
  7327. // is called.
  7328. //
  7329. // See ListVirtualMFADevices for usage and error information.
  7330. //
  7331. // Creating a request object using this method should be used when you want to inject
  7332. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7333. // access properties on the request object before or after sending the request. If
  7334. // you just want the service response, call the ListVirtualMFADevices method directly
  7335. // instead.
  7336. //
  7337. // Note: You must call the "Send" method on the returned request object in order
  7338. // to execute the request.
  7339. //
  7340. // // Example sending a request using the ListVirtualMFADevicesRequest method.
  7341. // req, resp := client.ListVirtualMFADevicesRequest(params)
  7342. //
  7343. // err := req.Send()
  7344. // if err == nil { // resp is now filled
  7345. // fmt.Println(resp)
  7346. // }
  7347. //
  7348. func (c *IAM) ListVirtualMFADevicesRequest(input *ListVirtualMFADevicesInput) (req *request.Request, output *ListVirtualMFADevicesOutput) {
  7349. op := &request.Operation{
  7350. Name: opListVirtualMFADevices,
  7351. HTTPMethod: "POST",
  7352. HTTPPath: "/",
  7353. Paginator: &request.Paginator{
  7354. InputTokens: []string{"Marker"},
  7355. OutputTokens: []string{"Marker"},
  7356. LimitToken: "MaxItems",
  7357. TruncationToken: "IsTruncated",
  7358. },
  7359. }
  7360. if input == nil {
  7361. input = &ListVirtualMFADevicesInput{}
  7362. }
  7363. req = c.newRequest(op, input, output)
  7364. output = &ListVirtualMFADevicesOutput{}
  7365. req.Data = output
  7366. return
  7367. }
  7368. // ListVirtualMFADevices API operation for AWS Identity and Access Management.
  7369. //
  7370. // Lists the virtual MFA devices defined in the AWS account by assignment status.
  7371. // If you do not specify an assignment status, the action returns a list of
  7372. // all virtual MFA devices. Assignment status can be Assigned, Unassigned, or
  7373. // Any.
  7374. //
  7375. // You can paginate the results using the MaxItems and Marker parameters.
  7376. //
  7377. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7378. // with awserr.Error's Code and Message methods to get detailed information about
  7379. // the error.
  7380. //
  7381. // See the AWS API reference guide for AWS Identity and Access Management's
  7382. // API operation ListVirtualMFADevices for usage and error information.
  7383. func (c *IAM) ListVirtualMFADevices(input *ListVirtualMFADevicesInput) (*ListVirtualMFADevicesOutput, error) {
  7384. req, out := c.ListVirtualMFADevicesRequest(input)
  7385. err := req.Send()
  7386. return out, err
  7387. }
  7388. // ListVirtualMFADevicesPages iterates over the pages of a ListVirtualMFADevices operation,
  7389. // calling the "fn" function with the response data for each page. To stop
  7390. // iterating, return false from the fn function.
  7391. //
  7392. // See ListVirtualMFADevices method for more information on how to use this operation.
  7393. //
  7394. // Note: This operation can generate multiple requests to a service.
  7395. //
  7396. // // Example iterating over at most 3 pages of a ListVirtualMFADevices operation.
  7397. // pageNum := 0
  7398. // err := client.ListVirtualMFADevicesPages(params,
  7399. // func(page *ListVirtualMFADevicesOutput, lastPage bool) bool {
  7400. // pageNum++
  7401. // fmt.Println(page)
  7402. // return pageNum <= 3
  7403. // })
  7404. //
  7405. func (c *IAM) ListVirtualMFADevicesPages(input *ListVirtualMFADevicesInput, fn func(p *ListVirtualMFADevicesOutput, lastPage bool) (shouldContinue bool)) error {
  7406. page, _ := c.ListVirtualMFADevicesRequest(input)
  7407. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  7408. return page.EachPage(func(p interface{}, lastPage bool) bool {
  7409. return fn(p.(*ListVirtualMFADevicesOutput), lastPage)
  7410. })
  7411. }
  7412. const opPutGroupPolicy = "PutGroupPolicy"
  7413. // PutGroupPolicyRequest generates a "aws/request.Request" representing the
  7414. // client's request for the PutGroupPolicy operation. The "output" return
  7415. // value can be used to capture response data after the request's "Send" method
  7416. // is called.
  7417. //
  7418. // See PutGroupPolicy for usage and error information.
  7419. //
  7420. // Creating a request object using this method should be used when you want to inject
  7421. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7422. // access properties on the request object before or after sending the request. If
  7423. // you just want the service response, call the PutGroupPolicy method directly
  7424. // instead.
  7425. //
  7426. // Note: You must call the "Send" method on the returned request object in order
  7427. // to execute the request.
  7428. //
  7429. // // Example sending a request using the PutGroupPolicyRequest method.
  7430. // req, resp := client.PutGroupPolicyRequest(params)
  7431. //
  7432. // err := req.Send()
  7433. // if err == nil { // resp is now filled
  7434. // fmt.Println(resp)
  7435. // }
  7436. //
  7437. func (c *IAM) PutGroupPolicyRequest(input *PutGroupPolicyInput) (req *request.Request, output *PutGroupPolicyOutput) {
  7438. op := &request.Operation{
  7439. Name: opPutGroupPolicy,
  7440. HTTPMethod: "POST",
  7441. HTTPPath: "/",
  7442. }
  7443. if input == nil {
  7444. input = &PutGroupPolicyInput{}
  7445. }
  7446. req = c.newRequest(op, input, output)
  7447. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  7448. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  7449. output = &PutGroupPolicyOutput{}
  7450. req.Data = output
  7451. return
  7452. }
  7453. // PutGroupPolicy API operation for AWS Identity and Access Management.
  7454. //
  7455. // Adds or updates an inline policy document that is embedded in the specified
  7456. // IAM group.
  7457. //
  7458. // A user can also have managed policies attached to it. To attach a managed
  7459. // policy to a group, use AttachGroupPolicy. To create a new managed policy,
  7460. // use CreatePolicy. For information about policies, see Managed Policies and
  7461. // Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  7462. // in the IAM User Guide.
  7463. //
  7464. // For information about limits on the number of inline policies that you can
  7465. // embed in a group, see Limitations on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
  7466. // in the IAM User Guide.
  7467. //
  7468. // Because policy documents can be large, you should use POST rather than GET
  7469. // when calling PutGroupPolicy. For general information about using the Query
  7470. // API with IAM, go to Making Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html)
  7471. // in the IAM User Guide.
  7472. //
  7473. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7474. // with awserr.Error's Code and Message methods to get detailed information about
  7475. // the error.
  7476. //
  7477. // See the AWS API reference guide for AWS Identity and Access Management's
  7478. // API operation PutGroupPolicy for usage and error information.
  7479. //
  7480. // Returned Error Codes:
  7481. // * LimitExceeded
  7482. // The request was rejected because it attempted to create resources beyond
  7483. // the current AWS account limits. The error message describes the limit exceeded.
  7484. //
  7485. // * MalformedPolicyDocument
  7486. // The request was rejected because the policy document was malformed. The error
  7487. // message describes the specific error.
  7488. //
  7489. // * NoSuchEntity
  7490. // The request was rejected because it referenced an entity that does not exist.
  7491. // The error message describes the entity.
  7492. //
  7493. // * ServiceFailure
  7494. // The request processing has failed because of an unknown error, exception
  7495. // or failure.
  7496. //
  7497. func (c *IAM) PutGroupPolicy(input *PutGroupPolicyInput) (*PutGroupPolicyOutput, error) {
  7498. req, out := c.PutGroupPolicyRequest(input)
  7499. err := req.Send()
  7500. return out, err
  7501. }
  7502. const opPutRolePolicy = "PutRolePolicy"
  7503. // PutRolePolicyRequest generates a "aws/request.Request" representing the
  7504. // client's request for the PutRolePolicy operation. The "output" return
  7505. // value can be used to capture response data after the request's "Send" method
  7506. // is called.
  7507. //
  7508. // See PutRolePolicy for usage and error information.
  7509. //
  7510. // Creating a request object using this method should be used when you want to inject
  7511. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7512. // access properties on the request object before or after sending the request. If
  7513. // you just want the service response, call the PutRolePolicy method directly
  7514. // instead.
  7515. //
  7516. // Note: You must call the "Send" method on the returned request object in order
  7517. // to execute the request.
  7518. //
  7519. // // Example sending a request using the PutRolePolicyRequest method.
  7520. // req, resp := client.PutRolePolicyRequest(params)
  7521. //
  7522. // err := req.Send()
  7523. // if err == nil { // resp is now filled
  7524. // fmt.Println(resp)
  7525. // }
  7526. //
  7527. func (c *IAM) PutRolePolicyRequest(input *PutRolePolicyInput) (req *request.Request, output *PutRolePolicyOutput) {
  7528. op := &request.Operation{
  7529. Name: opPutRolePolicy,
  7530. HTTPMethod: "POST",
  7531. HTTPPath: "/",
  7532. }
  7533. if input == nil {
  7534. input = &PutRolePolicyInput{}
  7535. }
  7536. req = c.newRequest(op, input, output)
  7537. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  7538. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  7539. output = &PutRolePolicyOutput{}
  7540. req.Data = output
  7541. return
  7542. }
  7543. // PutRolePolicy API operation for AWS Identity and Access Management.
  7544. //
  7545. // Adds or updates an inline policy document that is embedded in the specified
  7546. // IAM role.
  7547. //
  7548. // When you embed an inline policy in a role, the inline policy is used as part
  7549. // of the role's access (permissions) policy. The role's trust policy is created
  7550. // at the same time as the role, using CreateRole. You can update a role's trust
  7551. // policy using UpdateAssumeRolePolicy. For more information about IAM roles,
  7552. // go to Using Roles to Delegate Permissions and Federate Identities (http://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html).
  7553. //
  7554. // A role can also have a managed policy attached to it. To attach a managed
  7555. // policy to a role, use AttachRolePolicy. To create a new managed policy, use
  7556. // CreatePolicy. For information about policies, see Managed Policies and Inline
  7557. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  7558. // in the IAM User Guide.
  7559. //
  7560. // For information about limits on the number of inline policies that you can
  7561. // embed with a role, see Limitations on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
  7562. // in the IAM User Guide.
  7563. //
  7564. // Because policy documents can be large, you should use POST rather than GET
  7565. // when calling PutRolePolicy. For general information about using the Query
  7566. // API with IAM, go to Making Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html)
  7567. // in the IAM User Guide.
  7568. //
  7569. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7570. // with awserr.Error's Code and Message methods to get detailed information about
  7571. // the error.
  7572. //
  7573. // See the AWS API reference guide for AWS Identity and Access Management's
  7574. // API operation PutRolePolicy for usage and error information.
  7575. //
  7576. // Returned Error Codes:
  7577. // * LimitExceeded
  7578. // The request was rejected because it attempted to create resources beyond
  7579. // the current AWS account limits. The error message describes the limit exceeded.
  7580. //
  7581. // * MalformedPolicyDocument
  7582. // The request was rejected because the policy document was malformed. The error
  7583. // message describes the specific error.
  7584. //
  7585. // * NoSuchEntity
  7586. // The request was rejected because it referenced an entity that does not exist.
  7587. // The error message describes the entity.
  7588. //
  7589. // * ServiceFailure
  7590. // The request processing has failed because of an unknown error, exception
  7591. // or failure.
  7592. //
  7593. func (c *IAM) PutRolePolicy(input *PutRolePolicyInput) (*PutRolePolicyOutput, error) {
  7594. req, out := c.PutRolePolicyRequest(input)
  7595. err := req.Send()
  7596. return out, err
  7597. }
  7598. const opPutUserPolicy = "PutUserPolicy"
  7599. // PutUserPolicyRequest generates a "aws/request.Request" representing the
  7600. // client's request for the PutUserPolicy operation. The "output" return
  7601. // value can be used to capture response data after the request's "Send" method
  7602. // is called.
  7603. //
  7604. // See PutUserPolicy for usage and error information.
  7605. //
  7606. // Creating a request object using this method should be used when you want to inject
  7607. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7608. // access properties on the request object before or after sending the request. If
  7609. // you just want the service response, call the PutUserPolicy method directly
  7610. // instead.
  7611. //
  7612. // Note: You must call the "Send" method on the returned request object in order
  7613. // to execute the request.
  7614. //
  7615. // // Example sending a request using the PutUserPolicyRequest method.
  7616. // req, resp := client.PutUserPolicyRequest(params)
  7617. //
  7618. // err := req.Send()
  7619. // if err == nil { // resp is now filled
  7620. // fmt.Println(resp)
  7621. // }
  7622. //
  7623. func (c *IAM) PutUserPolicyRequest(input *PutUserPolicyInput) (req *request.Request, output *PutUserPolicyOutput) {
  7624. op := &request.Operation{
  7625. Name: opPutUserPolicy,
  7626. HTTPMethod: "POST",
  7627. HTTPPath: "/",
  7628. }
  7629. if input == nil {
  7630. input = &PutUserPolicyInput{}
  7631. }
  7632. req = c.newRequest(op, input, output)
  7633. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  7634. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  7635. output = &PutUserPolicyOutput{}
  7636. req.Data = output
  7637. return
  7638. }
  7639. // PutUserPolicy API operation for AWS Identity and Access Management.
  7640. //
  7641. // Adds or updates an inline policy document that is embedded in the specified
  7642. // IAM user.
  7643. //
  7644. // An IAM user can also have a managed policy attached to it. To attach a managed
  7645. // policy to a user, use AttachUserPolicy. To create a new managed policy, use
  7646. // CreatePolicy. For information about policies, see Managed Policies and Inline
  7647. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  7648. // in the IAM User Guide.
  7649. //
  7650. // For information about limits on the number of inline policies that you can
  7651. // embed in a user, see Limitations on IAM Entities (http://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
  7652. // in the IAM User Guide.
  7653. //
  7654. // Because policy documents can be large, you should use POST rather than GET
  7655. // when calling PutUserPolicy. For general information about using the Query
  7656. // API with IAM, go to Making Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html)
  7657. // in the IAM User Guide.
  7658. //
  7659. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7660. // with awserr.Error's Code and Message methods to get detailed information about
  7661. // the error.
  7662. //
  7663. // See the AWS API reference guide for AWS Identity and Access Management's
  7664. // API operation PutUserPolicy for usage and error information.
  7665. //
  7666. // Returned Error Codes:
  7667. // * LimitExceeded
  7668. // The request was rejected because it attempted to create resources beyond
  7669. // the current AWS account limits. The error message describes the limit exceeded.
  7670. //
  7671. // * MalformedPolicyDocument
  7672. // The request was rejected because the policy document was malformed. The error
  7673. // message describes the specific error.
  7674. //
  7675. // * NoSuchEntity
  7676. // The request was rejected because it referenced an entity that does not exist.
  7677. // The error message describes the entity.
  7678. //
  7679. // * ServiceFailure
  7680. // The request processing has failed because of an unknown error, exception
  7681. // or failure.
  7682. //
  7683. func (c *IAM) PutUserPolicy(input *PutUserPolicyInput) (*PutUserPolicyOutput, error) {
  7684. req, out := c.PutUserPolicyRequest(input)
  7685. err := req.Send()
  7686. return out, err
  7687. }
  7688. const opRemoveClientIDFromOpenIDConnectProvider = "RemoveClientIDFromOpenIDConnectProvider"
  7689. // RemoveClientIDFromOpenIDConnectProviderRequest generates a "aws/request.Request" representing the
  7690. // client's request for the RemoveClientIDFromOpenIDConnectProvider operation. The "output" return
  7691. // value can be used to capture response data after the request's "Send" method
  7692. // is called.
  7693. //
  7694. // See RemoveClientIDFromOpenIDConnectProvider for usage and error information.
  7695. //
  7696. // Creating a request object using this method should be used when you want to inject
  7697. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7698. // access properties on the request object before or after sending the request. If
  7699. // you just want the service response, call the RemoveClientIDFromOpenIDConnectProvider method directly
  7700. // instead.
  7701. //
  7702. // Note: You must call the "Send" method on the returned request object in order
  7703. // to execute the request.
  7704. //
  7705. // // Example sending a request using the RemoveClientIDFromOpenIDConnectProviderRequest method.
  7706. // req, resp := client.RemoveClientIDFromOpenIDConnectProviderRequest(params)
  7707. //
  7708. // err := req.Send()
  7709. // if err == nil { // resp is now filled
  7710. // fmt.Println(resp)
  7711. // }
  7712. //
  7713. func (c *IAM) RemoveClientIDFromOpenIDConnectProviderRequest(input *RemoveClientIDFromOpenIDConnectProviderInput) (req *request.Request, output *RemoveClientIDFromOpenIDConnectProviderOutput) {
  7714. op := &request.Operation{
  7715. Name: opRemoveClientIDFromOpenIDConnectProvider,
  7716. HTTPMethod: "POST",
  7717. HTTPPath: "/",
  7718. }
  7719. if input == nil {
  7720. input = &RemoveClientIDFromOpenIDConnectProviderInput{}
  7721. }
  7722. req = c.newRequest(op, input, output)
  7723. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  7724. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  7725. output = &RemoveClientIDFromOpenIDConnectProviderOutput{}
  7726. req.Data = output
  7727. return
  7728. }
  7729. // RemoveClientIDFromOpenIDConnectProvider API operation for AWS Identity and Access Management.
  7730. //
  7731. // Removes the specified client ID (also known as audience) from the list of
  7732. // client IDs registered for the specified IAM OpenID Connect (OIDC) provider
  7733. // resource object.
  7734. //
  7735. // This action is idempotent; it does not fail or return an error if you try
  7736. // to remove a client ID that does not exist.
  7737. //
  7738. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7739. // with awserr.Error's Code and Message methods to get detailed information about
  7740. // the error.
  7741. //
  7742. // See the AWS API reference guide for AWS Identity and Access Management's
  7743. // API operation RemoveClientIDFromOpenIDConnectProvider for usage and error information.
  7744. //
  7745. // Returned Error Codes:
  7746. // * InvalidInput
  7747. // The request was rejected because an invalid or out-of-range value was supplied
  7748. // for an input parameter.
  7749. //
  7750. // * NoSuchEntity
  7751. // The request was rejected because it referenced an entity that does not exist.
  7752. // The error message describes the entity.
  7753. //
  7754. // * ServiceFailure
  7755. // The request processing has failed because of an unknown error, exception
  7756. // or failure.
  7757. //
  7758. func (c *IAM) RemoveClientIDFromOpenIDConnectProvider(input *RemoveClientIDFromOpenIDConnectProviderInput) (*RemoveClientIDFromOpenIDConnectProviderOutput, error) {
  7759. req, out := c.RemoveClientIDFromOpenIDConnectProviderRequest(input)
  7760. err := req.Send()
  7761. return out, err
  7762. }
  7763. const opRemoveRoleFromInstanceProfile = "RemoveRoleFromInstanceProfile"
  7764. // RemoveRoleFromInstanceProfileRequest generates a "aws/request.Request" representing the
  7765. // client's request for the RemoveRoleFromInstanceProfile operation. The "output" return
  7766. // value can be used to capture response data after the request's "Send" method
  7767. // is called.
  7768. //
  7769. // See RemoveRoleFromInstanceProfile for usage and error information.
  7770. //
  7771. // Creating a request object using this method should be used when you want to inject
  7772. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7773. // access properties on the request object before or after sending the request. If
  7774. // you just want the service response, call the RemoveRoleFromInstanceProfile method directly
  7775. // instead.
  7776. //
  7777. // Note: You must call the "Send" method on the returned request object in order
  7778. // to execute the request.
  7779. //
  7780. // // Example sending a request using the RemoveRoleFromInstanceProfileRequest method.
  7781. // req, resp := client.RemoveRoleFromInstanceProfileRequest(params)
  7782. //
  7783. // err := req.Send()
  7784. // if err == nil { // resp is now filled
  7785. // fmt.Println(resp)
  7786. // }
  7787. //
  7788. func (c *IAM) RemoveRoleFromInstanceProfileRequest(input *RemoveRoleFromInstanceProfileInput) (req *request.Request, output *RemoveRoleFromInstanceProfileOutput) {
  7789. op := &request.Operation{
  7790. Name: opRemoveRoleFromInstanceProfile,
  7791. HTTPMethod: "POST",
  7792. HTTPPath: "/",
  7793. }
  7794. if input == nil {
  7795. input = &RemoveRoleFromInstanceProfileInput{}
  7796. }
  7797. req = c.newRequest(op, input, output)
  7798. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  7799. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  7800. output = &RemoveRoleFromInstanceProfileOutput{}
  7801. req.Data = output
  7802. return
  7803. }
  7804. // RemoveRoleFromInstanceProfile API operation for AWS Identity and Access Management.
  7805. //
  7806. // Removes the specified IAM role from the specified EC2 instance profile.
  7807. //
  7808. // Make sure you do not have any Amazon EC2 instances running with the role
  7809. // you are about to remove from the instance profile. Removing a role from an
  7810. // instance profile that is associated with a running instance break any applications
  7811. // running on the instance.
  7812. //
  7813. // For more information about IAM roles, go to Working with Roles (http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html).
  7814. // For more information about instance profiles, go to About Instance Profiles
  7815. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/AboutInstanceProfiles.html).
  7816. //
  7817. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7818. // with awserr.Error's Code and Message methods to get detailed information about
  7819. // the error.
  7820. //
  7821. // See the AWS API reference guide for AWS Identity and Access Management's
  7822. // API operation RemoveRoleFromInstanceProfile for usage and error information.
  7823. //
  7824. // Returned Error Codes:
  7825. // * NoSuchEntity
  7826. // The request was rejected because it referenced an entity that does not exist.
  7827. // The error message describes the entity.
  7828. //
  7829. // * LimitExceeded
  7830. // The request was rejected because it attempted to create resources beyond
  7831. // the current AWS account limits. The error message describes the limit exceeded.
  7832. //
  7833. // * ServiceFailure
  7834. // The request processing has failed because of an unknown error, exception
  7835. // or failure.
  7836. //
  7837. func (c *IAM) RemoveRoleFromInstanceProfile(input *RemoveRoleFromInstanceProfileInput) (*RemoveRoleFromInstanceProfileOutput, error) {
  7838. req, out := c.RemoveRoleFromInstanceProfileRequest(input)
  7839. err := req.Send()
  7840. return out, err
  7841. }
  7842. const opRemoveUserFromGroup = "RemoveUserFromGroup"
  7843. // RemoveUserFromGroupRequest generates a "aws/request.Request" representing the
  7844. // client's request for the RemoveUserFromGroup operation. The "output" return
  7845. // value can be used to capture response data after the request's "Send" method
  7846. // is called.
  7847. //
  7848. // See RemoveUserFromGroup for usage and error information.
  7849. //
  7850. // Creating a request object using this method should be used when you want to inject
  7851. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7852. // access properties on the request object before or after sending the request. If
  7853. // you just want the service response, call the RemoveUserFromGroup method directly
  7854. // instead.
  7855. //
  7856. // Note: You must call the "Send" method on the returned request object in order
  7857. // to execute the request.
  7858. //
  7859. // // Example sending a request using the RemoveUserFromGroupRequest method.
  7860. // req, resp := client.RemoveUserFromGroupRequest(params)
  7861. //
  7862. // err := req.Send()
  7863. // if err == nil { // resp is now filled
  7864. // fmt.Println(resp)
  7865. // }
  7866. //
  7867. func (c *IAM) RemoveUserFromGroupRequest(input *RemoveUserFromGroupInput) (req *request.Request, output *RemoveUserFromGroupOutput) {
  7868. op := &request.Operation{
  7869. Name: opRemoveUserFromGroup,
  7870. HTTPMethod: "POST",
  7871. HTTPPath: "/",
  7872. }
  7873. if input == nil {
  7874. input = &RemoveUserFromGroupInput{}
  7875. }
  7876. req = c.newRequest(op, input, output)
  7877. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  7878. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  7879. output = &RemoveUserFromGroupOutput{}
  7880. req.Data = output
  7881. return
  7882. }
  7883. // RemoveUserFromGroup API operation for AWS Identity and Access Management.
  7884. //
  7885. // Removes the specified user from the specified group.
  7886. //
  7887. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7888. // with awserr.Error's Code and Message methods to get detailed information about
  7889. // the error.
  7890. //
  7891. // See the AWS API reference guide for AWS Identity and Access Management's
  7892. // API operation RemoveUserFromGroup for usage and error information.
  7893. //
  7894. // Returned Error Codes:
  7895. // * NoSuchEntity
  7896. // The request was rejected because it referenced an entity that does not exist.
  7897. // The error message describes the entity.
  7898. //
  7899. // * LimitExceeded
  7900. // The request was rejected because it attempted to create resources beyond
  7901. // the current AWS account limits. The error message describes the limit exceeded.
  7902. //
  7903. // * ServiceFailure
  7904. // The request processing has failed because of an unknown error, exception
  7905. // or failure.
  7906. //
  7907. func (c *IAM) RemoveUserFromGroup(input *RemoveUserFromGroupInput) (*RemoveUserFromGroupOutput, error) {
  7908. req, out := c.RemoveUserFromGroupRequest(input)
  7909. err := req.Send()
  7910. return out, err
  7911. }
  7912. const opResyncMFADevice = "ResyncMFADevice"
  7913. // ResyncMFADeviceRequest generates a "aws/request.Request" representing the
  7914. // client's request for the ResyncMFADevice operation. The "output" return
  7915. // value can be used to capture response data after the request's "Send" method
  7916. // is called.
  7917. //
  7918. // See ResyncMFADevice for usage and error information.
  7919. //
  7920. // Creating a request object using this method should be used when you want to inject
  7921. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7922. // access properties on the request object before or after sending the request. If
  7923. // you just want the service response, call the ResyncMFADevice method directly
  7924. // instead.
  7925. //
  7926. // Note: You must call the "Send" method on the returned request object in order
  7927. // to execute the request.
  7928. //
  7929. // // Example sending a request using the ResyncMFADeviceRequest method.
  7930. // req, resp := client.ResyncMFADeviceRequest(params)
  7931. //
  7932. // err := req.Send()
  7933. // if err == nil { // resp is now filled
  7934. // fmt.Println(resp)
  7935. // }
  7936. //
  7937. func (c *IAM) ResyncMFADeviceRequest(input *ResyncMFADeviceInput) (req *request.Request, output *ResyncMFADeviceOutput) {
  7938. op := &request.Operation{
  7939. Name: opResyncMFADevice,
  7940. HTTPMethod: "POST",
  7941. HTTPPath: "/",
  7942. }
  7943. if input == nil {
  7944. input = &ResyncMFADeviceInput{}
  7945. }
  7946. req = c.newRequest(op, input, output)
  7947. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  7948. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  7949. output = &ResyncMFADeviceOutput{}
  7950. req.Data = output
  7951. return
  7952. }
  7953. // ResyncMFADevice API operation for AWS Identity and Access Management.
  7954. //
  7955. // Synchronizes the specified MFA device with its IAM resource object on the
  7956. // AWS servers.
  7957. //
  7958. // For more information about creating and working with virtual MFA devices,
  7959. // go to Using a Virtual MFA Device (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_VirtualMFA.html)
  7960. // in the IAM User Guide.
  7961. //
  7962. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7963. // with awserr.Error's Code and Message methods to get detailed information about
  7964. // the error.
  7965. //
  7966. // See the AWS API reference guide for AWS Identity and Access Management's
  7967. // API operation ResyncMFADevice for usage and error information.
  7968. //
  7969. // Returned Error Codes:
  7970. // * InvalidAuthenticationCode
  7971. // The request was rejected because the authentication code was not recognized.
  7972. // The error message describes the specific error.
  7973. //
  7974. // * NoSuchEntity
  7975. // The request was rejected because it referenced an entity that does not exist.
  7976. // The error message describes the entity.
  7977. //
  7978. // * LimitExceeded
  7979. // The request was rejected because it attempted to create resources beyond
  7980. // the current AWS account limits. The error message describes the limit exceeded.
  7981. //
  7982. // * ServiceFailure
  7983. // The request processing has failed because of an unknown error, exception
  7984. // or failure.
  7985. //
  7986. func (c *IAM) ResyncMFADevice(input *ResyncMFADeviceInput) (*ResyncMFADeviceOutput, error) {
  7987. req, out := c.ResyncMFADeviceRequest(input)
  7988. err := req.Send()
  7989. return out, err
  7990. }
  7991. const opSetDefaultPolicyVersion = "SetDefaultPolicyVersion"
  7992. // SetDefaultPolicyVersionRequest generates a "aws/request.Request" representing the
  7993. // client's request for the SetDefaultPolicyVersion operation. The "output" return
  7994. // value can be used to capture response data after the request's "Send" method
  7995. // is called.
  7996. //
  7997. // See SetDefaultPolicyVersion for usage and error information.
  7998. //
  7999. // Creating a request object using this method should be used when you want to inject
  8000. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8001. // access properties on the request object before or after sending the request. If
  8002. // you just want the service response, call the SetDefaultPolicyVersion method directly
  8003. // instead.
  8004. //
  8005. // Note: You must call the "Send" method on the returned request object in order
  8006. // to execute the request.
  8007. //
  8008. // // Example sending a request using the SetDefaultPolicyVersionRequest method.
  8009. // req, resp := client.SetDefaultPolicyVersionRequest(params)
  8010. //
  8011. // err := req.Send()
  8012. // if err == nil { // resp is now filled
  8013. // fmt.Println(resp)
  8014. // }
  8015. //
  8016. func (c *IAM) SetDefaultPolicyVersionRequest(input *SetDefaultPolicyVersionInput) (req *request.Request, output *SetDefaultPolicyVersionOutput) {
  8017. op := &request.Operation{
  8018. Name: opSetDefaultPolicyVersion,
  8019. HTTPMethod: "POST",
  8020. HTTPPath: "/",
  8021. }
  8022. if input == nil {
  8023. input = &SetDefaultPolicyVersionInput{}
  8024. }
  8025. req = c.newRequest(op, input, output)
  8026. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  8027. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  8028. output = &SetDefaultPolicyVersionOutput{}
  8029. req.Data = output
  8030. return
  8031. }
  8032. // SetDefaultPolicyVersion API operation for AWS Identity and Access Management.
  8033. //
  8034. // Sets the specified version of the specified policy as the policy's default
  8035. // (operative) version.
  8036. //
  8037. // This action affects all users, groups, and roles that the policy is attached
  8038. // to. To list the users, groups, and roles that the policy is attached to,
  8039. // use the ListEntitiesForPolicy API.
  8040. //
  8041. // For information about managed policies, see Managed Policies and Inline Policies
  8042. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  8043. // in the IAM User Guide.
  8044. //
  8045. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8046. // with awserr.Error's Code and Message methods to get detailed information about
  8047. // the error.
  8048. //
  8049. // See the AWS API reference guide for AWS Identity and Access Management's
  8050. // API operation SetDefaultPolicyVersion for usage and error information.
  8051. //
  8052. // Returned Error Codes:
  8053. // * NoSuchEntity
  8054. // The request was rejected because it referenced an entity that does not exist.
  8055. // The error message describes the entity.
  8056. //
  8057. // * InvalidInput
  8058. // The request was rejected because an invalid or out-of-range value was supplied
  8059. // for an input parameter.
  8060. //
  8061. // * LimitExceeded
  8062. // The request was rejected because it attempted to create resources beyond
  8063. // the current AWS account limits. The error message describes the limit exceeded.
  8064. //
  8065. // * ServiceFailure
  8066. // The request processing has failed because of an unknown error, exception
  8067. // or failure.
  8068. //
  8069. func (c *IAM) SetDefaultPolicyVersion(input *SetDefaultPolicyVersionInput) (*SetDefaultPolicyVersionOutput, error) {
  8070. req, out := c.SetDefaultPolicyVersionRequest(input)
  8071. err := req.Send()
  8072. return out, err
  8073. }
  8074. const opSimulateCustomPolicy = "SimulateCustomPolicy"
  8075. // SimulateCustomPolicyRequest generates a "aws/request.Request" representing the
  8076. // client's request for the SimulateCustomPolicy operation. The "output" return
  8077. // value can be used to capture response data after the request's "Send" method
  8078. // is called.
  8079. //
  8080. // See SimulateCustomPolicy for usage and error information.
  8081. //
  8082. // Creating a request object using this method should be used when you want to inject
  8083. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8084. // access properties on the request object before or after sending the request. If
  8085. // you just want the service response, call the SimulateCustomPolicy method directly
  8086. // instead.
  8087. //
  8088. // Note: You must call the "Send" method on the returned request object in order
  8089. // to execute the request.
  8090. //
  8091. // // Example sending a request using the SimulateCustomPolicyRequest method.
  8092. // req, resp := client.SimulateCustomPolicyRequest(params)
  8093. //
  8094. // err := req.Send()
  8095. // if err == nil { // resp is now filled
  8096. // fmt.Println(resp)
  8097. // }
  8098. //
  8099. func (c *IAM) SimulateCustomPolicyRequest(input *SimulateCustomPolicyInput) (req *request.Request, output *SimulatePolicyResponse) {
  8100. op := &request.Operation{
  8101. Name: opSimulateCustomPolicy,
  8102. HTTPMethod: "POST",
  8103. HTTPPath: "/",
  8104. Paginator: &request.Paginator{
  8105. InputTokens: []string{"Marker"},
  8106. OutputTokens: []string{"Marker"},
  8107. LimitToken: "MaxItems",
  8108. TruncationToken: "IsTruncated",
  8109. },
  8110. }
  8111. if input == nil {
  8112. input = &SimulateCustomPolicyInput{}
  8113. }
  8114. req = c.newRequest(op, input, output)
  8115. output = &SimulatePolicyResponse{}
  8116. req.Data = output
  8117. return
  8118. }
  8119. // SimulateCustomPolicy API operation for AWS Identity and Access Management.
  8120. //
  8121. // Simulate how a set of IAM policies and optionally a resource-based policy
  8122. // works with a list of API actions and AWS resources to determine the policies'
  8123. // effective permissions. The policies are provided as strings.
  8124. //
  8125. // The simulation does not perform the API actions; it only checks the authorization
  8126. // to determine if the simulated policies allow or deny the actions.
  8127. //
  8128. // If you want to simulate existing policies attached to an IAM user, group,
  8129. // or role, use SimulatePrincipalPolicy instead.
  8130. //
  8131. // Context keys are variables maintained by AWS and its services that provide
  8132. // details about the context of an API query request. You can use the Condition
  8133. // element of an IAM policy to evaluate context keys. To get the list of context
  8134. // keys that the policies require for correct simulation, use GetContextKeysForCustomPolicy.
  8135. //
  8136. // If the output is long, you can use MaxItems and Marker parameters to paginate
  8137. // the results.
  8138. //
  8139. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8140. // with awserr.Error's Code and Message methods to get detailed information about
  8141. // the error.
  8142. //
  8143. // See the AWS API reference guide for AWS Identity and Access Management's
  8144. // API operation SimulateCustomPolicy for usage and error information.
  8145. //
  8146. // Returned Error Codes:
  8147. // * InvalidInput
  8148. // The request was rejected because an invalid or out-of-range value was supplied
  8149. // for an input parameter.
  8150. //
  8151. // * PolicyEvaluation
  8152. // The request failed because a provided policy could not be successfully evaluated.
  8153. // An additional detail message indicates the source of the failure.
  8154. //
  8155. func (c *IAM) SimulateCustomPolicy(input *SimulateCustomPolicyInput) (*SimulatePolicyResponse, error) {
  8156. req, out := c.SimulateCustomPolicyRequest(input)
  8157. err := req.Send()
  8158. return out, err
  8159. }
  8160. // SimulateCustomPolicyPages iterates over the pages of a SimulateCustomPolicy operation,
  8161. // calling the "fn" function with the response data for each page. To stop
  8162. // iterating, return false from the fn function.
  8163. //
  8164. // See SimulateCustomPolicy method for more information on how to use this operation.
  8165. //
  8166. // Note: This operation can generate multiple requests to a service.
  8167. //
  8168. // // Example iterating over at most 3 pages of a SimulateCustomPolicy operation.
  8169. // pageNum := 0
  8170. // err := client.SimulateCustomPolicyPages(params,
  8171. // func(page *SimulatePolicyResponse, lastPage bool) bool {
  8172. // pageNum++
  8173. // fmt.Println(page)
  8174. // return pageNum <= 3
  8175. // })
  8176. //
  8177. func (c *IAM) SimulateCustomPolicyPages(input *SimulateCustomPolicyInput, fn func(p *SimulatePolicyResponse, lastPage bool) (shouldContinue bool)) error {
  8178. page, _ := c.SimulateCustomPolicyRequest(input)
  8179. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  8180. return page.EachPage(func(p interface{}, lastPage bool) bool {
  8181. return fn(p.(*SimulatePolicyResponse), lastPage)
  8182. })
  8183. }
  8184. const opSimulatePrincipalPolicy = "SimulatePrincipalPolicy"
  8185. // SimulatePrincipalPolicyRequest generates a "aws/request.Request" representing the
  8186. // client's request for the SimulatePrincipalPolicy operation. The "output" return
  8187. // value can be used to capture response data after the request's "Send" method
  8188. // is called.
  8189. //
  8190. // See SimulatePrincipalPolicy for usage and error information.
  8191. //
  8192. // Creating a request object using this method should be used when you want to inject
  8193. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8194. // access properties on the request object before or after sending the request. If
  8195. // you just want the service response, call the SimulatePrincipalPolicy method directly
  8196. // instead.
  8197. //
  8198. // Note: You must call the "Send" method on the returned request object in order
  8199. // to execute the request.
  8200. //
  8201. // // Example sending a request using the SimulatePrincipalPolicyRequest method.
  8202. // req, resp := client.SimulatePrincipalPolicyRequest(params)
  8203. //
  8204. // err := req.Send()
  8205. // if err == nil { // resp is now filled
  8206. // fmt.Println(resp)
  8207. // }
  8208. //
  8209. func (c *IAM) SimulatePrincipalPolicyRequest(input *SimulatePrincipalPolicyInput) (req *request.Request, output *SimulatePolicyResponse) {
  8210. op := &request.Operation{
  8211. Name: opSimulatePrincipalPolicy,
  8212. HTTPMethod: "POST",
  8213. HTTPPath: "/",
  8214. Paginator: &request.Paginator{
  8215. InputTokens: []string{"Marker"},
  8216. OutputTokens: []string{"Marker"},
  8217. LimitToken: "MaxItems",
  8218. TruncationToken: "IsTruncated",
  8219. },
  8220. }
  8221. if input == nil {
  8222. input = &SimulatePrincipalPolicyInput{}
  8223. }
  8224. req = c.newRequest(op, input, output)
  8225. output = &SimulatePolicyResponse{}
  8226. req.Data = output
  8227. return
  8228. }
  8229. // SimulatePrincipalPolicy API operation for AWS Identity and Access Management.
  8230. //
  8231. // Simulate how a set of IAM policies attached to an IAM entity works with a
  8232. // list of API actions and AWS resources to determine the policies' effective
  8233. // permissions. The entity can be an IAM user, group, or role. If you specify
  8234. // a user, then the simulation also includes all of the policies that are attached
  8235. // to groups that the user belongs to .
  8236. //
  8237. // You can optionally include a list of one or more additional policies specified
  8238. // as strings to include in the simulation. If you want to simulate only policies
  8239. // specified as strings, use SimulateCustomPolicy instead.
  8240. //
  8241. // You can also optionally include one resource-based policy to be evaluated
  8242. // with each of the resources included in the simulation.
  8243. //
  8244. // The simulation does not perform the API actions, it only checks the authorization
  8245. // to determine if the simulated policies allow or deny the actions.
  8246. //
  8247. // Note: This API discloses information about the permissions granted to other
  8248. // users. If you do not want users to see other user's permissions, then consider
  8249. // allowing them to use SimulateCustomPolicy instead.
  8250. //
  8251. // Context keys are variables maintained by AWS and its services that provide
  8252. // details about the context of an API query request. You can use the Condition
  8253. // element of an IAM policy to evaluate context keys. To get the list of context
  8254. // keys that the policies require for correct simulation, use GetContextKeysForPrincipalPolicy.
  8255. //
  8256. // If the output is long, you can use the MaxItems and Marker parameters to
  8257. // paginate the results.
  8258. //
  8259. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8260. // with awserr.Error's Code and Message methods to get detailed information about
  8261. // the error.
  8262. //
  8263. // See the AWS API reference guide for AWS Identity and Access Management's
  8264. // API operation SimulatePrincipalPolicy for usage and error information.
  8265. //
  8266. // Returned Error Codes:
  8267. // * NoSuchEntity
  8268. // The request was rejected because it referenced an entity that does not exist.
  8269. // The error message describes the entity.
  8270. //
  8271. // * InvalidInput
  8272. // The request was rejected because an invalid or out-of-range value was supplied
  8273. // for an input parameter.
  8274. //
  8275. // * PolicyEvaluation
  8276. // The request failed because a provided policy could not be successfully evaluated.
  8277. // An additional detail message indicates the source of the failure.
  8278. //
  8279. func (c *IAM) SimulatePrincipalPolicy(input *SimulatePrincipalPolicyInput) (*SimulatePolicyResponse, error) {
  8280. req, out := c.SimulatePrincipalPolicyRequest(input)
  8281. err := req.Send()
  8282. return out, err
  8283. }
  8284. // SimulatePrincipalPolicyPages iterates over the pages of a SimulatePrincipalPolicy operation,
  8285. // calling the "fn" function with the response data for each page. To stop
  8286. // iterating, return false from the fn function.
  8287. //
  8288. // See SimulatePrincipalPolicy method for more information on how to use this operation.
  8289. //
  8290. // Note: This operation can generate multiple requests to a service.
  8291. //
  8292. // // Example iterating over at most 3 pages of a SimulatePrincipalPolicy operation.
  8293. // pageNum := 0
  8294. // err := client.SimulatePrincipalPolicyPages(params,
  8295. // func(page *SimulatePolicyResponse, lastPage bool) bool {
  8296. // pageNum++
  8297. // fmt.Println(page)
  8298. // return pageNum <= 3
  8299. // })
  8300. //
  8301. func (c *IAM) SimulatePrincipalPolicyPages(input *SimulatePrincipalPolicyInput, fn func(p *SimulatePolicyResponse, lastPage bool) (shouldContinue bool)) error {
  8302. page, _ := c.SimulatePrincipalPolicyRequest(input)
  8303. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  8304. return page.EachPage(func(p interface{}, lastPage bool) bool {
  8305. return fn(p.(*SimulatePolicyResponse), lastPage)
  8306. })
  8307. }
  8308. const opUpdateAccessKey = "UpdateAccessKey"
  8309. // UpdateAccessKeyRequest generates a "aws/request.Request" representing the
  8310. // client's request for the UpdateAccessKey operation. The "output" return
  8311. // value can be used to capture response data after the request's "Send" method
  8312. // is called.
  8313. //
  8314. // See UpdateAccessKey for usage and error information.
  8315. //
  8316. // Creating a request object using this method should be used when you want to inject
  8317. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8318. // access properties on the request object before or after sending the request. If
  8319. // you just want the service response, call the UpdateAccessKey method directly
  8320. // instead.
  8321. //
  8322. // Note: You must call the "Send" method on the returned request object in order
  8323. // to execute the request.
  8324. //
  8325. // // Example sending a request using the UpdateAccessKeyRequest method.
  8326. // req, resp := client.UpdateAccessKeyRequest(params)
  8327. //
  8328. // err := req.Send()
  8329. // if err == nil { // resp is now filled
  8330. // fmt.Println(resp)
  8331. // }
  8332. //
  8333. func (c *IAM) UpdateAccessKeyRequest(input *UpdateAccessKeyInput) (req *request.Request, output *UpdateAccessKeyOutput) {
  8334. op := &request.Operation{
  8335. Name: opUpdateAccessKey,
  8336. HTTPMethod: "POST",
  8337. HTTPPath: "/",
  8338. }
  8339. if input == nil {
  8340. input = &UpdateAccessKeyInput{}
  8341. }
  8342. req = c.newRequest(op, input, output)
  8343. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  8344. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  8345. output = &UpdateAccessKeyOutput{}
  8346. req.Data = output
  8347. return
  8348. }
  8349. // UpdateAccessKey API operation for AWS Identity and Access Management.
  8350. //
  8351. // Changes the status of the specified access key from Active to Inactive, or
  8352. // vice versa. This action can be used to disable a user's key as part of a
  8353. // key rotation work flow.
  8354. //
  8355. // If the UserName field is not specified, the UserName is determined implicitly
  8356. // based on the AWS access key ID used to sign the request. Because this action
  8357. // works for access keys under the AWS account, you can use this action to manage
  8358. // root credentials even if the AWS account has no associated users.
  8359. //
  8360. // For information about rotating keys, see Managing Keys and Certificates (http://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingCredentials.html)
  8361. // in the IAM User Guide.
  8362. //
  8363. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8364. // with awserr.Error's Code and Message methods to get detailed information about
  8365. // the error.
  8366. //
  8367. // See the AWS API reference guide for AWS Identity and Access Management's
  8368. // API operation UpdateAccessKey for usage and error information.
  8369. //
  8370. // Returned Error Codes:
  8371. // * NoSuchEntity
  8372. // The request was rejected because it referenced an entity that does not exist.
  8373. // The error message describes the entity.
  8374. //
  8375. // * LimitExceeded
  8376. // The request was rejected because it attempted to create resources beyond
  8377. // the current AWS account limits. The error message describes the limit exceeded.
  8378. //
  8379. // * ServiceFailure
  8380. // The request processing has failed because of an unknown error, exception
  8381. // or failure.
  8382. //
  8383. func (c *IAM) UpdateAccessKey(input *UpdateAccessKeyInput) (*UpdateAccessKeyOutput, error) {
  8384. req, out := c.UpdateAccessKeyRequest(input)
  8385. err := req.Send()
  8386. return out, err
  8387. }
  8388. const opUpdateAccountPasswordPolicy = "UpdateAccountPasswordPolicy"
  8389. // UpdateAccountPasswordPolicyRequest generates a "aws/request.Request" representing the
  8390. // client's request for the UpdateAccountPasswordPolicy operation. The "output" return
  8391. // value can be used to capture response data after the request's "Send" method
  8392. // is called.
  8393. //
  8394. // See UpdateAccountPasswordPolicy for usage and error information.
  8395. //
  8396. // Creating a request object using this method should be used when you want to inject
  8397. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8398. // access properties on the request object before or after sending the request. If
  8399. // you just want the service response, call the UpdateAccountPasswordPolicy method directly
  8400. // instead.
  8401. //
  8402. // Note: You must call the "Send" method on the returned request object in order
  8403. // to execute the request.
  8404. //
  8405. // // Example sending a request using the UpdateAccountPasswordPolicyRequest method.
  8406. // req, resp := client.UpdateAccountPasswordPolicyRequest(params)
  8407. //
  8408. // err := req.Send()
  8409. // if err == nil { // resp is now filled
  8410. // fmt.Println(resp)
  8411. // }
  8412. //
  8413. func (c *IAM) UpdateAccountPasswordPolicyRequest(input *UpdateAccountPasswordPolicyInput) (req *request.Request, output *UpdateAccountPasswordPolicyOutput) {
  8414. op := &request.Operation{
  8415. Name: opUpdateAccountPasswordPolicy,
  8416. HTTPMethod: "POST",
  8417. HTTPPath: "/",
  8418. }
  8419. if input == nil {
  8420. input = &UpdateAccountPasswordPolicyInput{}
  8421. }
  8422. req = c.newRequest(op, input, output)
  8423. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  8424. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  8425. output = &UpdateAccountPasswordPolicyOutput{}
  8426. req.Data = output
  8427. return
  8428. }
  8429. // UpdateAccountPasswordPolicy API operation for AWS Identity and Access Management.
  8430. //
  8431. // Updates the password policy settings for the AWS account.
  8432. //
  8433. // This action does not support partial updates. No parameters are required,
  8434. // but if you do not specify a parameter, that parameter's value reverts to
  8435. // its default value. See the Request Parameters section for each parameter's
  8436. // default value.
  8437. //
  8438. // For more information about using a password policy, see Managing an IAM Password
  8439. // Policy (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingPasswordPolicies.html)
  8440. // in the IAM User Guide.
  8441. //
  8442. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8443. // with awserr.Error's Code and Message methods to get detailed information about
  8444. // the error.
  8445. //
  8446. // See the AWS API reference guide for AWS Identity and Access Management's
  8447. // API operation UpdateAccountPasswordPolicy for usage and error information.
  8448. //
  8449. // Returned Error Codes:
  8450. // * NoSuchEntity
  8451. // The request was rejected because it referenced an entity that does not exist.
  8452. // The error message describes the entity.
  8453. //
  8454. // * MalformedPolicyDocument
  8455. // The request was rejected because the policy document was malformed. The error
  8456. // message describes the specific error.
  8457. //
  8458. // * LimitExceeded
  8459. // The request was rejected because it attempted to create resources beyond
  8460. // the current AWS account limits. The error message describes the limit exceeded.
  8461. //
  8462. // * ServiceFailure
  8463. // The request processing has failed because of an unknown error, exception
  8464. // or failure.
  8465. //
  8466. func (c *IAM) UpdateAccountPasswordPolicy(input *UpdateAccountPasswordPolicyInput) (*UpdateAccountPasswordPolicyOutput, error) {
  8467. req, out := c.UpdateAccountPasswordPolicyRequest(input)
  8468. err := req.Send()
  8469. return out, err
  8470. }
  8471. const opUpdateAssumeRolePolicy = "UpdateAssumeRolePolicy"
  8472. // UpdateAssumeRolePolicyRequest generates a "aws/request.Request" representing the
  8473. // client's request for the UpdateAssumeRolePolicy operation. The "output" return
  8474. // value can be used to capture response data after the request's "Send" method
  8475. // is called.
  8476. //
  8477. // See UpdateAssumeRolePolicy for usage and error information.
  8478. //
  8479. // Creating a request object using this method should be used when you want to inject
  8480. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8481. // access properties on the request object before or after sending the request. If
  8482. // you just want the service response, call the UpdateAssumeRolePolicy method directly
  8483. // instead.
  8484. //
  8485. // Note: You must call the "Send" method on the returned request object in order
  8486. // to execute the request.
  8487. //
  8488. // // Example sending a request using the UpdateAssumeRolePolicyRequest method.
  8489. // req, resp := client.UpdateAssumeRolePolicyRequest(params)
  8490. //
  8491. // err := req.Send()
  8492. // if err == nil { // resp is now filled
  8493. // fmt.Println(resp)
  8494. // }
  8495. //
  8496. func (c *IAM) UpdateAssumeRolePolicyRequest(input *UpdateAssumeRolePolicyInput) (req *request.Request, output *UpdateAssumeRolePolicyOutput) {
  8497. op := &request.Operation{
  8498. Name: opUpdateAssumeRolePolicy,
  8499. HTTPMethod: "POST",
  8500. HTTPPath: "/",
  8501. }
  8502. if input == nil {
  8503. input = &UpdateAssumeRolePolicyInput{}
  8504. }
  8505. req = c.newRequest(op, input, output)
  8506. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  8507. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  8508. output = &UpdateAssumeRolePolicyOutput{}
  8509. req.Data = output
  8510. return
  8511. }
  8512. // UpdateAssumeRolePolicy API operation for AWS Identity and Access Management.
  8513. //
  8514. // Updates the policy that grants an IAM entity permission to assume a role.
  8515. // This is typically referred to as the "role trust policy". For more information
  8516. // about roles, go to Using Roles to Delegate Permissions and Federate Identities
  8517. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html).
  8518. //
  8519. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8520. // with awserr.Error's Code and Message methods to get detailed information about
  8521. // the error.
  8522. //
  8523. // See the AWS API reference guide for AWS Identity and Access Management's
  8524. // API operation UpdateAssumeRolePolicy for usage and error information.
  8525. //
  8526. // Returned Error Codes:
  8527. // * NoSuchEntity
  8528. // The request was rejected because it referenced an entity that does not exist.
  8529. // The error message describes the entity.
  8530. //
  8531. // * MalformedPolicyDocument
  8532. // The request was rejected because the policy document was malformed. The error
  8533. // message describes the specific error.
  8534. //
  8535. // * LimitExceeded
  8536. // The request was rejected because it attempted to create resources beyond
  8537. // the current AWS account limits. The error message describes the limit exceeded.
  8538. //
  8539. // * ServiceFailure
  8540. // The request processing has failed because of an unknown error, exception
  8541. // or failure.
  8542. //
  8543. func (c *IAM) UpdateAssumeRolePolicy(input *UpdateAssumeRolePolicyInput) (*UpdateAssumeRolePolicyOutput, error) {
  8544. req, out := c.UpdateAssumeRolePolicyRequest(input)
  8545. err := req.Send()
  8546. return out, err
  8547. }
  8548. const opUpdateGroup = "UpdateGroup"
  8549. // UpdateGroupRequest generates a "aws/request.Request" representing the
  8550. // client's request for the UpdateGroup operation. The "output" return
  8551. // value can be used to capture response data after the request's "Send" method
  8552. // is called.
  8553. //
  8554. // See UpdateGroup for usage and error information.
  8555. //
  8556. // Creating a request object using this method should be used when you want to inject
  8557. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8558. // access properties on the request object before or after sending the request. If
  8559. // you just want the service response, call the UpdateGroup method directly
  8560. // instead.
  8561. //
  8562. // Note: You must call the "Send" method on the returned request object in order
  8563. // to execute the request.
  8564. //
  8565. // // Example sending a request using the UpdateGroupRequest method.
  8566. // req, resp := client.UpdateGroupRequest(params)
  8567. //
  8568. // err := req.Send()
  8569. // if err == nil { // resp is now filled
  8570. // fmt.Println(resp)
  8571. // }
  8572. //
  8573. func (c *IAM) UpdateGroupRequest(input *UpdateGroupInput) (req *request.Request, output *UpdateGroupOutput) {
  8574. op := &request.Operation{
  8575. Name: opUpdateGroup,
  8576. HTTPMethod: "POST",
  8577. HTTPPath: "/",
  8578. }
  8579. if input == nil {
  8580. input = &UpdateGroupInput{}
  8581. }
  8582. req = c.newRequest(op, input, output)
  8583. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  8584. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  8585. output = &UpdateGroupOutput{}
  8586. req.Data = output
  8587. return
  8588. }
  8589. // UpdateGroup API operation for AWS Identity and Access Management.
  8590. //
  8591. // Updates the name and/or the path of the specified IAM group.
  8592. //
  8593. // You should understand the implications of changing a group's path or name.
  8594. // For more information, see Renaming Users and Groups (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_WorkingWithGroupsAndUsers.html)
  8595. // in the IAM User Guide.
  8596. //
  8597. // To change an IAM group name the requester must have appropriate permissions
  8598. // on both the source object and the target object. For example, to change "Managers"
  8599. // to "MGRs", the entity making the request must have permission on both "Managers"
  8600. // and "MGRs", or must have permission on all (*). For more information about
  8601. // permissions, see Permissions and Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/PermissionsAndPolicies.html).
  8602. //
  8603. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8604. // with awserr.Error's Code and Message methods to get detailed information about
  8605. // the error.
  8606. //
  8607. // See the AWS API reference guide for AWS Identity and Access Management's
  8608. // API operation UpdateGroup for usage and error information.
  8609. //
  8610. // Returned Error Codes:
  8611. // * NoSuchEntity
  8612. // The request was rejected because it referenced an entity that does not exist.
  8613. // The error message describes the entity.
  8614. //
  8615. // * EntityAlreadyExists
  8616. // The request was rejected because it attempted to create a resource that already
  8617. // exists.
  8618. //
  8619. // * LimitExceeded
  8620. // The request was rejected because it attempted to create resources beyond
  8621. // the current AWS account limits. The error message describes the limit exceeded.
  8622. //
  8623. // * ServiceFailure
  8624. // The request processing has failed because of an unknown error, exception
  8625. // or failure.
  8626. //
  8627. func (c *IAM) UpdateGroup(input *UpdateGroupInput) (*UpdateGroupOutput, error) {
  8628. req, out := c.UpdateGroupRequest(input)
  8629. err := req.Send()
  8630. return out, err
  8631. }
  8632. const opUpdateLoginProfile = "UpdateLoginProfile"
  8633. // UpdateLoginProfileRequest generates a "aws/request.Request" representing the
  8634. // client's request for the UpdateLoginProfile operation. The "output" return
  8635. // value can be used to capture response data after the request's "Send" method
  8636. // is called.
  8637. //
  8638. // See UpdateLoginProfile for usage and error information.
  8639. //
  8640. // Creating a request object using this method should be used when you want to inject
  8641. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8642. // access properties on the request object before or after sending the request. If
  8643. // you just want the service response, call the UpdateLoginProfile method directly
  8644. // instead.
  8645. //
  8646. // Note: You must call the "Send" method on the returned request object in order
  8647. // to execute the request.
  8648. //
  8649. // // Example sending a request using the UpdateLoginProfileRequest method.
  8650. // req, resp := client.UpdateLoginProfileRequest(params)
  8651. //
  8652. // err := req.Send()
  8653. // if err == nil { // resp is now filled
  8654. // fmt.Println(resp)
  8655. // }
  8656. //
  8657. func (c *IAM) UpdateLoginProfileRequest(input *UpdateLoginProfileInput) (req *request.Request, output *UpdateLoginProfileOutput) {
  8658. op := &request.Operation{
  8659. Name: opUpdateLoginProfile,
  8660. HTTPMethod: "POST",
  8661. HTTPPath: "/",
  8662. }
  8663. if input == nil {
  8664. input = &UpdateLoginProfileInput{}
  8665. }
  8666. req = c.newRequest(op, input, output)
  8667. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  8668. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  8669. output = &UpdateLoginProfileOutput{}
  8670. req.Data = output
  8671. return
  8672. }
  8673. // UpdateLoginProfile API operation for AWS Identity and Access Management.
  8674. //
  8675. // Changes the password for the specified IAM user.
  8676. //
  8677. // IAM users can change their own passwords by calling ChangePassword. For more
  8678. // information about modifying passwords, see Managing Passwords (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingLogins.html)
  8679. // in the IAM User Guide.
  8680. //
  8681. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8682. // with awserr.Error's Code and Message methods to get detailed information about
  8683. // the error.
  8684. //
  8685. // See the AWS API reference guide for AWS Identity and Access Management's
  8686. // API operation UpdateLoginProfile for usage and error information.
  8687. //
  8688. // Returned Error Codes:
  8689. // * EntityTemporarilyUnmodifiable
  8690. // The request was rejected because it referenced an entity that is temporarily
  8691. // unmodifiable, such as a user name that was deleted and then recreated. The
  8692. // error indicates that the request is likely to succeed if you try again after
  8693. // waiting several minutes. The error message describes the entity.
  8694. //
  8695. // * NoSuchEntity
  8696. // The request was rejected because it referenced an entity that does not exist.
  8697. // The error message describes the entity.
  8698. //
  8699. // * PasswordPolicyViolation
  8700. // The request was rejected because the provided password did not meet the requirements
  8701. // imposed by the account password policy.
  8702. //
  8703. // * LimitExceeded
  8704. // The request was rejected because it attempted to create resources beyond
  8705. // the current AWS account limits. The error message describes the limit exceeded.
  8706. //
  8707. // * ServiceFailure
  8708. // The request processing has failed because of an unknown error, exception
  8709. // or failure.
  8710. //
  8711. func (c *IAM) UpdateLoginProfile(input *UpdateLoginProfileInput) (*UpdateLoginProfileOutput, error) {
  8712. req, out := c.UpdateLoginProfileRequest(input)
  8713. err := req.Send()
  8714. return out, err
  8715. }
  8716. const opUpdateOpenIDConnectProviderThumbprint = "UpdateOpenIDConnectProviderThumbprint"
  8717. // UpdateOpenIDConnectProviderThumbprintRequest generates a "aws/request.Request" representing the
  8718. // client's request for the UpdateOpenIDConnectProviderThumbprint operation. The "output" return
  8719. // value can be used to capture response data after the request's "Send" method
  8720. // is called.
  8721. //
  8722. // See UpdateOpenIDConnectProviderThumbprint for usage and error information.
  8723. //
  8724. // Creating a request object using this method should be used when you want to inject
  8725. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8726. // access properties on the request object before or after sending the request. If
  8727. // you just want the service response, call the UpdateOpenIDConnectProviderThumbprint method directly
  8728. // instead.
  8729. //
  8730. // Note: You must call the "Send" method on the returned request object in order
  8731. // to execute the request.
  8732. //
  8733. // // Example sending a request using the UpdateOpenIDConnectProviderThumbprintRequest method.
  8734. // req, resp := client.UpdateOpenIDConnectProviderThumbprintRequest(params)
  8735. //
  8736. // err := req.Send()
  8737. // if err == nil { // resp is now filled
  8738. // fmt.Println(resp)
  8739. // }
  8740. //
  8741. func (c *IAM) UpdateOpenIDConnectProviderThumbprintRequest(input *UpdateOpenIDConnectProviderThumbprintInput) (req *request.Request, output *UpdateOpenIDConnectProviderThumbprintOutput) {
  8742. op := &request.Operation{
  8743. Name: opUpdateOpenIDConnectProviderThumbprint,
  8744. HTTPMethod: "POST",
  8745. HTTPPath: "/",
  8746. }
  8747. if input == nil {
  8748. input = &UpdateOpenIDConnectProviderThumbprintInput{}
  8749. }
  8750. req = c.newRequest(op, input, output)
  8751. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  8752. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  8753. output = &UpdateOpenIDConnectProviderThumbprintOutput{}
  8754. req.Data = output
  8755. return
  8756. }
  8757. // UpdateOpenIDConnectProviderThumbprint API operation for AWS Identity and Access Management.
  8758. //
  8759. // Replaces the existing list of server certificate thumbprints associated with
  8760. // an OpenID Connect (OIDC) provider resource object with a new list of thumbprints.
  8761. //
  8762. // The list that you pass with this action completely replaces the existing
  8763. // list of thumbprints. (The lists are not merged.)
  8764. //
  8765. // Typically, you need to update a thumbprint only when the identity provider's
  8766. // certificate changes, which occurs rarely. However, if the provider's certificate
  8767. // does change, any attempt to assume an IAM role that specifies the OIDC provider
  8768. // as a principal fails until the certificate thumbprint is updated.
  8769. //
  8770. // Because trust for the OIDC provider is ultimately derived from the provider's
  8771. // certificate and is validated by the thumbprint, it is a best practice to
  8772. // limit access to the UpdateOpenIDConnectProviderThumbprint action to highly-privileged
  8773. // users.
  8774. //
  8775. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8776. // with awserr.Error's Code and Message methods to get detailed information about
  8777. // the error.
  8778. //
  8779. // See the AWS API reference guide for AWS Identity and Access Management's
  8780. // API operation UpdateOpenIDConnectProviderThumbprint for usage and error information.
  8781. //
  8782. // Returned Error Codes:
  8783. // * InvalidInput
  8784. // The request was rejected because an invalid or out-of-range value was supplied
  8785. // for an input parameter.
  8786. //
  8787. // * NoSuchEntity
  8788. // The request was rejected because it referenced an entity that does not exist.
  8789. // The error message describes the entity.
  8790. //
  8791. // * ServiceFailure
  8792. // The request processing has failed because of an unknown error, exception
  8793. // or failure.
  8794. //
  8795. func (c *IAM) UpdateOpenIDConnectProviderThumbprint(input *UpdateOpenIDConnectProviderThumbprintInput) (*UpdateOpenIDConnectProviderThumbprintOutput, error) {
  8796. req, out := c.UpdateOpenIDConnectProviderThumbprintRequest(input)
  8797. err := req.Send()
  8798. return out, err
  8799. }
  8800. const opUpdateSAMLProvider = "UpdateSAMLProvider"
  8801. // UpdateSAMLProviderRequest generates a "aws/request.Request" representing the
  8802. // client's request for the UpdateSAMLProvider operation. The "output" return
  8803. // value can be used to capture response data after the request's "Send" method
  8804. // is called.
  8805. //
  8806. // See UpdateSAMLProvider for usage and error information.
  8807. //
  8808. // Creating a request object using this method should be used when you want to inject
  8809. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8810. // access properties on the request object before or after sending the request. If
  8811. // you just want the service response, call the UpdateSAMLProvider method directly
  8812. // instead.
  8813. //
  8814. // Note: You must call the "Send" method on the returned request object in order
  8815. // to execute the request.
  8816. //
  8817. // // Example sending a request using the UpdateSAMLProviderRequest method.
  8818. // req, resp := client.UpdateSAMLProviderRequest(params)
  8819. //
  8820. // err := req.Send()
  8821. // if err == nil { // resp is now filled
  8822. // fmt.Println(resp)
  8823. // }
  8824. //
  8825. func (c *IAM) UpdateSAMLProviderRequest(input *UpdateSAMLProviderInput) (req *request.Request, output *UpdateSAMLProviderOutput) {
  8826. op := &request.Operation{
  8827. Name: opUpdateSAMLProvider,
  8828. HTTPMethod: "POST",
  8829. HTTPPath: "/",
  8830. }
  8831. if input == nil {
  8832. input = &UpdateSAMLProviderInput{}
  8833. }
  8834. req = c.newRequest(op, input, output)
  8835. output = &UpdateSAMLProviderOutput{}
  8836. req.Data = output
  8837. return
  8838. }
  8839. // UpdateSAMLProvider API operation for AWS Identity and Access Management.
  8840. //
  8841. // Updates the metadata document for an existing SAML provider resource object.
  8842. //
  8843. // This operation requires Signature Version 4 (http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
  8844. //
  8845. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8846. // with awserr.Error's Code and Message methods to get detailed information about
  8847. // the error.
  8848. //
  8849. // See the AWS API reference guide for AWS Identity and Access Management's
  8850. // API operation UpdateSAMLProvider for usage and error information.
  8851. //
  8852. // Returned Error Codes:
  8853. // * NoSuchEntity
  8854. // The request was rejected because it referenced an entity that does not exist.
  8855. // The error message describes the entity.
  8856. //
  8857. // * InvalidInput
  8858. // The request was rejected because an invalid or out-of-range value was supplied
  8859. // for an input parameter.
  8860. //
  8861. // * LimitExceeded
  8862. // The request was rejected because it attempted to create resources beyond
  8863. // the current AWS account limits. The error message describes the limit exceeded.
  8864. //
  8865. // * ServiceFailure
  8866. // The request processing has failed because of an unknown error, exception
  8867. // or failure.
  8868. //
  8869. func (c *IAM) UpdateSAMLProvider(input *UpdateSAMLProviderInput) (*UpdateSAMLProviderOutput, error) {
  8870. req, out := c.UpdateSAMLProviderRequest(input)
  8871. err := req.Send()
  8872. return out, err
  8873. }
  8874. const opUpdateSSHPublicKey = "UpdateSSHPublicKey"
  8875. // UpdateSSHPublicKeyRequest generates a "aws/request.Request" representing the
  8876. // client's request for the UpdateSSHPublicKey operation. The "output" return
  8877. // value can be used to capture response data after the request's "Send" method
  8878. // is called.
  8879. //
  8880. // See UpdateSSHPublicKey for usage and error information.
  8881. //
  8882. // Creating a request object using this method should be used when you want to inject
  8883. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8884. // access properties on the request object before or after sending the request. If
  8885. // you just want the service response, call the UpdateSSHPublicKey method directly
  8886. // instead.
  8887. //
  8888. // Note: You must call the "Send" method on the returned request object in order
  8889. // to execute the request.
  8890. //
  8891. // // Example sending a request using the UpdateSSHPublicKeyRequest method.
  8892. // req, resp := client.UpdateSSHPublicKeyRequest(params)
  8893. //
  8894. // err := req.Send()
  8895. // if err == nil { // resp is now filled
  8896. // fmt.Println(resp)
  8897. // }
  8898. //
  8899. func (c *IAM) UpdateSSHPublicKeyRequest(input *UpdateSSHPublicKeyInput) (req *request.Request, output *UpdateSSHPublicKeyOutput) {
  8900. op := &request.Operation{
  8901. Name: opUpdateSSHPublicKey,
  8902. HTTPMethod: "POST",
  8903. HTTPPath: "/",
  8904. }
  8905. if input == nil {
  8906. input = &UpdateSSHPublicKeyInput{}
  8907. }
  8908. req = c.newRequest(op, input, output)
  8909. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  8910. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  8911. output = &UpdateSSHPublicKeyOutput{}
  8912. req.Data = output
  8913. return
  8914. }
  8915. // UpdateSSHPublicKey API operation for AWS Identity and Access Management.
  8916. //
  8917. // Sets the status of an IAM user's SSH public key to active or inactive. SSH
  8918. // public keys that are inactive cannot be used for authentication. This action
  8919. // can be used to disable a user's SSH public key as part of a key rotation
  8920. // work flow.
  8921. //
  8922. // The SSH public key affected by this action is used only for authenticating
  8923. // the associated IAM user to an AWS CodeCommit repository. For more information
  8924. // about using SSH keys to authenticate to an AWS CodeCommit repository, see
  8925. // Set up AWS CodeCommit for SSH Connections (http://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-credentials-ssh.html)
  8926. // in the AWS CodeCommit User Guide.
  8927. //
  8928. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8929. // with awserr.Error's Code and Message methods to get detailed information about
  8930. // the error.
  8931. //
  8932. // See the AWS API reference guide for AWS Identity and Access Management's
  8933. // API operation UpdateSSHPublicKey for usage and error information.
  8934. //
  8935. // Returned Error Codes:
  8936. // * NoSuchEntity
  8937. // The request was rejected because it referenced an entity that does not exist.
  8938. // The error message describes the entity.
  8939. //
  8940. func (c *IAM) UpdateSSHPublicKey(input *UpdateSSHPublicKeyInput) (*UpdateSSHPublicKeyOutput, error) {
  8941. req, out := c.UpdateSSHPublicKeyRequest(input)
  8942. err := req.Send()
  8943. return out, err
  8944. }
  8945. const opUpdateServerCertificate = "UpdateServerCertificate"
  8946. // UpdateServerCertificateRequest generates a "aws/request.Request" representing the
  8947. // client's request for the UpdateServerCertificate operation. The "output" return
  8948. // value can be used to capture response data after the request's "Send" method
  8949. // is called.
  8950. //
  8951. // See UpdateServerCertificate for usage and error information.
  8952. //
  8953. // Creating a request object using this method should be used when you want to inject
  8954. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8955. // access properties on the request object before or after sending the request. If
  8956. // you just want the service response, call the UpdateServerCertificate method directly
  8957. // instead.
  8958. //
  8959. // Note: You must call the "Send" method on the returned request object in order
  8960. // to execute the request.
  8961. //
  8962. // // Example sending a request using the UpdateServerCertificateRequest method.
  8963. // req, resp := client.UpdateServerCertificateRequest(params)
  8964. //
  8965. // err := req.Send()
  8966. // if err == nil { // resp is now filled
  8967. // fmt.Println(resp)
  8968. // }
  8969. //
  8970. func (c *IAM) UpdateServerCertificateRequest(input *UpdateServerCertificateInput) (req *request.Request, output *UpdateServerCertificateOutput) {
  8971. op := &request.Operation{
  8972. Name: opUpdateServerCertificate,
  8973. HTTPMethod: "POST",
  8974. HTTPPath: "/",
  8975. }
  8976. if input == nil {
  8977. input = &UpdateServerCertificateInput{}
  8978. }
  8979. req = c.newRequest(op, input, output)
  8980. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  8981. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  8982. output = &UpdateServerCertificateOutput{}
  8983. req.Data = output
  8984. return
  8985. }
  8986. // UpdateServerCertificate API operation for AWS Identity and Access Management.
  8987. //
  8988. // Updates the name and/or the path of the specified server certificate stored
  8989. // in IAM.
  8990. //
  8991. // For more information about working with server certificates, including a
  8992. // list of AWS services that can use the server certificates that you manage
  8993. // with IAM, go to Working with Server Certificates (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html)
  8994. // in the IAM User Guide.
  8995. //
  8996. // You should understand the implications of changing a server certificate's
  8997. // path or name. For more information, see Renaming a Server Certificate (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs_manage.html#RenamingServerCerts)
  8998. // in the IAM User Guide.
  8999. //
  9000. // To change a server certificate name the requester must have appropriate permissions
  9001. // on both the source object and the target object. For example, to change the
  9002. // name from "ProductionCert" to "ProdCert", the entity making the request must
  9003. // have permission on "ProductionCert" and "ProdCert", or must have permission
  9004. // on all (*). For more information about permissions, see Access Management
  9005. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) in the IAM
  9006. // User Guide.
  9007. //
  9008. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9009. // with awserr.Error's Code and Message methods to get detailed information about
  9010. // the error.
  9011. //
  9012. // See the AWS API reference guide for AWS Identity and Access Management's
  9013. // API operation UpdateServerCertificate for usage and error information.
  9014. //
  9015. // Returned Error Codes:
  9016. // * NoSuchEntity
  9017. // The request was rejected because it referenced an entity that does not exist.
  9018. // The error message describes the entity.
  9019. //
  9020. // * EntityAlreadyExists
  9021. // The request was rejected because it attempted to create a resource that already
  9022. // exists.
  9023. //
  9024. // * LimitExceeded
  9025. // The request was rejected because it attempted to create resources beyond
  9026. // the current AWS account limits. The error message describes the limit exceeded.
  9027. //
  9028. // * ServiceFailure
  9029. // The request processing has failed because of an unknown error, exception
  9030. // or failure.
  9031. //
  9032. func (c *IAM) UpdateServerCertificate(input *UpdateServerCertificateInput) (*UpdateServerCertificateOutput, error) {
  9033. req, out := c.UpdateServerCertificateRequest(input)
  9034. err := req.Send()
  9035. return out, err
  9036. }
  9037. const opUpdateSigningCertificate = "UpdateSigningCertificate"
  9038. // UpdateSigningCertificateRequest generates a "aws/request.Request" representing the
  9039. // client's request for the UpdateSigningCertificate operation. The "output" return
  9040. // value can be used to capture response data after the request's "Send" method
  9041. // is called.
  9042. //
  9043. // See UpdateSigningCertificate for usage and error information.
  9044. //
  9045. // Creating a request object using this method should be used when you want to inject
  9046. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9047. // access properties on the request object before or after sending the request. If
  9048. // you just want the service response, call the UpdateSigningCertificate method directly
  9049. // instead.
  9050. //
  9051. // Note: You must call the "Send" method on the returned request object in order
  9052. // to execute the request.
  9053. //
  9054. // // Example sending a request using the UpdateSigningCertificateRequest method.
  9055. // req, resp := client.UpdateSigningCertificateRequest(params)
  9056. //
  9057. // err := req.Send()
  9058. // if err == nil { // resp is now filled
  9059. // fmt.Println(resp)
  9060. // }
  9061. //
  9062. func (c *IAM) UpdateSigningCertificateRequest(input *UpdateSigningCertificateInput) (req *request.Request, output *UpdateSigningCertificateOutput) {
  9063. op := &request.Operation{
  9064. Name: opUpdateSigningCertificate,
  9065. HTTPMethod: "POST",
  9066. HTTPPath: "/",
  9067. }
  9068. if input == nil {
  9069. input = &UpdateSigningCertificateInput{}
  9070. }
  9071. req = c.newRequest(op, input, output)
  9072. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  9073. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  9074. output = &UpdateSigningCertificateOutput{}
  9075. req.Data = output
  9076. return
  9077. }
  9078. // UpdateSigningCertificate API operation for AWS Identity and Access Management.
  9079. //
  9080. // Changes the status of the specified user signing certificate from active
  9081. // to disabled, or vice versa. This action can be used to disable an IAM user's
  9082. // signing certificate as part of a certificate rotation work flow.
  9083. //
  9084. // If the UserName field is not specified, the UserName is determined implicitly
  9085. // based on the AWS access key ID used to sign the request. Because this action
  9086. // works for access keys under the AWS account, you can use this action to manage
  9087. // root credentials even if the AWS account has no associated users.
  9088. //
  9089. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9090. // with awserr.Error's Code and Message methods to get detailed information about
  9091. // the error.
  9092. //
  9093. // See the AWS API reference guide for AWS Identity and Access Management's
  9094. // API operation UpdateSigningCertificate for usage and error information.
  9095. //
  9096. // Returned Error Codes:
  9097. // * NoSuchEntity
  9098. // The request was rejected because it referenced an entity that does not exist.
  9099. // The error message describes the entity.
  9100. //
  9101. // * LimitExceeded
  9102. // The request was rejected because it attempted to create resources beyond
  9103. // the current AWS account limits. The error message describes the limit exceeded.
  9104. //
  9105. // * ServiceFailure
  9106. // The request processing has failed because of an unknown error, exception
  9107. // or failure.
  9108. //
  9109. func (c *IAM) UpdateSigningCertificate(input *UpdateSigningCertificateInput) (*UpdateSigningCertificateOutput, error) {
  9110. req, out := c.UpdateSigningCertificateRequest(input)
  9111. err := req.Send()
  9112. return out, err
  9113. }
  9114. const opUpdateUser = "UpdateUser"
  9115. // UpdateUserRequest generates a "aws/request.Request" representing the
  9116. // client's request for the UpdateUser operation. The "output" return
  9117. // value can be used to capture response data after the request's "Send" method
  9118. // is called.
  9119. //
  9120. // See UpdateUser for usage and error information.
  9121. //
  9122. // Creating a request object using this method should be used when you want to inject
  9123. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9124. // access properties on the request object before or after sending the request. If
  9125. // you just want the service response, call the UpdateUser method directly
  9126. // instead.
  9127. //
  9128. // Note: You must call the "Send" method on the returned request object in order
  9129. // to execute the request.
  9130. //
  9131. // // Example sending a request using the UpdateUserRequest method.
  9132. // req, resp := client.UpdateUserRequest(params)
  9133. //
  9134. // err := req.Send()
  9135. // if err == nil { // resp is now filled
  9136. // fmt.Println(resp)
  9137. // }
  9138. //
  9139. func (c *IAM) UpdateUserRequest(input *UpdateUserInput) (req *request.Request, output *UpdateUserOutput) {
  9140. op := &request.Operation{
  9141. Name: opUpdateUser,
  9142. HTTPMethod: "POST",
  9143. HTTPPath: "/",
  9144. }
  9145. if input == nil {
  9146. input = &UpdateUserInput{}
  9147. }
  9148. req = c.newRequest(op, input, output)
  9149. req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
  9150. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  9151. output = &UpdateUserOutput{}
  9152. req.Data = output
  9153. return
  9154. }
  9155. // UpdateUser API operation for AWS Identity and Access Management.
  9156. //
  9157. // Updates the name and/or the path of the specified IAM user.
  9158. //
  9159. // You should understand the implications of changing an IAM user's path or
  9160. // name. For more information, see Renaming an IAM User (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_renaming)
  9161. // and Renaming an IAM Group (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups_manage_rename.html)
  9162. // in the IAM User Guide.
  9163. //
  9164. // To change a user name the requester must have appropriate permissions on
  9165. // both the source object and the target object. For example, to change Bob
  9166. // to Robert, the entity making the request must have permission on Bob and
  9167. // Robert, or must have permission on all (*). For more information about permissions,
  9168. // see Permissions and Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/PermissionsAndPolicies.html).
  9169. //
  9170. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9171. // with awserr.Error's Code and Message methods to get detailed information about
  9172. // the error.
  9173. //
  9174. // See the AWS API reference guide for AWS Identity and Access Management's
  9175. // API operation UpdateUser for usage and error information.
  9176. //
  9177. // Returned Error Codes:
  9178. // * NoSuchEntity
  9179. // The request was rejected because it referenced an entity that does not exist.
  9180. // The error message describes the entity.
  9181. //
  9182. // * LimitExceeded
  9183. // The request was rejected because it attempted to create resources beyond
  9184. // the current AWS account limits. The error message describes the limit exceeded.
  9185. //
  9186. // * EntityAlreadyExists
  9187. // The request was rejected because it attempted to create a resource that already
  9188. // exists.
  9189. //
  9190. // * EntityTemporarilyUnmodifiable
  9191. // The request was rejected because it referenced an entity that is temporarily
  9192. // unmodifiable, such as a user name that was deleted and then recreated. The
  9193. // error indicates that the request is likely to succeed if you try again after
  9194. // waiting several minutes. The error message describes the entity.
  9195. //
  9196. // * ServiceFailure
  9197. // The request processing has failed because of an unknown error, exception
  9198. // or failure.
  9199. //
  9200. func (c *IAM) UpdateUser(input *UpdateUserInput) (*UpdateUserOutput, error) {
  9201. req, out := c.UpdateUserRequest(input)
  9202. err := req.Send()
  9203. return out, err
  9204. }
  9205. const opUploadSSHPublicKey = "UploadSSHPublicKey"
  9206. // UploadSSHPublicKeyRequest generates a "aws/request.Request" representing the
  9207. // client's request for the UploadSSHPublicKey operation. The "output" return
  9208. // value can be used to capture response data after the request's "Send" method
  9209. // is called.
  9210. //
  9211. // See UploadSSHPublicKey for usage and error information.
  9212. //
  9213. // Creating a request object using this method should be used when you want to inject
  9214. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9215. // access properties on the request object before or after sending the request. If
  9216. // you just want the service response, call the UploadSSHPublicKey method directly
  9217. // instead.
  9218. //
  9219. // Note: You must call the "Send" method on the returned request object in order
  9220. // to execute the request.
  9221. //
  9222. // // Example sending a request using the UploadSSHPublicKeyRequest method.
  9223. // req, resp := client.UploadSSHPublicKeyRequest(params)
  9224. //
  9225. // err := req.Send()
  9226. // if err == nil { // resp is now filled
  9227. // fmt.Println(resp)
  9228. // }
  9229. //
  9230. func (c *IAM) UploadSSHPublicKeyRequest(input *UploadSSHPublicKeyInput) (req *request.Request, output *UploadSSHPublicKeyOutput) {
  9231. op := &request.Operation{
  9232. Name: opUploadSSHPublicKey,
  9233. HTTPMethod: "POST",
  9234. HTTPPath: "/",
  9235. }
  9236. if input == nil {
  9237. input = &UploadSSHPublicKeyInput{}
  9238. }
  9239. req = c.newRequest(op, input, output)
  9240. output = &UploadSSHPublicKeyOutput{}
  9241. req.Data = output
  9242. return
  9243. }
  9244. // UploadSSHPublicKey API operation for AWS Identity and Access Management.
  9245. //
  9246. // Uploads an SSH public key and associates it with the specified IAM user.
  9247. //
  9248. // The SSH public key uploaded by this action can be used only for authenticating
  9249. // the associated IAM user to an AWS CodeCommit repository. For more information
  9250. // about using SSH keys to authenticate to an AWS CodeCommit repository, see
  9251. // Set up AWS CodeCommit for SSH Connections (http://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-credentials-ssh.html)
  9252. // in the AWS CodeCommit User Guide.
  9253. //
  9254. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9255. // with awserr.Error's Code and Message methods to get detailed information about
  9256. // the error.
  9257. //
  9258. // See the AWS API reference guide for AWS Identity and Access Management's
  9259. // API operation UploadSSHPublicKey for usage and error information.
  9260. //
  9261. // Returned Error Codes:
  9262. // * LimitExceeded
  9263. // The request was rejected because it attempted to create resources beyond
  9264. // the current AWS account limits. The error message describes the limit exceeded.
  9265. //
  9266. // * NoSuchEntity
  9267. // The request was rejected because it referenced an entity that does not exist.
  9268. // The error message describes the entity.
  9269. //
  9270. // * InvalidPublicKey
  9271. // The request was rejected because the public key is malformed or otherwise
  9272. // invalid.
  9273. //
  9274. // * DuplicateSSHPublicKey
  9275. // The request was rejected because the SSH public key is already associated
  9276. // with the specified IAM user.
  9277. //
  9278. // * UnrecognizedPublicKeyEncoding
  9279. // The request was rejected because the public key encoding format is unsupported
  9280. // or unrecognized.
  9281. //
  9282. func (c *IAM) UploadSSHPublicKey(input *UploadSSHPublicKeyInput) (*UploadSSHPublicKeyOutput, error) {
  9283. req, out := c.UploadSSHPublicKeyRequest(input)
  9284. err := req.Send()
  9285. return out, err
  9286. }
  9287. const opUploadServerCertificate = "UploadServerCertificate"
  9288. // UploadServerCertificateRequest generates a "aws/request.Request" representing the
  9289. // client's request for the UploadServerCertificate operation. The "output" return
  9290. // value can be used to capture response data after the request's "Send" method
  9291. // is called.
  9292. //
  9293. // See UploadServerCertificate for usage and error information.
  9294. //
  9295. // Creating a request object using this method should be used when you want to inject
  9296. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9297. // access properties on the request object before or after sending the request. If
  9298. // you just want the service response, call the UploadServerCertificate method directly
  9299. // instead.
  9300. //
  9301. // Note: You must call the "Send" method on the returned request object in order
  9302. // to execute the request.
  9303. //
  9304. // // Example sending a request using the UploadServerCertificateRequest method.
  9305. // req, resp := client.UploadServerCertificateRequest(params)
  9306. //
  9307. // err := req.Send()
  9308. // if err == nil { // resp is now filled
  9309. // fmt.Println(resp)
  9310. // }
  9311. //
  9312. func (c *IAM) UploadServerCertificateRequest(input *UploadServerCertificateInput) (req *request.Request, output *UploadServerCertificateOutput) {
  9313. op := &request.Operation{
  9314. Name: opUploadServerCertificate,
  9315. HTTPMethod: "POST",
  9316. HTTPPath: "/",
  9317. }
  9318. if input == nil {
  9319. input = &UploadServerCertificateInput{}
  9320. }
  9321. req = c.newRequest(op, input, output)
  9322. output = &UploadServerCertificateOutput{}
  9323. req.Data = output
  9324. return
  9325. }
  9326. // UploadServerCertificate API operation for AWS Identity and Access Management.
  9327. //
  9328. // Uploads a server certificate entity for the AWS account. The server certificate
  9329. // entity includes a public key certificate, a private key, and an optional
  9330. // certificate chain, which should all be PEM-encoded.
  9331. //
  9332. // For more information about working with server certificates, including a
  9333. // list of AWS services that can use the server certificates that you manage
  9334. // with IAM, go to Working with Server Certificates (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html)
  9335. // in the IAM User Guide.
  9336. //
  9337. // For information about the number of server certificates you can upload, see
  9338. // Limitations on IAM Entities and Objects (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html)
  9339. // in the IAM User Guide.
  9340. //
  9341. // Because the body of the public key certificate, private key, and the certificate
  9342. // chain can be large, you should use POST rather than GET when calling UploadServerCertificate.
  9343. // For information about setting up signatures and authorization through the
  9344. // API, go to Signing AWS API Requests (http://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html)
  9345. // in the AWS General Reference. For general information about using the Query
  9346. // API with IAM, go to Calling the API by Making HTTP Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/programming.html)
  9347. // in the IAM User Guide.
  9348. //
  9349. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9350. // with awserr.Error's Code and Message methods to get detailed information about
  9351. // the error.
  9352. //
  9353. // See the AWS API reference guide for AWS Identity and Access Management's
  9354. // API operation UploadServerCertificate for usage and error information.
  9355. //
  9356. // Returned Error Codes:
  9357. // * LimitExceeded
  9358. // The request was rejected because it attempted to create resources beyond
  9359. // the current AWS account limits. The error message describes the limit exceeded.
  9360. //
  9361. // * EntityAlreadyExists
  9362. // The request was rejected because it attempted to create a resource that already
  9363. // exists.
  9364. //
  9365. // * MalformedCertificate
  9366. // The request was rejected because the certificate was malformed or expired.
  9367. // The error message describes the specific error.
  9368. //
  9369. // * KeyPairMismatch
  9370. // The request was rejected because the public key certificate and the private
  9371. // key do not match.
  9372. //
  9373. // * ServiceFailure
  9374. // The request processing has failed because of an unknown error, exception
  9375. // or failure.
  9376. //
  9377. func (c *IAM) UploadServerCertificate(input *UploadServerCertificateInput) (*UploadServerCertificateOutput, error) {
  9378. req, out := c.UploadServerCertificateRequest(input)
  9379. err := req.Send()
  9380. return out, err
  9381. }
  9382. const opUploadSigningCertificate = "UploadSigningCertificate"
  9383. // UploadSigningCertificateRequest generates a "aws/request.Request" representing the
  9384. // client's request for the UploadSigningCertificate operation. The "output" return
  9385. // value can be used to capture response data after the request's "Send" method
  9386. // is called.
  9387. //
  9388. // See UploadSigningCertificate for usage and error information.
  9389. //
  9390. // Creating a request object using this method should be used when you want to inject
  9391. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9392. // access properties on the request object before or after sending the request. If
  9393. // you just want the service response, call the UploadSigningCertificate method directly
  9394. // instead.
  9395. //
  9396. // Note: You must call the "Send" method on the returned request object in order
  9397. // to execute the request.
  9398. //
  9399. // // Example sending a request using the UploadSigningCertificateRequest method.
  9400. // req, resp := client.UploadSigningCertificateRequest(params)
  9401. //
  9402. // err := req.Send()
  9403. // if err == nil { // resp is now filled
  9404. // fmt.Println(resp)
  9405. // }
  9406. //
  9407. func (c *IAM) UploadSigningCertificateRequest(input *UploadSigningCertificateInput) (req *request.Request, output *UploadSigningCertificateOutput) {
  9408. op := &request.Operation{
  9409. Name: opUploadSigningCertificate,
  9410. HTTPMethod: "POST",
  9411. HTTPPath: "/",
  9412. }
  9413. if input == nil {
  9414. input = &UploadSigningCertificateInput{}
  9415. }
  9416. req = c.newRequest(op, input, output)
  9417. output = &UploadSigningCertificateOutput{}
  9418. req.Data = output
  9419. return
  9420. }
  9421. // UploadSigningCertificate API operation for AWS Identity and Access Management.
  9422. //
  9423. // Uploads an X.509 signing certificate and associates it with the specified
  9424. // IAM user. Some AWS services use X.509 signing certificates to validate requests
  9425. // that are signed with a corresponding private key. When you upload the certificate,
  9426. // its default status is Active.
  9427. //
  9428. // If the UserName field is not specified, the IAM user name is determined implicitly
  9429. // based on the AWS access key ID used to sign the request. Because this action
  9430. // works for access keys under the AWS account, you can use this action to manage
  9431. // root credentials even if the AWS account has no associated users.
  9432. //
  9433. // Because the body of a X.509 certificate can be large, you should use POST
  9434. // rather than GET when calling UploadSigningCertificate. For information about
  9435. // setting up signatures and authorization through the API, go to Signing AWS
  9436. // API Requests (http://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html)
  9437. // in the AWS General Reference. For general information about using the Query
  9438. // API with IAM, go to Making Query Requests (http://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html)
  9439. // in the IAM User Guide.
  9440. //
  9441. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9442. // with awserr.Error's Code and Message methods to get detailed information about
  9443. // the error.
  9444. //
  9445. // See the AWS API reference guide for AWS Identity and Access Management's
  9446. // API operation UploadSigningCertificate for usage and error information.
  9447. //
  9448. // Returned Error Codes:
  9449. // * LimitExceeded
  9450. // The request was rejected because it attempted to create resources beyond
  9451. // the current AWS account limits. The error message describes the limit exceeded.
  9452. //
  9453. // * EntityAlreadyExists
  9454. // The request was rejected because it attempted to create a resource that already
  9455. // exists.
  9456. //
  9457. // * MalformedCertificate
  9458. // The request was rejected because the certificate was malformed or expired.
  9459. // The error message describes the specific error.
  9460. //
  9461. // * InvalidCertificate
  9462. // The request was rejected because the certificate is invalid.
  9463. //
  9464. // * DuplicateCertificate
  9465. // The request was rejected because the same certificate is associated with
  9466. // an IAM user in the account.
  9467. //
  9468. // * NoSuchEntity
  9469. // The request was rejected because it referenced an entity that does not exist.
  9470. // The error message describes the entity.
  9471. //
  9472. // * ServiceFailure
  9473. // The request processing has failed because of an unknown error, exception
  9474. // or failure.
  9475. //
  9476. func (c *IAM) UploadSigningCertificate(input *UploadSigningCertificateInput) (*UploadSigningCertificateOutput, error) {
  9477. req, out := c.UploadSigningCertificateRequest(input)
  9478. err := req.Send()
  9479. return out, err
  9480. }
  9481. // Contains information about an AWS access key.
  9482. //
  9483. // This data type is used as a response element in the CreateAccessKey and ListAccessKeys
  9484. // actions.
  9485. //
  9486. // The SecretAccessKey value is returned only in response to CreateAccessKey.
  9487. // You can get a secret access key only when you first create an access key;
  9488. // you cannot recover the secret access key later. If you lose a secret access
  9489. // key, you must create a new access key.
  9490. type AccessKey struct {
  9491. _ struct{} `type:"structure"`
  9492. // The ID for this access key.
  9493. //
  9494. // AccessKeyId is a required field
  9495. AccessKeyId *string `min:"16" type:"string" required:"true"`
  9496. // The date when the access key was created.
  9497. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  9498. // The secret key used to sign requests.
  9499. //
  9500. // SecretAccessKey is a required field
  9501. SecretAccessKey *string `type:"string" required:"true"`
  9502. // The status of the access key. Active means the key is valid for API calls,
  9503. // while Inactive means it is not.
  9504. //
  9505. // Status is a required field
  9506. Status *string `type:"string" required:"true" enum:"statusType"`
  9507. // The name of the IAM user that the access key is associated with.
  9508. //
  9509. // UserName is a required field
  9510. UserName *string `min:"1" type:"string" required:"true"`
  9511. }
  9512. // String returns the string representation
  9513. func (s AccessKey) String() string {
  9514. return awsutil.Prettify(s)
  9515. }
  9516. // GoString returns the string representation
  9517. func (s AccessKey) GoString() string {
  9518. return s.String()
  9519. }
  9520. // Contains information about the last time an AWS access key was used.
  9521. //
  9522. // This data type is used as a response element in the GetAccessKeyLastUsed
  9523. // action.
  9524. type AccessKeyLastUsed struct {
  9525. _ struct{} `type:"structure"`
  9526. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  9527. // when the access key was most recently used. This field is null when:
  9528. //
  9529. // * The user does not have an access key.
  9530. //
  9531. // * An access key exists but has never been used, at least not since IAM
  9532. // started tracking this information on April 22nd, 2015.
  9533. //
  9534. // * There is no sign-in data associated with the user
  9535. //
  9536. // LastUsedDate is a required field
  9537. LastUsedDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  9538. // The AWS region where this access key was most recently used. This field is
  9539. // null when:
  9540. //
  9541. // * The user does not have an access key.
  9542. //
  9543. // * An access key exists but has never been used, at least not since IAM
  9544. // started tracking this information on April 22nd, 2015.
  9545. //
  9546. // * There is no sign-in data associated with the user
  9547. //
  9548. // For more information about AWS regions, see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html)
  9549. // in the Amazon Web Services General Reference.
  9550. //
  9551. // Region is a required field
  9552. Region *string `type:"string" required:"true"`
  9553. // The name of the AWS service with which this access key was most recently
  9554. // used. This field is null when:
  9555. //
  9556. // * The user does not have an access key.
  9557. //
  9558. // * An access key exists but has never been used, at least not since IAM
  9559. // started tracking this information on April 22nd, 2015.
  9560. //
  9561. // * There is no sign-in data associated with the user
  9562. //
  9563. // ServiceName is a required field
  9564. ServiceName *string `type:"string" required:"true"`
  9565. }
  9566. // String returns the string representation
  9567. func (s AccessKeyLastUsed) String() string {
  9568. return awsutil.Prettify(s)
  9569. }
  9570. // GoString returns the string representation
  9571. func (s AccessKeyLastUsed) GoString() string {
  9572. return s.String()
  9573. }
  9574. // Contains information about an AWS access key, without its secret key.
  9575. //
  9576. // This data type is used as a response element in the ListAccessKeys action.
  9577. type AccessKeyMetadata struct {
  9578. _ struct{} `type:"structure"`
  9579. // The ID for this access key.
  9580. AccessKeyId *string `min:"16" type:"string"`
  9581. // The date when the access key was created.
  9582. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  9583. // The status of the access key. Active means the key is valid for API calls;
  9584. // Inactive means it is not.
  9585. Status *string `type:"string" enum:"statusType"`
  9586. // The name of the IAM user that the key is associated with.
  9587. UserName *string `min:"1" type:"string"`
  9588. }
  9589. // String returns the string representation
  9590. func (s AccessKeyMetadata) String() string {
  9591. return awsutil.Prettify(s)
  9592. }
  9593. // GoString returns the string representation
  9594. func (s AccessKeyMetadata) GoString() string {
  9595. return s.String()
  9596. }
  9597. type AddClientIDToOpenIDConnectProviderInput struct {
  9598. _ struct{} `type:"structure"`
  9599. // The client ID (also known as audience) to add to the IAM OpenID Connect provider
  9600. // resource.
  9601. //
  9602. // ClientID is a required field
  9603. ClientID *string `min:"1" type:"string" required:"true"`
  9604. // The Amazon Resource Name (ARN) of the IAM OpenID Connect (OIDC) provider
  9605. // resource to add the client ID to. You can get a list of OIDC provider ARNs
  9606. // by using the ListOpenIDConnectProviders action.
  9607. //
  9608. // OpenIDConnectProviderArn is a required field
  9609. OpenIDConnectProviderArn *string `min:"20" type:"string" required:"true"`
  9610. }
  9611. // String returns the string representation
  9612. func (s AddClientIDToOpenIDConnectProviderInput) String() string {
  9613. return awsutil.Prettify(s)
  9614. }
  9615. // GoString returns the string representation
  9616. func (s AddClientIDToOpenIDConnectProviderInput) GoString() string {
  9617. return s.String()
  9618. }
  9619. // Validate inspects the fields of the type to determine if they are valid.
  9620. func (s *AddClientIDToOpenIDConnectProviderInput) Validate() error {
  9621. invalidParams := request.ErrInvalidParams{Context: "AddClientIDToOpenIDConnectProviderInput"}
  9622. if s.ClientID == nil {
  9623. invalidParams.Add(request.NewErrParamRequired("ClientID"))
  9624. }
  9625. if s.ClientID != nil && len(*s.ClientID) < 1 {
  9626. invalidParams.Add(request.NewErrParamMinLen("ClientID", 1))
  9627. }
  9628. if s.OpenIDConnectProviderArn == nil {
  9629. invalidParams.Add(request.NewErrParamRequired("OpenIDConnectProviderArn"))
  9630. }
  9631. if s.OpenIDConnectProviderArn != nil && len(*s.OpenIDConnectProviderArn) < 20 {
  9632. invalidParams.Add(request.NewErrParamMinLen("OpenIDConnectProviderArn", 20))
  9633. }
  9634. if invalidParams.Len() > 0 {
  9635. return invalidParams
  9636. }
  9637. return nil
  9638. }
  9639. type AddClientIDToOpenIDConnectProviderOutput struct {
  9640. _ struct{} `type:"structure"`
  9641. }
  9642. // String returns the string representation
  9643. func (s AddClientIDToOpenIDConnectProviderOutput) String() string {
  9644. return awsutil.Prettify(s)
  9645. }
  9646. // GoString returns the string representation
  9647. func (s AddClientIDToOpenIDConnectProviderOutput) GoString() string {
  9648. return s.String()
  9649. }
  9650. type AddRoleToInstanceProfileInput struct {
  9651. _ struct{} `type:"structure"`
  9652. // The name of the instance profile to update.
  9653. //
  9654. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  9655. // a string of characters consisting of upper and lowercase alphanumeric characters
  9656. // with no spaces. You can also include any of the following characters: =,.@-
  9657. //
  9658. // InstanceProfileName is a required field
  9659. InstanceProfileName *string `min:"1" type:"string" required:"true"`
  9660. // The name of the role to add.
  9661. //
  9662. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  9663. // a string of characters consisting of upper and lowercase alphanumeric characters
  9664. // with no spaces. You can also include any of the following characters: =,.@-
  9665. //
  9666. // RoleName is a required field
  9667. RoleName *string `min:"1" type:"string" required:"true"`
  9668. }
  9669. // String returns the string representation
  9670. func (s AddRoleToInstanceProfileInput) String() string {
  9671. return awsutil.Prettify(s)
  9672. }
  9673. // GoString returns the string representation
  9674. func (s AddRoleToInstanceProfileInput) GoString() string {
  9675. return s.String()
  9676. }
  9677. // Validate inspects the fields of the type to determine if they are valid.
  9678. func (s *AddRoleToInstanceProfileInput) Validate() error {
  9679. invalidParams := request.ErrInvalidParams{Context: "AddRoleToInstanceProfileInput"}
  9680. if s.InstanceProfileName == nil {
  9681. invalidParams.Add(request.NewErrParamRequired("InstanceProfileName"))
  9682. }
  9683. if s.InstanceProfileName != nil && len(*s.InstanceProfileName) < 1 {
  9684. invalidParams.Add(request.NewErrParamMinLen("InstanceProfileName", 1))
  9685. }
  9686. if s.RoleName == nil {
  9687. invalidParams.Add(request.NewErrParamRequired("RoleName"))
  9688. }
  9689. if s.RoleName != nil && len(*s.RoleName) < 1 {
  9690. invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
  9691. }
  9692. if invalidParams.Len() > 0 {
  9693. return invalidParams
  9694. }
  9695. return nil
  9696. }
  9697. type AddRoleToInstanceProfileOutput struct {
  9698. _ struct{} `type:"structure"`
  9699. }
  9700. // String returns the string representation
  9701. func (s AddRoleToInstanceProfileOutput) String() string {
  9702. return awsutil.Prettify(s)
  9703. }
  9704. // GoString returns the string representation
  9705. func (s AddRoleToInstanceProfileOutput) GoString() string {
  9706. return s.String()
  9707. }
  9708. type AddUserToGroupInput struct {
  9709. _ struct{} `type:"structure"`
  9710. // The name of the group to update.
  9711. //
  9712. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  9713. // a string of characters consisting of upper and lowercase alphanumeric characters
  9714. // with no spaces. You can also include any of the following characters: =,.@-
  9715. //
  9716. // GroupName is a required field
  9717. GroupName *string `min:"1" type:"string" required:"true"`
  9718. // The name of the user to add.
  9719. //
  9720. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  9721. // a string of characters consisting of upper and lowercase alphanumeric characters
  9722. // with no spaces. You can also include any of the following characters: =,.@-
  9723. //
  9724. // UserName is a required field
  9725. UserName *string `min:"1" type:"string" required:"true"`
  9726. }
  9727. // String returns the string representation
  9728. func (s AddUserToGroupInput) String() string {
  9729. return awsutil.Prettify(s)
  9730. }
  9731. // GoString returns the string representation
  9732. func (s AddUserToGroupInput) GoString() string {
  9733. return s.String()
  9734. }
  9735. // Validate inspects the fields of the type to determine if they are valid.
  9736. func (s *AddUserToGroupInput) Validate() error {
  9737. invalidParams := request.ErrInvalidParams{Context: "AddUserToGroupInput"}
  9738. if s.GroupName == nil {
  9739. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  9740. }
  9741. if s.GroupName != nil && len(*s.GroupName) < 1 {
  9742. invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
  9743. }
  9744. if s.UserName == nil {
  9745. invalidParams.Add(request.NewErrParamRequired("UserName"))
  9746. }
  9747. if s.UserName != nil && len(*s.UserName) < 1 {
  9748. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  9749. }
  9750. if invalidParams.Len() > 0 {
  9751. return invalidParams
  9752. }
  9753. return nil
  9754. }
  9755. type AddUserToGroupOutput struct {
  9756. _ struct{} `type:"structure"`
  9757. }
  9758. // String returns the string representation
  9759. func (s AddUserToGroupOutput) String() string {
  9760. return awsutil.Prettify(s)
  9761. }
  9762. // GoString returns the string representation
  9763. func (s AddUserToGroupOutput) GoString() string {
  9764. return s.String()
  9765. }
  9766. type AttachGroupPolicyInput struct {
  9767. _ struct{} `type:"structure"`
  9768. // The name (friendly name, not ARN) of the group to attach the policy to.
  9769. //
  9770. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  9771. // a string of characters consisting of upper and lowercase alphanumeric characters
  9772. // with no spaces. You can also include any of the following characters: =,.@-
  9773. //
  9774. // GroupName is a required field
  9775. GroupName *string `min:"1" type:"string" required:"true"`
  9776. // The Amazon Resource Name (ARN) of the IAM policy you want to attach.
  9777. //
  9778. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  9779. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  9780. // in the AWS General Reference.
  9781. //
  9782. // PolicyArn is a required field
  9783. PolicyArn *string `min:"20" type:"string" required:"true"`
  9784. }
  9785. // String returns the string representation
  9786. func (s AttachGroupPolicyInput) String() string {
  9787. return awsutil.Prettify(s)
  9788. }
  9789. // GoString returns the string representation
  9790. func (s AttachGroupPolicyInput) GoString() string {
  9791. return s.String()
  9792. }
  9793. // Validate inspects the fields of the type to determine if they are valid.
  9794. func (s *AttachGroupPolicyInput) Validate() error {
  9795. invalidParams := request.ErrInvalidParams{Context: "AttachGroupPolicyInput"}
  9796. if s.GroupName == nil {
  9797. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  9798. }
  9799. if s.GroupName != nil && len(*s.GroupName) < 1 {
  9800. invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
  9801. }
  9802. if s.PolicyArn == nil {
  9803. invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
  9804. }
  9805. if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
  9806. invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
  9807. }
  9808. if invalidParams.Len() > 0 {
  9809. return invalidParams
  9810. }
  9811. return nil
  9812. }
  9813. type AttachGroupPolicyOutput struct {
  9814. _ struct{} `type:"structure"`
  9815. }
  9816. // String returns the string representation
  9817. func (s AttachGroupPolicyOutput) String() string {
  9818. return awsutil.Prettify(s)
  9819. }
  9820. // GoString returns the string representation
  9821. func (s AttachGroupPolicyOutput) GoString() string {
  9822. return s.String()
  9823. }
  9824. type AttachRolePolicyInput struct {
  9825. _ struct{} `type:"structure"`
  9826. // The Amazon Resource Name (ARN) of the IAM policy you want to attach.
  9827. //
  9828. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  9829. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  9830. // in the AWS General Reference.
  9831. //
  9832. // PolicyArn is a required field
  9833. PolicyArn *string `min:"20" type:"string" required:"true"`
  9834. // The name (friendly name, not ARN) of the role to attach the policy to.
  9835. //
  9836. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  9837. // a string of characters consisting of upper and lowercase alphanumeric characters
  9838. // with no spaces. You can also include any of the following characters: =,.@-
  9839. //
  9840. // RoleName is a required field
  9841. RoleName *string `min:"1" type:"string" required:"true"`
  9842. }
  9843. // String returns the string representation
  9844. func (s AttachRolePolicyInput) String() string {
  9845. return awsutil.Prettify(s)
  9846. }
  9847. // GoString returns the string representation
  9848. func (s AttachRolePolicyInput) GoString() string {
  9849. return s.String()
  9850. }
  9851. // Validate inspects the fields of the type to determine if they are valid.
  9852. func (s *AttachRolePolicyInput) Validate() error {
  9853. invalidParams := request.ErrInvalidParams{Context: "AttachRolePolicyInput"}
  9854. if s.PolicyArn == nil {
  9855. invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
  9856. }
  9857. if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
  9858. invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
  9859. }
  9860. if s.RoleName == nil {
  9861. invalidParams.Add(request.NewErrParamRequired("RoleName"))
  9862. }
  9863. if s.RoleName != nil && len(*s.RoleName) < 1 {
  9864. invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
  9865. }
  9866. if invalidParams.Len() > 0 {
  9867. return invalidParams
  9868. }
  9869. return nil
  9870. }
  9871. type AttachRolePolicyOutput struct {
  9872. _ struct{} `type:"structure"`
  9873. }
  9874. // String returns the string representation
  9875. func (s AttachRolePolicyOutput) String() string {
  9876. return awsutil.Prettify(s)
  9877. }
  9878. // GoString returns the string representation
  9879. func (s AttachRolePolicyOutput) GoString() string {
  9880. return s.String()
  9881. }
  9882. type AttachUserPolicyInput struct {
  9883. _ struct{} `type:"structure"`
  9884. // The Amazon Resource Name (ARN) of the IAM policy you want to attach.
  9885. //
  9886. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  9887. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  9888. // in the AWS General Reference.
  9889. //
  9890. // PolicyArn is a required field
  9891. PolicyArn *string `min:"20" type:"string" required:"true"`
  9892. // The name (friendly name, not ARN) of the IAM user to attach the policy to.
  9893. //
  9894. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  9895. // a string of characters consisting of upper and lowercase alphanumeric characters
  9896. // with no spaces. You can also include any of the following characters: =,.@-
  9897. //
  9898. // UserName is a required field
  9899. UserName *string `min:"1" type:"string" required:"true"`
  9900. }
  9901. // String returns the string representation
  9902. func (s AttachUserPolicyInput) String() string {
  9903. return awsutil.Prettify(s)
  9904. }
  9905. // GoString returns the string representation
  9906. func (s AttachUserPolicyInput) GoString() string {
  9907. return s.String()
  9908. }
  9909. // Validate inspects the fields of the type to determine if they are valid.
  9910. func (s *AttachUserPolicyInput) Validate() error {
  9911. invalidParams := request.ErrInvalidParams{Context: "AttachUserPolicyInput"}
  9912. if s.PolicyArn == nil {
  9913. invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
  9914. }
  9915. if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
  9916. invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
  9917. }
  9918. if s.UserName == nil {
  9919. invalidParams.Add(request.NewErrParamRequired("UserName"))
  9920. }
  9921. if s.UserName != nil && len(*s.UserName) < 1 {
  9922. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  9923. }
  9924. if invalidParams.Len() > 0 {
  9925. return invalidParams
  9926. }
  9927. return nil
  9928. }
  9929. type AttachUserPolicyOutput struct {
  9930. _ struct{} `type:"structure"`
  9931. }
  9932. // String returns the string representation
  9933. func (s AttachUserPolicyOutput) String() string {
  9934. return awsutil.Prettify(s)
  9935. }
  9936. // GoString returns the string representation
  9937. func (s AttachUserPolicyOutput) GoString() string {
  9938. return s.String()
  9939. }
  9940. // Contains information about an attached policy.
  9941. //
  9942. // An attached policy is a managed policy that has been attached to a user,
  9943. // group, or role. This data type is used as a response element in the ListAttachedGroupPolicies,
  9944. // ListAttachedRolePolicies, ListAttachedUserPolicies, and GetAccountAuthorizationDetails
  9945. // actions.
  9946. //
  9947. // For more information about managed policies, refer to Managed Policies and
  9948. // Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  9949. // in the Using IAM guide.
  9950. type AttachedPolicy struct {
  9951. _ struct{} `type:"structure"`
  9952. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  9953. //
  9954. // For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS
  9955. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  9956. // in the AWS General Reference.
  9957. PolicyArn *string `min:"20" type:"string"`
  9958. // The friendly name of the attached policy.
  9959. PolicyName *string `min:"1" type:"string"`
  9960. }
  9961. // String returns the string representation
  9962. func (s AttachedPolicy) String() string {
  9963. return awsutil.Prettify(s)
  9964. }
  9965. // GoString returns the string representation
  9966. func (s AttachedPolicy) GoString() string {
  9967. return s.String()
  9968. }
  9969. type ChangePasswordInput struct {
  9970. _ struct{} `type:"structure"`
  9971. // The new password. The new password must conform to the AWS account's password
  9972. // policy, if one exists.
  9973. //
  9974. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  9975. // a string of characters consisting of almost any printable ASCII character
  9976. // from the space (\u0020) through the end of the ASCII character range (\u00FF).
  9977. // You can also include the tab (\u0009), line feed (\u000A), and carriage return
  9978. // (\u000D) characters. Although any of these characters are valid in a password,
  9979. // note that many tools, such as the AWS Management Console, might restrict
  9980. // the ability to enter certain characters because they have special meaning
  9981. // within that tool.
  9982. //
  9983. // NewPassword is a required field
  9984. NewPassword *string `min:"1" type:"string" required:"true"`
  9985. // The IAM user's current password.
  9986. //
  9987. // OldPassword is a required field
  9988. OldPassword *string `min:"1" type:"string" required:"true"`
  9989. }
  9990. // String returns the string representation
  9991. func (s ChangePasswordInput) String() string {
  9992. return awsutil.Prettify(s)
  9993. }
  9994. // GoString returns the string representation
  9995. func (s ChangePasswordInput) GoString() string {
  9996. return s.String()
  9997. }
  9998. // Validate inspects the fields of the type to determine if they are valid.
  9999. func (s *ChangePasswordInput) Validate() error {
  10000. invalidParams := request.ErrInvalidParams{Context: "ChangePasswordInput"}
  10001. if s.NewPassword == nil {
  10002. invalidParams.Add(request.NewErrParamRequired("NewPassword"))
  10003. }
  10004. if s.NewPassword != nil && len(*s.NewPassword) < 1 {
  10005. invalidParams.Add(request.NewErrParamMinLen("NewPassword", 1))
  10006. }
  10007. if s.OldPassword == nil {
  10008. invalidParams.Add(request.NewErrParamRequired("OldPassword"))
  10009. }
  10010. if s.OldPassword != nil && len(*s.OldPassword) < 1 {
  10011. invalidParams.Add(request.NewErrParamMinLen("OldPassword", 1))
  10012. }
  10013. if invalidParams.Len() > 0 {
  10014. return invalidParams
  10015. }
  10016. return nil
  10017. }
  10018. type ChangePasswordOutput struct {
  10019. _ struct{} `type:"structure"`
  10020. }
  10021. // String returns the string representation
  10022. func (s ChangePasswordOutput) String() string {
  10023. return awsutil.Prettify(s)
  10024. }
  10025. // GoString returns the string representation
  10026. func (s ChangePasswordOutput) GoString() string {
  10027. return s.String()
  10028. }
  10029. // Contains information about a condition context key. It includes the name
  10030. // of the key and specifies the value (or values, if the context key supports
  10031. // multiple values) to use in the simulation. This information is used when
  10032. // evaluating the Condition elements of the input policies.
  10033. //
  10034. // This data type is used as an input parameter to SimulateCustomPolicy and
  10035. // SimulateCustomPolicy.
  10036. type ContextEntry struct {
  10037. _ struct{} `type:"structure"`
  10038. // The full name of a condition context key, including the service prefix. For
  10039. // example, aws:SourceIp or s3:VersionId.
  10040. ContextKeyName *string `min:"5" type:"string"`
  10041. // The data type of the value (or values) specified in the ContextKeyValues
  10042. // parameter.
  10043. ContextKeyType *string `type:"string" enum:"ContextKeyTypeEnum"`
  10044. // The value (or values, if the condition context key supports multiple values)
  10045. // to provide to the simulation for use when the key is referenced by a Condition
  10046. // element in an input policy.
  10047. ContextKeyValues []*string `type:"list"`
  10048. }
  10049. // String returns the string representation
  10050. func (s ContextEntry) String() string {
  10051. return awsutil.Prettify(s)
  10052. }
  10053. // GoString returns the string representation
  10054. func (s ContextEntry) GoString() string {
  10055. return s.String()
  10056. }
  10057. // Validate inspects the fields of the type to determine if they are valid.
  10058. func (s *ContextEntry) Validate() error {
  10059. invalidParams := request.ErrInvalidParams{Context: "ContextEntry"}
  10060. if s.ContextKeyName != nil && len(*s.ContextKeyName) < 5 {
  10061. invalidParams.Add(request.NewErrParamMinLen("ContextKeyName", 5))
  10062. }
  10063. if invalidParams.Len() > 0 {
  10064. return invalidParams
  10065. }
  10066. return nil
  10067. }
  10068. type CreateAccessKeyInput struct {
  10069. _ struct{} `type:"structure"`
  10070. // The name of the IAM user that the new key will belong to.
  10071. //
  10072. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  10073. // a string of characters consisting of upper and lowercase alphanumeric characters
  10074. // with no spaces. You can also include any of the following characters: =,.@-
  10075. UserName *string `min:"1" type:"string"`
  10076. }
  10077. // String returns the string representation
  10078. func (s CreateAccessKeyInput) String() string {
  10079. return awsutil.Prettify(s)
  10080. }
  10081. // GoString returns the string representation
  10082. func (s CreateAccessKeyInput) GoString() string {
  10083. return s.String()
  10084. }
  10085. // Validate inspects the fields of the type to determine if they are valid.
  10086. func (s *CreateAccessKeyInput) Validate() error {
  10087. invalidParams := request.ErrInvalidParams{Context: "CreateAccessKeyInput"}
  10088. if s.UserName != nil && len(*s.UserName) < 1 {
  10089. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  10090. }
  10091. if invalidParams.Len() > 0 {
  10092. return invalidParams
  10093. }
  10094. return nil
  10095. }
  10096. // Contains the response to a successful CreateAccessKey request.
  10097. type CreateAccessKeyOutput struct {
  10098. _ struct{} `type:"structure"`
  10099. // A structure with details about the access key.
  10100. //
  10101. // AccessKey is a required field
  10102. AccessKey *AccessKey `type:"structure" required:"true"`
  10103. }
  10104. // String returns the string representation
  10105. func (s CreateAccessKeyOutput) String() string {
  10106. return awsutil.Prettify(s)
  10107. }
  10108. // GoString returns the string representation
  10109. func (s CreateAccessKeyOutput) GoString() string {
  10110. return s.String()
  10111. }
  10112. type CreateAccountAliasInput struct {
  10113. _ struct{} `type:"structure"`
  10114. // The account alias to create.
  10115. //
  10116. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  10117. // a string of characters consisting of lowercase letters, digits, and dashes.
  10118. // You cannot start or finish with a dash, nor can you have two dashes in a
  10119. // row.
  10120. //
  10121. // AccountAlias is a required field
  10122. AccountAlias *string `min:"3" type:"string" required:"true"`
  10123. }
  10124. // String returns the string representation
  10125. func (s CreateAccountAliasInput) String() string {
  10126. return awsutil.Prettify(s)
  10127. }
  10128. // GoString returns the string representation
  10129. func (s CreateAccountAliasInput) GoString() string {
  10130. return s.String()
  10131. }
  10132. // Validate inspects the fields of the type to determine if they are valid.
  10133. func (s *CreateAccountAliasInput) Validate() error {
  10134. invalidParams := request.ErrInvalidParams{Context: "CreateAccountAliasInput"}
  10135. if s.AccountAlias == nil {
  10136. invalidParams.Add(request.NewErrParamRequired("AccountAlias"))
  10137. }
  10138. if s.AccountAlias != nil && len(*s.AccountAlias) < 3 {
  10139. invalidParams.Add(request.NewErrParamMinLen("AccountAlias", 3))
  10140. }
  10141. if invalidParams.Len() > 0 {
  10142. return invalidParams
  10143. }
  10144. return nil
  10145. }
  10146. type CreateAccountAliasOutput struct {
  10147. _ struct{} `type:"structure"`
  10148. }
  10149. // String returns the string representation
  10150. func (s CreateAccountAliasOutput) String() string {
  10151. return awsutil.Prettify(s)
  10152. }
  10153. // GoString returns the string representation
  10154. func (s CreateAccountAliasOutput) GoString() string {
  10155. return s.String()
  10156. }
  10157. type CreateGroupInput struct {
  10158. _ struct{} `type:"structure"`
  10159. // The name of the group to create. Do not include the path in this value.
  10160. //
  10161. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  10162. // a string of characters consisting of upper and lowercase alphanumeric characters
  10163. // with no spaces. You can also include any of the following characters: =,.@-.
  10164. // The group name must be unique within the account. Group names are not distinguished
  10165. // by case. For example, you cannot create groups named both "ADMINS" and "admins".
  10166. //
  10167. // GroupName is a required field
  10168. GroupName *string `min:"1" type:"string" required:"true"`
  10169. // The path to the group. For more information about paths, see IAM Identifiers
  10170. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  10171. // in the IAM User Guide.
  10172. //
  10173. // This parameter is optional. If it is not included, it defaults to a slash
  10174. // (/).
  10175. //
  10176. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  10177. // a string of characters consisting of either a forward slash (/) by itself
  10178. // or a string that must begin and end with forward slashes, containing any
  10179. // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including
  10180. // most punctuation characters, digits, and upper and lowercased letters.
  10181. Path *string `min:"1" type:"string"`
  10182. }
  10183. // String returns the string representation
  10184. func (s CreateGroupInput) String() string {
  10185. return awsutil.Prettify(s)
  10186. }
  10187. // GoString returns the string representation
  10188. func (s CreateGroupInput) GoString() string {
  10189. return s.String()
  10190. }
  10191. // Validate inspects the fields of the type to determine if they are valid.
  10192. func (s *CreateGroupInput) Validate() error {
  10193. invalidParams := request.ErrInvalidParams{Context: "CreateGroupInput"}
  10194. if s.GroupName == nil {
  10195. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  10196. }
  10197. if s.GroupName != nil && len(*s.GroupName) < 1 {
  10198. invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
  10199. }
  10200. if s.Path != nil && len(*s.Path) < 1 {
  10201. invalidParams.Add(request.NewErrParamMinLen("Path", 1))
  10202. }
  10203. if invalidParams.Len() > 0 {
  10204. return invalidParams
  10205. }
  10206. return nil
  10207. }
  10208. // Contains the response to a successful CreateGroup request.
  10209. type CreateGroupOutput struct {
  10210. _ struct{} `type:"structure"`
  10211. // A structure containing details about the new group.
  10212. //
  10213. // Group is a required field
  10214. Group *Group `type:"structure" required:"true"`
  10215. }
  10216. // String returns the string representation
  10217. func (s CreateGroupOutput) String() string {
  10218. return awsutil.Prettify(s)
  10219. }
  10220. // GoString returns the string representation
  10221. func (s CreateGroupOutput) GoString() string {
  10222. return s.String()
  10223. }
  10224. type CreateInstanceProfileInput struct {
  10225. _ struct{} `type:"structure"`
  10226. // The name of the instance profile to create.
  10227. //
  10228. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  10229. // a string of characters consisting of upper and lowercase alphanumeric characters
  10230. // with no spaces. You can also include any of the following characters: =,.@-
  10231. //
  10232. // InstanceProfileName is a required field
  10233. InstanceProfileName *string `min:"1" type:"string" required:"true"`
  10234. // The path to the instance profile. For more information about paths, see IAM
  10235. // Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  10236. // in the IAM User Guide.
  10237. //
  10238. // This parameter is optional. If it is not included, it defaults to a slash
  10239. // (/).
  10240. //
  10241. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  10242. // a string of characters consisting of either a forward slash (/) by itself
  10243. // or a string that must begin and end with forward slashes, containing any
  10244. // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including
  10245. // most punctuation characters, digits, and upper and lowercased letters.
  10246. Path *string `min:"1" type:"string"`
  10247. }
  10248. // String returns the string representation
  10249. func (s CreateInstanceProfileInput) String() string {
  10250. return awsutil.Prettify(s)
  10251. }
  10252. // GoString returns the string representation
  10253. func (s CreateInstanceProfileInput) GoString() string {
  10254. return s.String()
  10255. }
  10256. // Validate inspects the fields of the type to determine if they are valid.
  10257. func (s *CreateInstanceProfileInput) Validate() error {
  10258. invalidParams := request.ErrInvalidParams{Context: "CreateInstanceProfileInput"}
  10259. if s.InstanceProfileName == nil {
  10260. invalidParams.Add(request.NewErrParamRequired("InstanceProfileName"))
  10261. }
  10262. if s.InstanceProfileName != nil && len(*s.InstanceProfileName) < 1 {
  10263. invalidParams.Add(request.NewErrParamMinLen("InstanceProfileName", 1))
  10264. }
  10265. if s.Path != nil && len(*s.Path) < 1 {
  10266. invalidParams.Add(request.NewErrParamMinLen("Path", 1))
  10267. }
  10268. if invalidParams.Len() > 0 {
  10269. return invalidParams
  10270. }
  10271. return nil
  10272. }
  10273. // Contains the response to a successful CreateInstanceProfile request.
  10274. type CreateInstanceProfileOutput struct {
  10275. _ struct{} `type:"structure"`
  10276. // A structure containing details about the new instance profile.
  10277. //
  10278. // InstanceProfile is a required field
  10279. InstanceProfile *InstanceProfile `type:"structure" required:"true"`
  10280. }
  10281. // String returns the string representation
  10282. func (s CreateInstanceProfileOutput) String() string {
  10283. return awsutil.Prettify(s)
  10284. }
  10285. // GoString returns the string representation
  10286. func (s CreateInstanceProfileOutput) GoString() string {
  10287. return s.String()
  10288. }
  10289. type CreateLoginProfileInput struct {
  10290. _ struct{} `type:"structure"`
  10291. // The new password for the user.
  10292. //
  10293. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  10294. // a string of characters consisting of almost any printable ASCII character
  10295. // from the space (\u0020) through the end of the ASCII character range (\u00FF).
  10296. // You can also include the tab (\u0009), line feed (\u000A), and carriage return
  10297. // (\u000D) characters. Although any of these characters are valid in a password,
  10298. // note that many tools, such as the AWS Management Console, might restrict
  10299. // the ability to enter certain characters because they have special meaning
  10300. // within that tool.
  10301. //
  10302. // Password is a required field
  10303. Password *string `min:"1" type:"string" required:"true"`
  10304. // Specifies whether the user is required to set a new password on next sign-in.
  10305. PasswordResetRequired *bool `type:"boolean"`
  10306. // The name of the IAM user to create a password for. The user must already
  10307. // exist.
  10308. //
  10309. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  10310. // a string of characters consisting of upper and lowercase alphanumeric characters
  10311. // with no spaces. You can also include any of the following characters: =,.@-
  10312. //
  10313. // UserName is a required field
  10314. UserName *string `min:"1" type:"string" required:"true"`
  10315. }
  10316. // String returns the string representation
  10317. func (s CreateLoginProfileInput) String() string {
  10318. return awsutil.Prettify(s)
  10319. }
  10320. // GoString returns the string representation
  10321. func (s CreateLoginProfileInput) GoString() string {
  10322. return s.String()
  10323. }
  10324. // Validate inspects the fields of the type to determine if they are valid.
  10325. func (s *CreateLoginProfileInput) Validate() error {
  10326. invalidParams := request.ErrInvalidParams{Context: "CreateLoginProfileInput"}
  10327. if s.Password == nil {
  10328. invalidParams.Add(request.NewErrParamRequired("Password"))
  10329. }
  10330. if s.Password != nil && len(*s.Password) < 1 {
  10331. invalidParams.Add(request.NewErrParamMinLen("Password", 1))
  10332. }
  10333. if s.UserName == nil {
  10334. invalidParams.Add(request.NewErrParamRequired("UserName"))
  10335. }
  10336. if s.UserName != nil && len(*s.UserName) < 1 {
  10337. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  10338. }
  10339. if invalidParams.Len() > 0 {
  10340. return invalidParams
  10341. }
  10342. return nil
  10343. }
  10344. // Contains the response to a successful CreateLoginProfile request.
  10345. type CreateLoginProfileOutput struct {
  10346. _ struct{} `type:"structure"`
  10347. // A structure containing the user name and password create date.
  10348. //
  10349. // LoginProfile is a required field
  10350. LoginProfile *LoginProfile `type:"structure" required:"true"`
  10351. }
  10352. // String returns the string representation
  10353. func (s CreateLoginProfileOutput) String() string {
  10354. return awsutil.Prettify(s)
  10355. }
  10356. // GoString returns the string representation
  10357. func (s CreateLoginProfileOutput) GoString() string {
  10358. return s.String()
  10359. }
  10360. type CreateOpenIDConnectProviderInput struct {
  10361. _ struct{} `type:"structure"`
  10362. // A list of client IDs (also known as audiences). When a mobile or web app
  10363. // registers with an OpenID Connect provider, they establish a value that identifies
  10364. // the application. (This is the value that's sent as the client_id parameter
  10365. // on OAuth requests.)
  10366. //
  10367. // You can register multiple client IDs with the same provider. For example,
  10368. // you might have multiple applications that use the same OIDC provider. You
  10369. // cannot register more than 100 client IDs with a single IAM OIDC provider.
  10370. //
  10371. // There is no defined format for a client ID. The CreateOpenIDConnectProviderRequest
  10372. // action accepts client IDs up to 255 characters long.
  10373. ClientIDList []*string `type:"list"`
  10374. // A list of server certificate thumbprints for the OpenID Connect (OIDC) identity
  10375. // provider's server certificate(s). Typically this list includes only one entry.
  10376. // However, IAM lets you have up to five thumbprints for an OIDC provider. This
  10377. // lets you maintain multiple thumbprints if the identity provider is rotating
  10378. // certificates.
  10379. //
  10380. // The server certificate thumbprint is the hex-encoded SHA-1 hash value of
  10381. // the X.509 certificate used by the domain where the OpenID Connect provider
  10382. // makes its keys available. It is always a 40-character string.
  10383. //
  10384. // You must provide at least one thumbprint when creating an IAM OIDC provider.
  10385. // For example, if the OIDC provider is server.example.com and the provider
  10386. // stores its keys at "https://keys.server.example.com/openid-connect", the
  10387. // thumbprint string would be the hex-encoded SHA-1 hash value of the certificate
  10388. // used by https://keys.server.example.com.
  10389. //
  10390. // For more information about obtaining the OIDC provider's thumbprint, see
  10391. // Obtaining the Thumbprint for an OpenID Connect Provider (http://docs.aws.amazon.com/IAM/latest/UserGuide/identity-providers-oidc-obtain-thumbprint.html)
  10392. // in the IAM User Guide.
  10393. //
  10394. // ThumbprintList is a required field
  10395. ThumbprintList []*string `type:"list" required:"true"`
  10396. // The URL of the identity provider. The URL must begin with "https://" and
  10397. // should correspond to the iss claim in the provider's OpenID Connect ID tokens.
  10398. // Per the OIDC standard, path components are allowed but query parameters are
  10399. // not. Typically the URL consists of only a host name, like "https://server.example.org"
  10400. // or "https://example.com".
  10401. //
  10402. // You cannot register the same provider multiple times in a single AWS account.
  10403. // If you try to submit a URL that has already been used for an OpenID Connect
  10404. // provider in the AWS account, you will get an error.
  10405. //
  10406. // Url is a required field
  10407. Url *string `min:"1" type:"string" required:"true"`
  10408. }
  10409. // String returns the string representation
  10410. func (s CreateOpenIDConnectProviderInput) String() string {
  10411. return awsutil.Prettify(s)
  10412. }
  10413. // GoString returns the string representation
  10414. func (s CreateOpenIDConnectProviderInput) GoString() string {
  10415. return s.String()
  10416. }
  10417. // Validate inspects the fields of the type to determine if they are valid.
  10418. func (s *CreateOpenIDConnectProviderInput) Validate() error {
  10419. invalidParams := request.ErrInvalidParams{Context: "CreateOpenIDConnectProviderInput"}
  10420. if s.ThumbprintList == nil {
  10421. invalidParams.Add(request.NewErrParamRequired("ThumbprintList"))
  10422. }
  10423. if s.Url == nil {
  10424. invalidParams.Add(request.NewErrParamRequired("Url"))
  10425. }
  10426. if s.Url != nil && len(*s.Url) < 1 {
  10427. invalidParams.Add(request.NewErrParamMinLen("Url", 1))
  10428. }
  10429. if invalidParams.Len() > 0 {
  10430. return invalidParams
  10431. }
  10432. return nil
  10433. }
  10434. // Contains the response to a successful CreateOpenIDConnectProvider request.
  10435. type CreateOpenIDConnectProviderOutput struct {
  10436. _ struct{} `type:"structure"`
  10437. // The Amazon Resource Name (ARN) of the new IAM OpenID Connect provider that
  10438. // is created. For more information, see OpenIDConnectProviderListEntry.
  10439. OpenIDConnectProviderArn *string `min:"20" type:"string"`
  10440. }
  10441. // String returns the string representation
  10442. func (s CreateOpenIDConnectProviderOutput) String() string {
  10443. return awsutil.Prettify(s)
  10444. }
  10445. // GoString returns the string representation
  10446. func (s CreateOpenIDConnectProviderOutput) GoString() string {
  10447. return s.String()
  10448. }
  10449. type CreatePolicyInput struct {
  10450. _ struct{} `type:"structure"`
  10451. // A friendly description of the policy.
  10452. //
  10453. // Typically used to store information about the permissions defined in the
  10454. // policy. For example, "Grants access to production DynamoDB tables."
  10455. //
  10456. // The policy description is immutable. After a value is assigned, it cannot
  10457. // be changed.
  10458. Description *string `type:"string"`
  10459. // The path for the policy.
  10460. //
  10461. // For more information about paths, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  10462. // in the IAM User Guide.
  10463. //
  10464. // This parameter is optional. If it is not included, it defaults to a slash
  10465. // (/).
  10466. //
  10467. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  10468. // a string of characters consisting of either a forward slash (/) by itself
  10469. // or a string that must begin and end with forward slashes, containing any
  10470. // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including
  10471. // most punctuation characters, digits, and upper and lowercased letters.
  10472. Path *string `type:"string"`
  10473. // The JSON policy document that you want to use as the content for the new
  10474. // policy.
  10475. //
  10476. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  10477. // a string of characters consisting of any printable ASCII character ranging
  10478. // from the space character (\u0020) through end of the ASCII character range
  10479. // (\u00FF). It also includes the special characters tab (\u0009), line feed
  10480. // (\u000A), and carriage return (\u000D).
  10481. //
  10482. // PolicyDocument is a required field
  10483. PolicyDocument *string `min:"1" type:"string" required:"true"`
  10484. // The friendly name of the policy.
  10485. //
  10486. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  10487. // a string of characters consisting of upper and lowercase alphanumeric characters
  10488. // with no spaces. You can also include any of the following characters: =,.@-
  10489. //
  10490. // PolicyName is a required field
  10491. PolicyName *string `min:"1" type:"string" required:"true"`
  10492. }
  10493. // String returns the string representation
  10494. func (s CreatePolicyInput) String() string {
  10495. return awsutil.Prettify(s)
  10496. }
  10497. // GoString returns the string representation
  10498. func (s CreatePolicyInput) GoString() string {
  10499. return s.String()
  10500. }
  10501. // Validate inspects the fields of the type to determine if they are valid.
  10502. func (s *CreatePolicyInput) Validate() error {
  10503. invalidParams := request.ErrInvalidParams{Context: "CreatePolicyInput"}
  10504. if s.PolicyDocument == nil {
  10505. invalidParams.Add(request.NewErrParamRequired("PolicyDocument"))
  10506. }
  10507. if s.PolicyDocument != nil && len(*s.PolicyDocument) < 1 {
  10508. invalidParams.Add(request.NewErrParamMinLen("PolicyDocument", 1))
  10509. }
  10510. if s.PolicyName == nil {
  10511. invalidParams.Add(request.NewErrParamRequired("PolicyName"))
  10512. }
  10513. if s.PolicyName != nil && len(*s.PolicyName) < 1 {
  10514. invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
  10515. }
  10516. if invalidParams.Len() > 0 {
  10517. return invalidParams
  10518. }
  10519. return nil
  10520. }
  10521. // Contains the response to a successful CreatePolicy request.
  10522. type CreatePolicyOutput struct {
  10523. _ struct{} `type:"structure"`
  10524. // A structure containing details about the new policy.
  10525. Policy *Policy `type:"structure"`
  10526. }
  10527. // String returns the string representation
  10528. func (s CreatePolicyOutput) String() string {
  10529. return awsutil.Prettify(s)
  10530. }
  10531. // GoString returns the string representation
  10532. func (s CreatePolicyOutput) GoString() string {
  10533. return s.String()
  10534. }
  10535. type CreatePolicyVersionInput struct {
  10536. _ struct{} `type:"structure"`
  10537. // The Amazon Resource Name (ARN) of the IAM policy to which you want to add
  10538. // a new version.
  10539. //
  10540. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  10541. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  10542. // in the AWS General Reference.
  10543. //
  10544. // PolicyArn is a required field
  10545. PolicyArn *string `min:"20" type:"string" required:"true"`
  10546. // The JSON policy document that you want to use as the content for this new
  10547. // version of the policy.
  10548. //
  10549. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  10550. // a string of characters consisting of any printable ASCII character ranging
  10551. // from the space character (\u0020) through end of the ASCII character range
  10552. // (\u00FF). It also includes the special characters tab (\u0009), line feed
  10553. // (\u000A), and carriage return (\u000D).
  10554. //
  10555. // PolicyDocument is a required field
  10556. PolicyDocument *string `min:"1" type:"string" required:"true"`
  10557. // Specifies whether to set this version as the policy's default version.
  10558. //
  10559. // When this parameter is true, the new policy version becomes the operative
  10560. // version; that is, the version that is in effect for the IAM users, groups,
  10561. // and roles that the policy is attached to.
  10562. //
  10563. // For more information about managed policy versions, see Versioning for Managed
  10564. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
  10565. // in the IAM User Guide.
  10566. SetAsDefault *bool `type:"boolean"`
  10567. }
  10568. // String returns the string representation
  10569. func (s CreatePolicyVersionInput) String() string {
  10570. return awsutil.Prettify(s)
  10571. }
  10572. // GoString returns the string representation
  10573. func (s CreatePolicyVersionInput) GoString() string {
  10574. return s.String()
  10575. }
  10576. // Validate inspects the fields of the type to determine if they are valid.
  10577. func (s *CreatePolicyVersionInput) Validate() error {
  10578. invalidParams := request.ErrInvalidParams{Context: "CreatePolicyVersionInput"}
  10579. if s.PolicyArn == nil {
  10580. invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
  10581. }
  10582. if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
  10583. invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
  10584. }
  10585. if s.PolicyDocument == nil {
  10586. invalidParams.Add(request.NewErrParamRequired("PolicyDocument"))
  10587. }
  10588. if s.PolicyDocument != nil && len(*s.PolicyDocument) < 1 {
  10589. invalidParams.Add(request.NewErrParamMinLen("PolicyDocument", 1))
  10590. }
  10591. if invalidParams.Len() > 0 {
  10592. return invalidParams
  10593. }
  10594. return nil
  10595. }
  10596. // Contains the response to a successful CreatePolicyVersion request.
  10597. type CreatePolicyVersionOutput struct {
  10598. _ struct{} `type:"structure"`
  10599. // A structure containing details about the new policy version.
  10600. PolicyVersion *PolicyVersion `type:"structure"`
  10601. }
  10602. // String returns the string representation
  10603. func (s CreatePolicyVersionOutput) String() string {
  10604. return awsutil.Prettify(s)
  10605. }
  10606. // GoString returns the string representation
  10607. func (s CreatePolicyVersionOutput) GoString() string {
  10608. return s.String()
  10609. }
  10610. type CreateRoleInput struct {
  10611. _ struct{} `type:"structure"`
  10612. // The trust relationship policy document that grants an entity permission to
  10613. // assume the role.
  10614. //
  10615. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  10616. // a string of characters consisting of any printable ASCII character ranging
  10617. // from the space character (\u0020) through end of the ASCII character range
  10618. // (\u00FF). It also includes the special characters tab (\u0009), line feed
  10619. // (\u000A), and carriage return (\u000D).
  10620. //
  10621. // AssumeRolePolicyDocument is a required field
  10622. AssumeRolePolicyDocument *string `min:"1" type:"string" required:"true"`
  10623. // The path to the role. For more information about paths, see IAM Identifiers
  10624. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  10625. // in the IAM User Guide.
  10626. //
  10627. // This parameter is optional. If it is not included, it defaults to a slash
  10628. // (/).
  10629. //
  10630. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  10631. // a string of characters consisting of either a forward slash (/) by itself
  10632. // or a string that must begin and end with forward slashes, containing any
  10633. // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including
  10634. // most punctuation characters, digits, and upper and lowercased letters.
  10635. Path *string `min:"1" type:"string"`
  10636. // The name of the role to create.
  10637. //
  10638. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  10639. // a string of characters consisting of upper and lowercase alphanumeric characters
  10640. // with no spaces. You can also include any of the following characters: =,.@-.
  10641. // Role names are not distinguished by case. For example, you cannot create
  10642. // roles named both "PRODROLE" and "prodrole".
  10643. //
  10644. // RoleName is a required field
  10645. RoleName *string `min:"1" type:"string" required:"true"`
  10646. }
  10647. // String returns the string representation
  10648. func (s CreateRoleInput) String() string {
  10649. return awsutil.Prettify(s)
  10650. }
  10651. // GoString returns the string representation
  10652. func (s CreateRoleInput) GoString() string {
  10653. return s.String()
  10654. }
  10655. // Validate inspects the fields of the type to determine if they are valid.
  10656. func (s *CreateRoleInput) Validate() error {
  10657. invalidParams := request.ErrInvalidParams{Context: "CreateRoleInput"}
  10658. if s.AssumeRolePolicyDocument == nil {
  10659. invalidParams.Add(request.NewErrParamRequired("AssumeRolePolicyDocument"))
  10660. }
  10661. if s.AssumeRolePolicyDocument != nil && len(*s.AssumeRolePolicyDocument) < 1 {
  10662. invalidParams.Add(request.NewErrParamMinLen("AssumeRolePolicyDocument", 1))
  10663. }
  10664. if s.Path != nil && len(*s.Path) < 1 {
  10665. invalidParams.Add(request.NewErrParamMinLen("Path", 1))
  10666. }
  10667. if s.RoleName == nil {
  10668. invalidParams.Add(request.NewErrParamRequired("RoleName"))
  10669. }
  10670. if s.RoleName != nil && len(*s.RoleName) < 1 {
  10671. invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
  10672. }
  10673. if invalidParams.Len() > 0 {
  10674. return invalidParams
  10675. }
  10676. return nil
  10677. }
  10678. // Contains the response to a successful CreateRole request.
  10679. type CreateRoleOutput struct {
  10680. _ struct{} `type:"structure"`
  10681. // A structure containing details about the new role.
  10682. //
  10683. // Role is a required field
  10684. Role *Role `type:"structure" required:"true"`
  10685. }
  10686. // String returns the string representation
  10687. func (s CreateRoleOutput) String() string {
  10688. return awsutil.Prettify(s)
  10689. }
  10690. // GoString returns the string representation
  10691. func (s CreateRoleOutput) GoString() string {
  10692. return s.String()
  10693. }
  10694. type CreateSAMLProviderInput struct {
  10695. _ struct{} `type:"structure"`
  10696. // The name of the provider to create.
  10697. //
  10698. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  10699. // a string of characters consisting of upper and lowercase alphanumeric characters
  10700. // with no spaces. You can also include any of the following characters: =,.@-
  10701. //
  10702. // Name is a required field
  10703. Name *string `min:"1" type:"string" required:"true"`
  10704. // An XML document generated by an identity provider (IdP) that supports SAML
  10705. // 2.0. The document includes the issuer's name, expiration information, and
  10706. // keys that can be used to validate the SAML authentication response (assertions)
  10707. // that are received from the IdP. You must generate the metadata document using
  10708. // the identity management software that is used as your organization's IdP.
  10709. //
  10710. // For more information, see About SAML 2.0-based Federation (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml.html)
  10711. // in the IAM User Guide
  10712. //
  10713. // SAMLMetadataDocument is a required field
  10714. SAMLMetadataDocument *string `min:"1000" type:"string" required:"true"`
  10715. }
  10716. // String returns the string representation
  10717. func (s CreateSAMLProviderInput) String() string {
  10718. return awsutil.Prettify(s)
  10719. }
  10720. // GoString returns the string representation
  10721. func (s CreateSAMLProviderInput) GoString() string {
  10722. return s.String()
  10723. }
  10724. // Validate inspects the fields of the type to determine if they are valid.
  10725. func (s *CreateSAMLProviderInput) Validate() error {
  10726. invalidParams := request.ErrInvalidParams{Context: "CreateSAMLProviderInput"}
  10727. if s.Name == nil {
  10728. invalidParams.Add(request.NewErrParamRequired("Name"))
  10729. }
  10730. if s.Name != nil && len(*s.Name) < 1 {
  10731. invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  10732. }
  10733. if s.SAMLMetadataDocument == nil {
  10734. invalidParams.Add(request.NewErrParamRequired("SAMLMetadataDocument"))
  10735. }
  10736. if s.SAMLMetadataDocument != nil && len(*s.SAMLMetadataDocument) < 1000 {
  10737. invalidParams.Add(request.NewErrParamMinLen("SAMLMetadataDocument", 1000))
  10738. }
  10739. if invalidParams.Len() > 0 {
  10740. return invalidParams
  10741. }
  10742. return nil
  10743. }
  10744. // Contains the response to a successful CreateSAMLProvider request.
  10745. type CreateSAMLProviderOutput struct {
  10746. _ struct{} `type:"structure"`
  10747. // The Amazon Resource Name (ARN) of the new SAML provider resource in IAM.
  10748. SAMLProviderArn *string `min:"20" type:"string"`
  10749. }
  10750. // String returns the string representation
  10751. func (s CreateSAMLProviderOutput) String() string {
  10752. return awsutil.Prettify(s)
  10753. }
  10754. // GoString returns the string representation
  10755. func (s CreateSAMLProviderOutput) GoString() string {
  10756. return s.String()
  10757. }
  10758. type CreateUserInput struct {
  10759. _ struct{} `type:"structure"`
  10760. // The path for the user name. For more information about paths, see IAM Identifiers
  10761. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  10762. // in the IAM User Guide.
  10763. //
  10764. // This parameter is optional. If it is not included, it defaults to a slash
  10765. // (/).
  10766. //
  10767. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  10768. // a string of characters consisting of either a forward slash (/) by itself
  10769. // or a string that must begin and end with forward slashes, containing any
  10770. // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including
  10771. // most punctuation characters, digits, and upper and lowercased letters.
  10772. Path *string `min:"1" type:"string"`
  10773. // The name of the user to create.
  10774. //
  10775. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  10776. // a string of characters consisting of upper and lowercase alphanumeric characters
  10777. // with no spaces. You can also include any of the following characters: =,.@-.
  10778. // User names are not distinguished by case. For example, you cannot create
  10779. // users named both "TESTUSER" and "testuser".
  10780. //
  10781. // UserName is a required field
  10782. UserName *string `min:"1" type:"string" required:"true"`
  10783. }
  10784. // String returns the string representation
  10785. func (s CreateUserInput) String() string {
  10786. return awsutil.Prettify(s)
  10787. }
  10788. // GoString returns the string representation
  10789. func (s CreateUserInput) GoString() string {
  10790. return s.String()
  10791. }
  10792. // Validate inspects the fields of the type to determine if they are valid.
  10793. func (s *CreateUserInput) Validate() error {
  10794. invalidParams := request.ErrInvalidParams{Context: "CreateUserInput"}
  10795. if s.Path != nil && len(*s.Path) < 1 {
  10796. invalidParams.Add(request.NewErrParamMinLen("Path", 1))
  10797. }
  10798. if s.UserName == nil {
  10799. invalidParams.Add(request.NewErrParamRequired("UserName"))
  10800. }
  10801. if s.UserName != nil && len(*s.UserName) < 1 {
  10802. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  10803. }
  10804. if invalidParams.Len() > 0 {
  10805. return invalidParams
  10806. }
  10807. return nil
  10808. }
  10809. // Contains the response to a successful CreateUser request.
  10810. type CreateUserOutput struct {
  10811. _ struct{} `type:"structure"`
  10812. // A structure with details about the new IAM user.
  10813. User *User `type:"structure"`
  10814. }
  10815. // String returns the string representation
  10816. func (s CreateUserOutput) String() string {
  10817. return awsutil.Prettify(s)
  10818. }
  10819. // GoString returns the string representation
  10820. func (s CreateUserOutput) GoString() string {
  10821. return s.String()
  10822. }
  10823. type CreateVirtualMFADeviceInput struct {
  10824. _ struct{} `type:"structure"`
  10825. // The path for the virtual MFA device. For more information about paths, see
  10826. // IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  10827. // in the IAM User Guide.
  10828. //
  10829. // This parameter is optional. If it is not included, it defaults to a slash
  10830. // (/).
  10831. //
  10832. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  10833. // a string of characters consisting of either a forward slash (/) by itself
  10834. // or a string that must begin and end with forward slashes, containing any
  10835. // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including
  10836. // most punctuation characters, digits, and upper and lowercased letters.
  10837. Path *string `min:"1" type:"string"`
  10838. // The name of the virtual MFA device. Use with path to uniquely identify a
  10839. // virtual MFA device.
  10840. //
  10841. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  10842. // a string of characters consisting of upper and lowercase alphanumeric characters
  10843. // with no spaces. You can also include any of the following characters: =,.@-
  10844. //
  10845. // VirtualMFADeviceName is a required field
  10846. VirtualMFADeviceName *string `min:"1" type:"string" required:"true"`
  10847. }
  10848. // String returns the string representation
  10849. func (s CreateVirtualMFADeviceInput) String() string {
  10850. return awsutil.Prettify(s)
  10851. }
  10852. // GoString returns the string representation
  10853. func (s CreateVirtualMFADeviceInput) GoString() string {
  10854. return s.String()
  10855. }
  10856. // Validate inspects the fields of the type to determine if they are valid.
  10857. func (s *CreateVirtualMFADeviceInput) Validate() error {
  10858. invalidParams := request.ErrInvalidParams{Context: "CreateVirtualMFADeviceInput"}
  10859. if s.Path != nil && len(*s.Path) < 1 {
  10860. invalidParams.Add(request.NewErrParamMinLen("Path", 1))
  10861. }
  10862. if s.VirtualMFADeviceName == nil {
  10863. invalidParams.Add(request.NewErrParamRequired("VirtualMFADeviceName"))
  10864. }
  10865. if s.VirtualMFADeviceName != nil && len(*s.VirtualMFADeviceName) < 1 {
  10866. invalidParams.Add(request.NewErrParamMinLen("VirtualMFADeviceName", 1))
  10867. }
  10868. if invalidParams.Len() > 0 {
  10869. return invalidParams
  10870. }
  10871. return nil
  10872. }
  10873. // Contains the response to a successful CreateVirtualMFADevice request.
  10874. type CreateVirtualMFADeviceOutput struct {
  10875. _ struct{} `type:"structure"`
  10876. // A structure containing details about the new virtual MFA device.
  10877. //
  10878. // VirtualMFADevice is a required field
  10879. VirtualMFADevice *VirtualMFADevice `type:"structure" required:"true"`
  10880. }
  10881. // String returns the string representation
  10882. func (s CreateVirtualMFADeviceOutput) String() string {
  10883. return awsutil.Prettify(s)
  10884. }
  10885. // GoString returns the string representation
  10886. func (s CreateVirtualMFADeviceOutput) GoString() string {
  10887. return s.String()
  10888. }
  10889. type DeactivateMFADeviceInput struct {
  10890. _ struct{} `type:"structure"`
  10891. // The serial number that uniquely identifies the MFA device. For virtual MFA
  10892. // devices, the serial number is the device ARN.
  10893. //
  10894. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  10895. // a string of characters consisting of upper and lowercase alphanumeric characters
  10896. // with no spaces. You can also include any of the following characters: =/:,.@-
  10897. //
  10898. // SerialNumber is a required field
  10899. SerialNumber *string `min:"9" type:"string" required:"true"`
  10900. // The name of the user whose MFA device you want to deactivate.
  10901. //
  10902. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  10903. // a string of characters consisting of upper and lowercase alphanumeric characters
  10904. // with no spaces. You can also include any of the following characters: =,.@-
  10905. //
  10906. // UserName is a required field
  10907. UserName *string `min:"1" type:"string" required:"true"`
  10908. }
  10909. // String returns the string representation
  10910. func (s DeactivateMFADeviceInput) String() string {
  10911. return awsutil.Prettify(s)
  10912. }
  10913. // GoString returns the string representation
  10914. func (s DeactivateMFADeviceInput) GoString() string {
  10915. return s.String()
  10916. }
  10917. // Validate inspects the fields of the type to determine if they are valid.
  10918. func (s *DeactivateMFADeviceInput) Validate() error {
  10919. invalidParams := request.ErrInvalidParams{Context: "DeactivateMFADeviceInput"}
  10920. if s.SerialNumber == nil {
  10921. invalidParams.Add(request.NewErrParamRequired("SerialNumber"))
  10922. }
  10923. if s.SerialNumber != nil && len(*s.SerialNumber) < 9 {
  10924. invalidParams.Add(request.NewErrParamMinLen("SerialNumber", 9))
  10925. }
  10926. if s.UserName == nil {
  10927. invalidParams.Add(request.NewErrParamRequired("UserName"))
  10928. }
  10929. if s.UserName != nil && len(*s.UserName) < 1 {
  10930. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  10931. }
  10932. if invalidParams.Len() > 0 {
  10933. return invalidParams
  10934. }
  10935. return nil
  10936. }
  10937. type DeactivateMFADeviceOutput struct {
  10938. _ struct{} `type:"structure"`
  10939. }
  10940. // String returns the string representation
  10941. func (s DeactivateMFADeviceOutput) String() string {
  10942. return awsutil.Prettify(s)
  10943. }
  10944. // GoString returns the string representation
  10945. func (s DeactivateMFADeviceOutput) GoString() string {
  10946. return s.String()
  10947. }
  10948. type DeleteAccessKeyInput struct {
  10949. _ struct{} `type:"structure"`
  10950. // The access key ID for the access key ID and secret access key you want to
  10951. // delete.
  10952. //
  10953. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  10954. // a string of characters that can consist of any upper or lowercased letter
  10955. // or digit.
  10956. //
  10957. // AccessKeyId is a required field
  10958. AccessKeyId *string `min:"16" type:"string" required:"true"`
  10959. // The name of the user whose access key pair you want to delete.
  10960. //
  10961. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  10962. // a string of characters consisting of upper and lowercase alphanumeric characters
  10963. // with no spaces. You can also include any of the following characters: =,.@-
  10964. UserName *string `min:"1" type:"string"`
  10965. }
  10966. // String returns the string representation
  10967. func (s DeleteAccessKeyInput) String() string {
  10968. return awsutil.Prettify(s)
  10969. }
  10970. // GoString returns the string representation
  10971. func (s DeleteAccessKeyInput) GoString() string {
  10972. return s.String()
  10973. }
  10974. // Validate inspects the fields of the type to determine if they are valid.
  10975. func (s *DeleteAccessKeyInput) Validate() error {
  10976. invalidParams := request.ErrInvalidParams{Context: "DeleteAccessKeyInput"}
  10977. if s.AccessKeyId == nil {
  10978. invalidParams.Add(request.NewErrParamRequired("AccessKeyId"))
  10979. }
  10980. if s.AccessKeyId != nil && len(*s.AccessKeyId) < 16 {
  10981. invalidParams.Add(request.NewErrParamMinLen("AccessKeyId", 16))
  10982. }
  10983. if s.UserName != nil && len(*s.UserName) < 1 {
  10984. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  10985. }
  10986. if invalidParams.Len() > 0 {
  10987. return invalidParams
  10988. }
  10989. return nil
  10990. }
  10991. type DeleteAccessKeyOutput struct {
  10992. _ struct{} `type:"structure"`
  10993. }
  10994. // String returns the string representation
  10995. func (s DeleteAccessKeyOutput) String() string {
  10996. return awsutil.Prettify(s)
  10997. }
  10998. // GoString returns the string representation
  10999. func (s DeleteAccessKeyOutput) GoString() string {
  11000. return s.String()
  11001. }
  11002. type DeleteAccountAliasInput struct {
  11003. _ struct{} `type:"structure"`
  11004. // The name of the account alias to delete.
  11005. //
  11006. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  11007. // a string of characters consisting of lowercase letters, digits, and dashes.
  11008. // You cannot start or finish with a dash, nor can you have two dashes in a
  11009. // row.
  11010. //
  11011. // AccountAlias is a required field
  11012. AccountAlias *string `min:"3" type:"string" required:"true"`
  11013. }
  11014. // String returns the string representation
  11015. func (s DeleteAccountAliasInput) String() string {
  11016. return awsutil.Prettify(s)
  11017. }
  11018. // GoString returns the string representation
  11019. func (s DeleteAccountAliasInput) GoString() string {
  11020. return s.String()
  11021. }
  11022. // Validate inspects the fields of the type to determine if they are valid.
  11023. func (s *DeleteAccountAliasInput) Validate() error {
  11024. invalidParams := request.ErrInvalidParams{Context: "DeleteAccountAliasInput"}
  11025. if s.AccountAlias == nil {
  11026. invalidParams.Add(request.NewErrParamRequired("AccountAlias"))
  11027. }
  11028. if s.AccountAlias != nil && len(*s.AccountAlias) < 3 {
  11029. invalidParams.Add(request.NewErrParamMinLen("AccountAlias", 3))
  11030. }
  11031. if invalidParams.Len() > 0 {
  11032. return invalidParams
  11033. }
  11034. return nil
  11035. }
  11036. type DeleteAccountAliasOutput struct {
  11037. _ struct{} `type:"structure"`
  11038. }
  11039. // String returns the string representation
  11040. func (s DeleteAccountAliasOutput) String() string {
  11041. return awsutil.Prettify(s)
  11042. }
  11043. // GoString returns the string representation
  11044. func (s DeleteAccountAliasOutput) GoString() string {
  11045. return s.String()
  11046. }
  11047. type DeleteAccountPasswordPolicyInput struct {
  11048. _ struct{} `type:"structure"`
  11049. }
  11050. // String returns the string representation
  11051. func (s DeleteAccountPasswordPolicyInput) String() string {
  11052. return awsutil.Prettify(s)
  11053. }
  11054. // GoString returns the string representation
  11055. func (s DeleteAccountPasswordPolicyInput) GoString() string {
  11056. return s.String()
  11057. }
  11058. type DeleteAccountPasswordPolicyOutput struct {
  11059. _ struct{} `type:"structure"`
  11060. }
  11061. // String returns the string representation
  11062. func (s DeleteAccountPasswordPolicyOutput) String() string {
  11063. return awsutil.Prettify(s)
  11064. }
  11065. // GoString returns the string representation
  11066. func (s DeleteAccountPasswordPolicyOutput) GoString() string {
  11067. return s.String()
  11068. }
  11069. type DeleteGroupInput struct {
  11070. _ struct{} `type:"structure"`
  11071. // The name of the IAM group to delete.
  11072. //
  11073. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  11074. // a string of characters consisting of upper and lowercase alphanumeric characters
  11075. // with no spaces. You can also include any of the following characters: =,.@-
  11076. //
  11077. // GroupName is a required field
  11078. GroupName *string `min:"1" type:"string" required:"true"`
  11079. }
  11080. // String returns the string representation
  11081. func (s DeleteGroupInput) String() string {
  11082. return awsutil.Prettify(s)
  11083. }
  11084. // GoString returns the string representation
  11085. func (s DeleteGroupInput) GoString() string {
  11086. return s.String()
  11087. }
  11088. // Validate inspects the fields of the type to determine if they are valid.
  11089. func (s *DeleteGroupInput) Validate() error {
  11090. invalidParams := request.ErrInvalidParams{Context: "DeleteGroupInput"}
  11091. if s.GroupName == nil {
  11092. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  11093. }
  11094. if s.GroupName != nil && len(*s.GroupName) < 1 {
  11095. invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
  11096. }
  11097. if invalidParams.Len() > 0 {
  11098. return invalidParams
  11099. }
  11100. return nil
  11101. }
  11102. type DeleteGroupOutput struct {
  11103. _ struct{} `type:"structure"`
  11104. }
  11105. // String returns the string representation
  11106. func (s DeleteGroupOutput) String() string {
  11107. return awsutil.Prettify(s)
  11108. }
  11109. // GoString returns the string representation
  11110. func (s DeleteGroupOutput) GoString() string {
  11111. return s.String()
  11112. }
  11113. type DeleteGroupPolicyInput struct {
  11114. _ struct{} `type:"structure"`
  11115. // The name (friendly name, not ARN) identifying the group that the policy is
  11116. // embedded in.
  11117. //
  11118. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  11119. // a string of characters consisting of upper and lowercase alphanumeric characters
  11120. // with no spaces. You can also include any of the following characters: =,.@-
  11121. //
  11122. // GroupName is a required field
  11123. GroupName *string `min:"1" type:"string" required:"true"`
  11124. // The name identifying the policy document to delete.
  11125. //
  11126. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  11127. // a string of characters consisting of upper and lowercase alphanumeric characters
  11128. // with no spaces. You can also include any of the following characters: =,.@-
  11129. //
  11130. // PolicyName is a required field
  11131. PolicyName *string `min:"1" type:"string" required:"true"`
  11132. }
  11133. // String returns the string representation
  11134. func (s DeleteGroupPolicyInput) String() string {
  11135. return awsutil.Prettify(s)
  11136. }
  11137. // GoString returns the string representation
  11138. func (s DeleteGroupPolicyInput) GoString() string {
  11139. return s.String()
  11140. }
  11141. // Validate inspects the fields of the type to determine if they are valid.
  11142. func (s *DeleteGroupPolicyInput) Validate() error {
  11143. invalidParams := request.ErrInvalidParams{Context: "DeleteGroupPolicyInput"}
  11144. if s.GroupName == nil {
  11145. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  11146. }
  11147. if s.GroupName != nil && len(*s.GroupName) < 1 {
  11148. invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
  11149. }
  11150. if s.PolicyName == nil {
  11151. invalidParams.Add(request.NewErrParamRequired("PolicyName"))
  11152. }
  11153. if s.PolicyName != nil && len(*s.PolicyName) < 1 {
  11154. invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
  11155. }
  11156. if invalidParams.Len() > 0 {
  11157. return invalidParams
  11158. }
  11159. return nil
  11160. }
  11161. type DeleteGroupPolicyOutput struct {
  11162. _ struct{} `type:"structure"`
  11163. }
  11164. // String returns the string representation
  11165. func (s DeleteGroupPolicyOutput) String() string {
  11166. return awsutil.Prettify(s)
  11167. }
  11168. // GoString returns the string representation
  11169. func (s DeleteGroupPolicyOutput) GoString() string {
  11170. return s.String()
  11171. }
  11172. type DeleteInstanceProfileInput struct {
  11173. _ struct{} `type:"structure"`
  11174. // The name of the instance profile to delete.
  11175. //
  11176. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  11177. // a string of characters consisting of upper and lowercase alphanumeric characters
  11178. // with no spaces. You can also include any of the following characters: =,.@-
  11179. //
  11180. // InstanceProfileName is a required field
  11181. InstanceProfileName *string `min:"1" type:"string" required:"true"`
  11182. }
  11183. // String returns the string representation
  11184. func (s DeleteInstanceProfileInput) String() string {
  11185. return awsutil.Prettify(s)
  11186. }
  11187. // GoString returns the string representation
  11188. func (s DeleteInstanceProfileInput) GoString() string {
  11189. return s.String()
  11190. }
  11191. // Validate inspects the fields of the type to determine if they are valid.
  11192. func (s *DeleteInstanceProfileInput) Validate() error {
  11193. invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceProfileInput"}
  11194. if s.InstanceProfileName == nil {
  11195. invalidParams.Add(request.NewErrParamRequired("InstanceProfileName"))
  11196. }
  11197. if s.InstanceProfileName != nil && len(*s.InstanceProfileName) < 1 {
  11198. invalidParams.Add(request.NewErrParamMinLen("InstanceProfileName", 1))
  11199. }
  11200. if invalidParams.Len() > 0 {
  11201. return invalidParams
  11202. }
  11203. return nil
  11204. }
  11205. type DeleteInstanceProfileOutput struct {
  11206. _ struct{} `type:"structure"`
  11207. }
  11208. // String returns the string representation
  11209. func (s DeleteInstanceProfileOutput) String() string {
  11210. return awsutil.Prettify(s)
  11211. }
  11212. // GoString returns the string representation
  11213. func (s DeleteInstanceProfileOutput) GoString() string {
  11214. return s.String()
  11215. }
  11216. type DeleteLoginProfileInput struct {
  11217. _ struct{} `type:"structure"`
  11218. // The name of the user whose password you want to delete.
  11219. //
  11220. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  11221. // a string of characters consisting of upper and lowercase alphanumeric characters
  11222. // with no spaces. You can also include any of the following characters: =,.@-
  11223. //
  11224. // UserName is a required field
  11225. UserName *string `min:"1" type:"string" required:"true"`
  11226. }
  11227. // String returns the string representation
  11228. func (s DeleteLoginProfileInput) String() string {
  11229. return awsutil.Prettify(s)
  11230. }
  11231. // GoString returns the string representation
  11232. func (s DeleteLoginProfileInput) GoString() string {
  11233. return s.String()
  11234. }
  11235. // Validate inspects the fields of the type to determine if they are valid.
  11236. func (s *DeleteLoginProfileInput) Validate() error {
  11237. invalidParams := request.ErrInvalidParams{Context: "DeleteLoginProfileInput"}
  11238. if s.UserName == nil {
  11239. invalidParams.Add(request.NewErrParamRequired("UserName"))
  11240. }
  11241. if s.UserName != nil && len(*s.UserName) < 1 {
  11242. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  11243. }
  11244. if invalidParams.Len() > 0 {
  11245. return invalidParams
  11246. }
  11247. return nil
  11248. }
  11249. type DeleteLoginProfileOutput struct {
  11250. _ struct{} `type:"structure"`
  11251. }
  11252. // String returns the string representation
  11253. func (s DeleteLoginProfileOutput) String() string {
  11254. return awsutil.Prettify(s)
  11255. }
  11256. // GoString returns the string representation
  11257. func (s DeleteLoginProfileOutput) GoString() string {
  11258. return s.String()
  11259. }
  11260. type DeleteOpenIDConnectProviderInput struct {
  11261. _ struct{} `type:"structure"`
  11262. // The Amazon Resource Name (ARN) of the IAM OpenID Connect provider resource
  11263. // object to delete. You can get a list of OpenID Connect provider resource
  11264. // ARNs by using the ListOpenIDConnectProviders action.
  11265. //
  11266. // OpenIDConnectProviderArn is a required field
  11267. OpenIDConnectProviderArn *string `min:"20" type:"string" required:"true"`
  11268. }
  11269. // String returns the string representation
  11270. func (s DeleteOpenIDConnectProviderInput) String() string {
  11271. return awsutil.Prettify(s)
  11272. }
  11273. // GoString returns the string representation
  11274. func (s DeleteOpenIDConnectProviderInput) GoString() string {
  11275. return s.String()
  11276. }
  11277. // Validate inspects the fields of the type to determine if they are valid.
  11278. func (s *DeleteOpenIDConnectProviderInput) Validate() error {
  11279. invalidParams := request.ErrInvalidParams{Context: "DeleteOpenIDConnectProviderInput"}
  11280. if s.OpenIDConnectProviderArn == nil {
  11281. invalidParams.Add(request.NewErrParamRequired("OpenIDConnectProviderArn"))
  11282. }
  11283. if s.OpenIDConnectProviderArn != nil && len(*s.OpenIDConnectProviderArn) < 20 {
  11284. invalidParams.Add(request.NewErrParamMinLen("OpenIDConnectProviderArn", 20))
  11285. }
  11286. if invalidParams.Len() > 0 {
  11287. return invalidParams
  11288. }
  11289. return nil
  11290. }
  11291. type DeleteOpenIDConnectProviderOutput struct {
  11292. _ struct{} `type:"structure"`
  11293. }
  11294. // String returns the string representation
  11295. func (s DeleteOpenIDConnectProviderOutput) String() string {
  11296. return awsutil.Prettify(s)
  11297. }
  11298. // GoString returns the string representation
  11299. func (s DeleteOpenIDConnectProviderOutput) GoString() string {
  11300. return s.String()
  11301. }
  11302. type DeletePolicyInput struct {
  11303. _ struct{} `type:"structure"`
  11304. // The Amazon Resource Name (ARN) of the IAM policy you want to delete.
  11305. //
  11306. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  11307. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  11308. // in the AWS General Reference.
  11309. //
  11310. // PolicyArn is a required field
  11311. PolicyArn *string `min:"20" type:"string" required:"true"`
  11312. }
  11313. // String returns the string representation
  11314. func (s DeletePolicyInput) String() string {
  11315. return awsutil.Prettify(s)
  11316. }
  11317. // GoString returns the string representation
  11318. func (s DeletePolicyInput) GoString() string {
  11319. return s.String()
  11320. }
  11321. // Validate inspects the fields of the type to determine if they are valid.
  11322. func (s *DeletePolicyInput) Validate() error {
  11323. invalidParams := request.ErrInvalidParams{Context: "DeletePolicyInput"}
  11324. if s.PolicyArn == nil {
  11325. invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
  11326. }
  11327. if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
  11328. invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
  11329. }
  11330. if invalidParams.Len() > 0 {
  11331. return invalidParams
  11332. }
  11333. return nil
  11334. }
  11335. type DeletePolicyOutput struct {
  11336. _ struct{} `type:"structure"`
  11337. }
  11338. // String returns the string representation
  11339. func (s DeletePolicyOutput) String() string {
  11340. return awsutil.Prettify(s)
  11341. }
  11342. // GoString returns the string representation
  11343. func (s DeletePolicyOutput) GoString() string {
  11344. return s.String()
  11345. }
  11346. type DeletePolicyVersionInput struct {
  11347. _ struct{} `type:"structure"`
  11348. // The Amazon Resource Name (ARN) of the IAM policy from which you want to delete
  11349. // a version.
  11350. //
  11351. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  11352. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  11353. // in the AWS General Reference.
  11354. //
  11355. // PolicyArn is a required field
  11356. PolicyArn *string `min:"20" type:"string" required:"true"`
  11357. // The policy version to delete.
  11358. //
  11359. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  11360. // a string of characters that consists of the lowercase letter 'v' followed
  11361. // by one or two digits, and optionally followed by a period '.' and a string
  11362. // of letters and digits.
  11363. //
  11364. // For more information about managed policy versions, see Versioning for Managed
  11365. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
  11366. // in the IAM User Guide.
  11367. //
  11368. // VersionId is a required field
  11369. VersionId *string `type:"string" required:"true"`
  11370. }
  11371. // String returns the string representation
  11372. func (s DeletePolicyVersionInput) String() string {
  11373. return awsutil.Prettify(s)
  11374. }
  11375. // GoString returns the string representation
  11376. func (s DeletePolicyVersionInput) GoString() string {
  11377. return s.String()
  11378. }
  11379. // Validate inspects the fields of the type to determine if they are valid.
  11380. func (s *DeletePolicyVersionInput) Validate() error {
  11381. invalidParams := request.ErrInvalidParams{Context: "DeletePolicyVersionInput"}
  11382. if s.PolicyArn == nil {
  11383. invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
  11384. }
  11385. if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
  11386. invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
  11387. }
  11388. if s.VersionId == nil {
  11389. invalidParams.Add(request.NewErrParamRequired("VersionId"))
  11390. }
  11391. if invalidParams.Len() > 0 {
  11392. return invalidParams
  11393. }
  11394. return nil
  11395. }
  11396. type DeletePolicyVersionOutput struct {
  11397. _ struct{} `type:"structure"`
  11398. }
  11399. // String returns the string representation
  11400. func (s DeletePolicyVersionOutput) String() string {
  11401. return awsutil.Prettify(s)
  11402. }
  11403. // GoString returns the string representation
  11404. func (s DeletePolicyVersionOutput) GoString() string {
  11405. return s.String()
  11406. }
  11407. type DeleteRoleInput struct {
  11408. _ struct{} `type:"structure"`
  11409. // The name of the role to delete.
  11410. //
  11411. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  11412. // a string of characters consisting of upper and lowercase alphanumeric characters
  11413. // with no spaces. You can also include any of the following characters: =,.@-
  11414. //
  11415. // RoleName is a required field
  11416. RoleName *string `min:"1" type:"string" required:"true"`
  11417. }
  11418. // String returns the string representation
  11419. func (s DeleteRoleInput) String() string {
  11420. return awsutil.Prettify(s)
  11421. }
  11422. // GoString returns the string representation
  11423. func (s DeleteRoleInput) GoString() string {
  11424. return s.String()
  11425. }
  11426. // Validate inspects the fields of the type to determine if they are valid.
  11427. func (s *DeleteRoleInput) Validate() error {
  11428. invalidParams := request.ErrInvalidParams{Context: "DeleteRoleInput"}
  11429. if s.RoleName == nil {
  11430. invalidParams.Add(request.NewErrParamRequired("RoleName"))
  11431. }
  11432. if s.RoleName != nil && len(*s.RoleName) < 1 {
  11433. invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
  11434. }
  11435. if invalidParams.Len() > 0 {
  11436. return invalidParams
  11437. }
  11438. return nil
  11439. }
  11440. type DeleteRoleOutput struct {
  11441. _ struct{} `type:"structure"`
  11442. }
  11443. // String returns the string representation
  11444. func (s DeleteRoleOutput) String() string {
  11445. return awsutil.Prettify(s)
  11446. }
  11447. // GoString returns the string representation
  11448. func (s DeleteRoleOutput) GoString() string {
  11449. return s.String()
  11450. }
  11451. type DeleteRolePolicyInput struct {
  11452. _ struct{} `type:"structure"`
  11453. // The name of the inline policy to delete from the specified IAM role.
  11454. //
  11455. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  11456. // a string of characters consisting of upper and lowercase alphanumeric characters
  11457. // with no spaces. You can also include any of the following characters: =,.@-
  11458. //
  11459. // PolicyName is a required field
  11460. PolicyName *string `min:"1" type:"string" required:"true"`
  11461. // The name (friendly name, not ARN) identifying the role that the policy is
  11462. // embedded in.
  11463. //
  11464. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  11465. // a string of characters consisting of upper and lowercase alphanumeric characters
  11466. // with no spaces. You can also include any of the following characters: =,.@-
  11467. //
  11468. // RoleName is a required field
  11469. RoleName *string `min:"1" type:"string" required:"true"`
  11470. }
  11471. // String returns the string representation
  11472. func (s DeleteRolePolicyInput) String() string {
  11473. return awsutil.Prettify(s)
  11474. }
  11475. // GoString returns the string representation
  11476. func (s DeleteRolePolicyInput) GoString() string {
  11477. return s.String()
  11478. }
  11479. // Validate inspects the fields of the type to determine if they are valid.
  11480. func (s *DeleteRolePolicyInput) Validate() error {
  11481. invalidParams := request.ErrInvalidParams{Context: "DeleteRolePolicyInput"}
  11482. if s.PolicyName == nil {
  11483. invalidParams.Add(request.NewErrParamRequired("PolicyName"))
  11484. }
  11485. if s.PolicyName != nil && len(*s.PolicyName) < 1 {
  11486. invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
  11487. }
  11488. if s.RoleName == nil {
  11489. invalidParams.Add(request.NewErrParamRequired("RoleName"))
  11490. }
  11491. if s.RoleName != nil && len(*s.RoleName) < 1 {
  11492. invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
  11493. }
  11494. if invalidParams.Len() > 0 {
  11495. return invalidParams
  11496. }
  11497. return nil
  11498. }
  11499. type DeleteRolePolicyOutput struct {
  11500. _ struct{} `type:"structure"`
  11501. }
  11502. // String returns the string representation
  11503. func (s DeleteRolePolicyOutput) String() string {
  11504. return awsutil.Prettify(s)
  11505. }
  11506. // GoString returns the string representation
  11507. func (s DeleteRolePolicyOutput) GoString() string {
  11508. return s.String()
  11509. }
  11510. type DeleteSAMLProviderInput struct {
  11511. _ struct{} `type:"structure"`
  11512. // The Amazon Resource Name (ARN) of the SAML provider to delete.
  11513. //
  11514. // SAMLProviderArn is a required field
  11515. SAMLProviderArn *string `min:"20" type:"string" required:"true"`
  11516. }
  11517. // String returns the string representation
  11518. func (s DeleteSAMLProviderInput) String() string {
  11519. return awsutil.Prettify(s)
  11520. }
  11521. // GoString returns the string representation
  11522. func (s DeleteSAMLProviderInput) GoString() string {
  11523. return s.String()
  11524. }
  11525. // Validate inspects the fields of the type to determine if they are valid.
  11526. func (s *DeleteSAMLProviderInput) Validate() error {
  11527. invalidParams := request.ErrInvalidParams{Context: "DeleteSAMLProviderInput"}
  11528. if s.SAMLProviderArn == nil {
  11529. invalidParams.Add(request.NewErrParamRequired("SAMLProviderArn"))
  11530. }
  11531. if s.SAMLProviderArn != nil && len(*s.SAMLProviderArn) < 20 {
  11532. invalidParams.Add(request.NewErrParamMinLen("SAMLProviderArn", 20))
  11533. }
  11534. if invalidParams.Len() > 0 {
  11535. return invalidParams
  11536. }
  11537. return nil
  11538. }
  11539. type DeleteSAMLProviderOutput struct {
  11540. _ struct{} `type:"structure"`
  11541. }
  11542. // String returns the string representation
  11543. func (s DeleteSAMLProviderOutput) String() string {
  11544. return awsutil.Prettify(s)
  11545. }
  11546. // GoString returns the string representation
  11547. func (s DeleteSAMLProviderOutput) GoString() string {
  11548. return s.String()
  11549. }
  11550. type DeleteSSHPublicKeyInput struct {
  11551. _ struct{} `type:"structure"`
  11552. // The unique identifier for the SSH public key.
  11553. //
  11554. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  11555. // a string of characters that can consist of any upper or lowercased letter
  11556. // or digit.
  11557. //
  11558. // SSHPublicKeyId is a required field
  11559. SSHPublicKeyId *string `min:"20" type:"string" required:"true"`
  11560. // The name of the IAM user associated with the SSH public key.
  11561. //
  11562. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  11563. // a string of characters consisting of upper and lowercase alphanumeric characters
  11564. // with no spaces. You can also include any of the following characters: =,.@-
  11565. //
  11566. // UserName is a required field
  11567. UserName *string `min:"1" type:"string" required:"true"`
  11568. }
  11569. // String returns the string representation
  11570. func (s DeleteSSHPublicKeyInput) String() string {
  11571. return awsutil.Prettify(s)
  11572. }
  11573. // GoString returns the string representation
  11574. func (s DeleteSSHPublicKeyInput) GoString() string {
  11575. return s.String()
  11576. }
  11577. // Validate inspects the fields of the type to determine if they are valid.
  11578. func (s *DeleteSSHPublicKeyInput) Validate() error {
  11579. invalidParams := request.ErrInvalidParams{Context: "DeleteSSHPublicKeyInput"}
  11580. if s.SSHPublicKeyId == nil {
  11581. invalidParams.Add(request.NewErrParamRequired("SSHPublicKeyId"))
  11582. }
  11583. if s.SSHPublicKeyId != nil && len(*s.SSHPublicKeyId) < 20 {
  11584. invalidParams.Add(request.NewErrParamMinLen("SSHPublicKeyId", 20))
  11585. }
  11586. if s.UserName == nil {
  11587. invalidParams.Add(request.NewErrParamRequired("UserName"))
  11588. }
  11589. if s.UserName != nil && len(*s.UserName) < 1 {
  11590. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  11591. }
  11592. if invalidParams.Len() > 0 {
  11593. return invalidParams
  11594. }
  11595. return nil
  11596. }
  11597. type DeleteSSHPublicKeyOutput struct {
  11598. _ struct{} `type:"structure"`
  11599. }
  11600. // String returns the string representation
  11601. func (s DeleteSSHPublicKeyOutput) String() string {
  11602. return awsutil.Prettify(s)
  11603. }
  11604. // GoString returns the string representation
  11605. func (s DeleteSSHPublicKeyOutput) GoString() string {
  11606. return s.String()
  11607. }
  11608. type DeleteServerCertificateInput struct {
  11609. _ struct{} `type:"structure"`
  11610. // The name of the server certificate you want to delete.
  11611. //
  11612. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  11613. // a string of characters consisting of upper and lowercase alphanumeric characters
  11614. // with no spaces. You can also include any of the following characters: =,.@-
  11615. //
  11616. // ServerCertificateName is a required field
  11617. ServerCertificateName *string `min:"1" type:"string" required:"true"`
  11618. }
  11619. // String returns the string representation
  11620. func (s DeleteServerCertificateInput) String() string {
  11621. return awsutil.Prettify(s)
  11622. }
  11623. // GoString returns the string representation
  11624. func (s DeleteServerCertificateInput) GoString() string {
  11625. return s.String()
  11626. }
  11627. // Validate inspects the fields of the type to determine if they are valid.
  11628. func (s *DeleteServerCertificateInput) Validate() error {
  11629. invalidParams := request.ErrInvalidParams{Context: "DeleteServerCertificateInput"}
  11630. if s.ServerCertificateName == nil {
  11631. invalidParams.Add(request.NewErrParamRequired("ServerCertificateName"))
  11632. }
  11633. if s.ServerCertificateName != nil && len(*s.ServerCertificateName) < 1 {
  11634. invalidParams.Add(request.NewErrParamMinLen("ServerCertificateName", 1))
  11635. }
  11636. if invalidParams.Len() > 0 {
  11637. return invalidParams
  11638. }
  11639. return nil
  11640. }
  11641. type DeleteServerCertificateOutput struct {
  11642. _ struct{} `type:"structure"`
  11643. }
  11644. // String returns the string representation
  11645. func (s DeleteServerCertificateOutput) String() string {
  11646. return awsutil.Prettify(s)
  11647. }
  11648. // GoString returns the string representation
  11649. func (s DeleteServerCertificateOutput) GoString() string {
  11650. return s.String()
  11651. }
  11652. type DeleteSigningCertificateInput struct {
  11653. _ struct{} `type:"structure"`
  11654. // The ID of the signing certificate to delete.
  11655. //
  11656. // The format of this parameter, as described by its regex (http://wikipedia.org/wiki/regex)
  11657. // pattern, is a string of characters that can be upper- or lower-cased letters
  11658. // or digits.
  11659. //
  11660. // CertificateId is a required field
  11661. CertificateId *string `min:"24" type:"string" required:"true"`
  11662. // The name of the user the signing certificate belongs to.
  11663. //
  11664. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  11665. // a string of characters consisting of upper and lowercase alphanumeric characters
  11666. // with no spaces. You can also include any of the following characters: =,.@-
  11667. UserName *string `min:"1" type:"string"`
  11668. }
  11669. // String returns the string representation
  11670. func (s DeleteSigningCertificateInput) String() string {
  11671. return awsutil.Prettify(s)
  11672. }
  11673. // GoString returns the string representation
  11674. func (s DeleteSigningCertificateInput) GoString() string {
  11675. return s.String()
  11676. }
  11677. // Validate inspects the fields of the type to determine if they are valid.
  11678. func (s *DeleteSigningCertificateInput) Validate() error {
  11679. invalidParams := request.ErrInvalidParams{Context: "DeleteSigningCertificateInput"}
  11680. if s.CertificateId == nil {
  11681. invalidParams.Add(request.NewErrParamRequired("CertificateId"))
  11682. }
  11683. if s.CertificateId != nil && len(*s.CertificateId) < 24 {
  11684. invalidParams.Add(request.NewErrParamMinLen("CertificateId", 24))
  11685. }
  11686. if s.UserName != nil && len(*s.UserName) < 1 {
  11687. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  11688. }
  11689. if invalidParams.Len() > 0 {
  11690. return invalidParams
  11691. }
  11692. return nil
  11693. }
  11694. type DeleteSigningCertificateOutput struct {
  11695. _ struct{} `type:"structure"`
  11696. }
  11697. // String returns the string representation
  11698. func (s DeleteSigningCertificateOutput) String() string {
  11699. return awsutil.Prettify(s)
  11700. }
  11701. // GoString returns the string representation
  11702. func (s DeleteSigningCertificateOutput) GoString() string {
  11703. return s.String()
  11704. }
  11705. type DeleteUserInput struct {
  11706. _ struct{} `type:"structure"`
  11707. // The name of the user to delete.
  11708. //
  11709. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  11710. // a string of characters consisting of upper and lowercase alphanumeric characters
  11711. // with no spaces. You can also include any of the following characters: =,.@-
  11712. //
  11713. // UserName is a required field
  11714. UserName *string `min:"1" type:"string" required:"true"`
  11715. }
  11716. // String returns the string representation
  11717. func (s DeleteUserInput) String() string {
  11718. return awsutil.Prettify(s)
  11719. }
  11720. // GoString returns the string representation
  11721. func (s DeleteUserInput) GoString() string {
  11722. return s.String()
  11723. }
  11724. // Validate inspects the fields of the type to determine if they are valid.
  11725. func (s *DeleteUserInput) Validate() error {
  11726. invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"}
  11727. if s.UserName == nil {
  11728. invalidParams.Add(request.NewErrParamRequired("UserName"))
  11729. }
  11730. if s.UserName != nil && len(*s.UserName) < 1 {
  11731. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  11732. }
  11733. if invalidParams.Len() > 0 {
  11734. return invalidParams
  11735. }
  11736. return nil
  11737. }
  11738. type DeleteUserOutput struct {
  11739. _ struct{} `type:"structure"`
  11740. }
  11741. // String returns the string representation
  11742. func (s DeleteUserOutput) String() string {
  11743. return awsutil.Prettify(s)
  11744. }
  11745. // GoString returns the string representation
  11746. func (s DeleteUserOutput) GoString() string {
  11747. return s.String()
  11748. }
  11749. type DeleteUserPolicyInput struct {
  11750. _ struct{} `type:"structure"`
  11751. // The name identifying the policy document to delete.
  11752. //
  11753. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  11754. // a string of characters consisting of upper and lowercase alphanumeric characters
  11755. // with no spaces. You can also include any of the following characters: =,.@-
  11756. //
  11757. // PolicyName is a required field
  11758. PolicyName *string `min:"1" type:"string" required:"true"`
  11759. // The name (friendly name, not ARN) identifying the user that the policy is
  11760. // embedded in.
  11761. //
  11762. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  11763. // a string of characters consisting of upper and lowercase alphanumeric characters
  11764. // with no spaces. You can also include any of the following characters: =,.@-
  11765. //
  11766. // UserName is a required field
  11767. UserName *string `min:"1" type:"string" required:"true"`
  11768. }
  11769. // String returns the string representation
  11770. func (s DeleteUserPolicyInput) String() string {
  11771. return awsutil.Prettify(s)
  11772. }
  11773. // GoString returns the string representation
  11774. func (s DeleteUserPolicyInput) GoString() string {
  11775. return s.String()
  11776. }
  11777. // Validate inspects the fields of the type to determine if they are valid.
  11778. func (s *DeleteUserPolicyInput) Validate() error {
  11779. invalidParams := request.ErrInvalidParams{Context: "DeleteUserPolicyInput"}
  11780. if s.PolicyName == nil {
  11781. invalidParams.Add(request.NewErrParamRequired("PolicyName"))
  11782. }
  11783. if s.PolicyName != nil && len(*s.PolicyName) < 1 {
  11784. invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
  11785. }
  11786. if s.UserName == nil {
  11787. invalidParams.Add(request.NewErrParamRequired("UserName"))
  11788. }
  11789. if s.UserName != nil && len(*s.UserName) < 1 {
  11790. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  11791. }
  11792. if invalidParams.Len() > 0 {
  11793. return invalidParams
  11794. }
  11795. return nil
  11796. }
  11797. type DeleteUserPolicyOutput struct {
  11798. _ struct{} `type:"structure"`
  11799. }
  11800. // String returns the string representation
  11801. func (s DeleteUserPolicyOutput) String() string {
  11802. return awsutil.Prettify(s)
  11803. }
  11804. // GoString returns the string representation
  11805. func (s DeleteUserPolicyOutput) GoString() string {
  11806. return s.String()
  11807. }
  11808. type DeleteVirtualMFADeviceInput struct {
  11809. _ struct{} `type:"structure"`
  11810. // The serial number that uniquely identifies the MFA device. For virtual MFA
  11811. // devices, the serial number is the same as the ARN.
  11812. //
  11813. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  11814. // a string of characters consisting of upper and lowercase alphanumeric characters
  11815. // with no spaces. You can also include any of the following characters: =/:,.@-
  11816. //
  11817. // SerialNumber is a required field
  11818. SerialNumber *string `min:"9" type:"string" required:"true"`
  11819. }
  11820. // String returns the string representation
  11821. func (s DeleteVirtualMFADeviceInput) String() string {
  11822. return awsutil.Prettify(s)
  11823. }
  11824. // GoString returns the string representation
  11825. func (s DeleteVirtualMFADeviceInput) GoString() string {
  11826. return s.String()
  11827. }
  11828. // Validate inspects the fields of the type to determine if they are valid.
  11829. func (s *DeleteVirtualMFADeviceInput) Validate() error {
  11830. invalidParams := request.ErrInvalidParams{Context: "DeleteVirtualMFADeviceInput"}
  11831. if s.SerialNumber == nil {
  11832. invalidParams.Add(request.NewErrParamRequired("SerialNumber"))
  11833. }
  11834. if s.SerialNumber != nil && len(*s.SerialNumber) < 9 {
  11835. invalidParams.Add(request.NewErrParamMinLen("SerialNumber", 9))
  11836. }
  11837. if invalidParams.Len() > 0 {
  11838. return invalidParams
  11839. }
  11840. return nil
  11841. }
  11842. type DeleteVirtualMFADeviceOutput struct {
  11843. _ struct{} `type:"structure"`
  11844. }
  11845. // String returns the string representation
  11846. func (s DeleteVirtualMFADeviceOutput) String() string {
  11847. return awsutil.Prettify(s)
  11848. }
  11849. // GoString returns the string representation
  11850. func (s DeleteVirtualMFADeviceOutput) GoString() string {
  11851. return s.String()
  11852. }
  11853. type DetachGroupPolicyInput struct {
  11854. _ struct{} `type:"structure"`
  11855. // The name (friendly name, not ARN) of the IAM group to detach the policy from.
  11856. //
  11857. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  11858. // a string of characters consisting of upper and lowercase alphanumeric characters
  11859. // with no spaces. You can also include any of the following characters: =,.@-
  11860. //
  11861. // GroupName is a required field
  11862. GroupName *string `min:"1" type:"string" required:"true"`
  11863. // The Amazon Resource Name (ARN) of the IAM policy you want to detach.
  11864. //
  11865. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  11866. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  11867. // in the AWS General Reference.
  11868. //
  11869. // PolicyArn is a required field
  11870. PolicyArn *string `min:"20" type:"string" required:"true"`
  11871. }
  11872. // String returns the string representation
  11873. func (s DetachGroupPolicyInput) String() string {
  11874. return awsutil.Prettify(s)
  11875. }
  11876. // GoString returns the string representation
  11877. func (s DetachGroupPolicyInput) GoString() string {
  11878. return s.String()
  11879. }
  11880. // Validate inspects the fields of the type to determine if they are valid.
  11881. func (s *DetachGroupPolicyInput) Validate() error {
  11882. invalidParams := request.ErrInvalidParams{Context: "DetachGroupPolicyInput"}
  11883. if s.GroupName == nil {
  11884. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  11885. }
  11886. if s.GroupName != nil && len(*s.GroupName) < 1 {
  11887. invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
  11888. }
  11889. if s.PolicyArn == nil {
  11890. invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
  11891. }
  11892. if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
  11893. invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
  11894. }
  11895. if invalidParams.Len() > 0 {
  11896. return invalidParams
  11897. }
  11898. return nil
  11899. }
  11900. type DetachGroupPolicyOutput struct {
  11901. _ struct{} `type:"structure"`
  11902. }
  11903. // String returns the string representation
  11904. func (s DetachGroupPolicyOutput) String() string {
  11905. return awsutil.Prettify(s)
  11906. }
  11907. // GoString returns the string representation
  11908. func (s DetachGroupPolicyOutput) GoString() string {
  11909. return s.String()
  11910. }
  11911. type DetachRolePolicyInput struct {
  11912. _ struct{} `type:"structure"`
  11913. // The Amazon Resource Name (ARN) of the IAM policy you want to detach.
  11914. //
  11915. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  11916. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  11917. // in the AWS General Reference.
  11918. //
  11919. // PolicyArn is a required field
  11920. PolicyArn *string `min:"20" type:"string" required:"true"`
  11921. // The name (friendly name, not ARN) of the IAM role to detach the policy from.
  11922. //
  11923. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  11924. // a string of characters consisting of upper and lowercase alphanumeric characters
  11925. // with no spaces. You can also include any of the following characters: =,.@-
  11926. //
  11927. // RoleName is a required field
  11928. RoleName *string `min:"1" type:"string" required:"true"`
  11929. }
  11930. // String returns the string representation
  11931. func (s DetachRolePolicyInput) String() string {
  11932. return awsutil.Prettify(s)
  11933. }
  11934. // GoString returns the string representation
  11935. func (s DetachRolePolicyInput) GoString() string {
  11936. return s.String()
  11937. }
  11938. // Validate inspects the fields of the type to determine if they are valid.
  11939. func (s *DetachRolePolicyInput) Validate() error {
  11940. invalidParams := request.ErrInvalidParams{Context: "DetachRolePolicyInput"}
  11941. if s.PolicyArn == nil {
  11942. invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
  11943. }
  11944. if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
  11945. invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
  11946. }
  11947. if s.RoleName == nil {
  11948. invalidParams.Add(request.NewErrParamRequired("RoleName"))
  11949. }
  11950. if s.RoleName != nil && len(*s.RoleName) < 1 {
  11951. invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
  11952. }
  11953. if invalidParams.Len() > 0 {
  11954. return invalidParams
  11955. }
  11956. return nil
  11957. }
  11958. type DetachRolePolicyOutput struct {
  11959. _ struct{} `type:"structure"`
  11960. }
  11961. // String returns the string representation
  11962. func (s DetachRolePolicyOutput) String() string {
  11963. return awsutil.Prettify(s)
  11964. }
  11965. // GoString returns the string representation
  11966. func (s DetachRolePolicyOutput) GoString() string {
  11967. return s.String()
  11968. }
  11969. type DetachUserPolicyInput struct {
  11970. _ struct{} `type:"structure"`
  11971. // The Amazon Resource Name (ARN) of the IAM policy you want to detach.
  11972. //
  11973. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  11974. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  11975. // in the AWS General Reference.
  11976. //
  11977. // PolicyArn is a required field
  11978. PolicyArn *string `min:"20" type:"string" required:"true"`
  11979. // The name (friendly name, not ARN) of the IAM user to detach the policy from.
  11980. //
  11981. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  11982. // a string of characters consisting of upper and lowercase alphanumeric characters
  11983. // with no spaces. You can also include any of the following characters: =,.@-
  11984. //
  11985. // UserName is a required field
  11986. UserName *string `min:"1" type:"string" required:"true"`
  11987. }
  11988. // String returns the string representation
  11989. func (s DetachUserPolicyInput) String() string {
  11990. return awsutil.Prettify(s)
  11991. }
  11992. // GoString returns the string representation
  11993. func (s DetachUserPolicyInput) GoString() string {
  11994. return s.String()
  11995. }
  11996. // Validate inspects the fields of the type to determine if they are valid.
  11997. func (s *DetachUserPolicyInput) Validate() error {
  11998. invalidParams := request.ErrInvalidParams{Context: "DetachUserPolicyInput"}
  11999. if s.PolicyArn == nil {
  12000. invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
  12001. }
  12002. if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
  12003. invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
  12004. }
  12005. if s.UserName == nil {
  12006. invalidParams.Add(request.NewErrParamRequired("UserName"))
  12007. }
  12008. if s.UserName != nil && len(*s.UserName) < 1 {
  12009. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  12010. }
  12011. if invalidParams.Len() > 0 {
  12012. return invalidParams
  12013. }
  12014. return nil
  12015. }
  12016. type DetachUserPolicyOutput struct {
  12017. _ struct{} `type:"structure"`
  12018. }
  12019. // String returns the string representation
  12020. func (s DetachUserPolicyOutput) String() string {
  12021. return awsutil.Prettify(s)
  12022. }
  12023. // GoString returns the string representation
  12024. func (s DetachUserPolicyOutput) GoString() string {
  12025. return s.String()
  12026. }
  12027. type EnableMFADeviceInput struct {
  12028. _ struct{} `type:"structure"`
  12029. // An authentication code emitted by the device.
  12030. //
  12031. // The format for this parameter is a string of 6 digits.
  12032. //
  12033. // AuthenticationCode1 is a required field
  12034. AuthenticationCode1 *string `min:"6" type:"string" required:"true"`
  12035. // A subsequent authentication code emitted by the device.
  12036. //
  12037. // The format for this parameter is a string of 6 digits.
  12038. //
  12039. // AuthenticationCode2 is a required field
  12040. AuthenticationCode2 *string `min:"6" type:"string" required:"true"`
  12041. // The serial number that uniquely identifies the MFA device. For virtual MFA
  12042. // devices, the serial number is the device ARN.
  12043. //
  12044. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  12045. // a string of characters consisting of upper and lowercase alphanumeric characters
  12046. // with no spaces. You can also include any of the following characters: =/:,.@-
  12047. //
  12048. // SerialNumber is a required field
  12049. SerialNumber *string `min:"9" type:"string" required:"true"`
  12050. // The name of the IAM user for whom you want to enable the MFA device.
  12051. //
  12052. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  12053. // a string of characters consisting of upper and lowercase alphanumeric characters
  12054. // with no spaces. You can also include any of the following characters: =,.@-
  12055. //
  12056. // UserName is a required field
  12057. UserName *string `min:"1" type:"string" required:"true"`
  12058. }
  12059. // String returns the string representation
  12060. func (s EnableMFADeviceInput) String() string {
  12061. return awsutil.Prettify(s)
  12062. }
  12063. // GoString returns the string representation
  12064. func (s EnableMFADeviceInput) GoString() string {
  12065. return s.String()
  12066. }
  12067. // Validate inspects the fields of the type to determine if they are valid.
  12068. func (s *EnableMFADeviceInput) Validate() error {
  12069. invalidParams := request.ErrInvalidParams{Context: "EnableMFADeviceInput"}
  12070. if s.AuthenticationCode1 == nil {
  12071. invalidParams.Add(request.NewErrParamRequired("AuthenticationCode1"))
  12072. }
  12073. if s.AuthenticationCode1 != nil && len(*s.AuthenticationCode1) < 6 {
  12074. invalidParams.Add(request.NewErrParamMinLen("AuthenticationCode1", 6))
  12075. }
  12076. if s.AuthenticationCode2 == nil {
  12077. invalidParams.Add(request.NewErrParamRequired("AuthenticationCode2"))
  12078. }
  12079. if s.AuthenticationCode2 != nil && len(*s.AuthenticationCode2) < 6 {
  12080. invalidParams.Add(request.NewErrParamMinLen("AuthenticationCode2", 6))
  12081. }
  12082. if s.SerialNumber == nil {
  12083. invalidParams.Add(request.NewErrParamRequired("SerialNumber"))
  12084. }
  12085. if s.SerialNumber != nil && len(*s.SerialNumber) < 9 {
  12086. invalidParams.Add(request.NewErrParamMinLen("SerialNumber", 9))
  12087. }
  12088. if s.UserName == nil {
  12089. invalidParams.Add(request.NewErrParamRequired("UserName"))
  12090. }
  12091. if s.UserName != nil && len(*s.UserName) < 1 {
  12092. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  12093. }
  12094. if invalidParams.Len() > 0 {
  12095. return invalidParams
  12096. }
  12097. return nil
  12098. }
  12099. type EnableMFADeviceOutput struct {
  12100. _ struct{} `type:"structure"`
  12101. }
  12102. // String returns the string representation
  12103. func (s EnableMFADeviceOutput) String() string {
  12104. return awsutil.Prettify(s)
  12105. }
  12106. // GoString returns the string representation
  12107. func (s EnableMFADeviceOutput) GoString() string {
  12108. return s.String()
  12109. }
  12110. // Contains the results of a simulation.
  12111. //
  12112. // This data type is used by the return parameter of SimulateCustomPolicy and
  12113. // SimulatePrincipalPolicy.
  12114. type EvaluationResult struct {
  12115. _ struct{} `type:"structure"`
  12116. // The name of the API action tested on the indicated resource.
  12117. //
  12118. // EvalActionName is a required field
  12119. EvalActionName *string `min:"3" type:"string" required:"true"`
  12120. // The result of the simulation.
  12121. //
  12122. // EvalDecision is a required field
  12123. EvalDecision *string `type:"string" required:"true" enum:"PolicyEvaluationDecisionType"`
  12124. // Additional details about the results of the evaluation decision. When there
  12125. // are both IAM policies and resource policies, this parameter explains how
  12126. // each set of policies contributes to the final evaluation decision. When simulating
  12127. // cross-account access to a resource, both the resource-based policy and the
  12128. // caller's IAM policy must grant access. See How IAM Roles Differ from Resource-based
  12129. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_compare-resource-policies.html)
  12130. EvalDecisionDetails map[string]*string `type:"map"`
  12131. // The ARN of the resource that the indicated API action was tested on.
  12132. EvalResourceName *string `min:"1" type:"string"`
  12133. // A list of the statements in the input policies that determine the result
  12134. // for this scenario. Remember that even if multiple statements allow the action
  12135. // on the resource, if only one statement denies that action, then the explicit
  12136. // deny overrides any allow, and the deny statement is the only entry included
  12137. // in the result.
  12138. MatchedStatements []*Statement `type:"list"`
  12139. // A list of context keys that are required by the included input policies but
  12140. // that were not provided by one of the input parameters. This list is used
  12141. // when the resource in a simulation is "*", either explicitly, or when the
  12142. // ResourceArns parameter blank. If you include a list of resources, then any
  12143. // missing context values are instead included under the ResourceSpecificResults
  12144. // section. To discover the context keys used by a set of policies, you can
  12145. // call GetContextKeysForCustomPolicy or GetContextKeysForPrincipalPolicy.
  12146. MissingContextValues []*string `type:"list"`
  12147. // The individual results of the simulation of the API action specified in EvalActionName
  12148. // on each resource.
  12149. ResourceSpecificResults []*ResourceSpecificResult `type:"list"`
  12150. }
  12151. // String returns the string representation
  12152. func (s EvaluationResult) String() string {
  12153. return awsutil.Prettify(s)
  12154. }
  12155. // GoString returns the string representation
  12156. func (s EvaluationResult) GoString() string {
  12157. return s.String()
  12158. }
  12159. type GenerateCredentialReportInput struct {
  12160. _ struct{} `type:"structure"`
  12161. }
  12162. // String returns the string representation
  12163. func (s GenerateCredentialReportInput) String() string {
  12164. return awsutil.Prettify(s)
  12165. }
  12166. // GoString returns the string representation
  12167. func (s GenerateCredentialReportInput) GoString() string {
  12168. return s.String()
  12169. }
  12170. // Contains the response to a successful GenerateCredentialReport request.
  12171. type GenerateCredentialReportOutput struct {
  12172. _ struct{} `type:"structure"`
  12173. // Information about the credential report.
  12174. Description *string `type:"string"`
  12175. // Information about the state of the credential report.
  12176. State *string `type:"string" enum:"ReportStateType"`
  12177. }
  12178. // String returns the string representation
  12179. func (s GenerateCredentialReportOutput) String() string {
  12180. return awsutil.Prettify(s)
  12181. }
  12182. // GoString returns the string representation
  12183. func (s GenerateCredentialReportOutput) GoString() string {
  12184. return s.String()
  12185. }
  12186. type GetAccessKeyLastUsedInput struct {
  12187. _ struct{} `type:"structure"`
  12188. // The identifier of an access key.
  12189. //
  12190. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  12191. // a string of characters that can consist of any upper or lowercased letter
  12192. // or digit.
  12193. //
  12194. // AccessKeyId is a required field
  12195. AccessKeyId *string `min:"16" type:"string" required:"true"`
  12196. }
  12197. // String returns the string representation
  12198. func (s GetAccessKeyLastUsedInput) String() string {
  12199. return awsutil.Prettify(s)
  12200. }
  12201. // GoString returns the string representation
  12202. func (s GetAccessKeyLastUsedInput) GoString() string {
  12203. return s.String()
  12204. }
  12205. // Validate inspects the fields of the type to determine if they are valid.
  12206. func (s *GetAccessKeyLastUsedInput) Validate() error {
  12207. invalidParams := request.ErrInvalidParams{Context: "GetAccessKeyLastUsedInput"}
  12208. if s.AccessKeyId == nil {
  12209. invalidParams.Add(request.NewErrParamRequired("AccessKeyId"))
  12210. }
  12211. if s.AccessKeyId != nil && len(*s.AccessKeyId) < 16 {
  12212. invalidParams.Add(request.NewErrParamMinLen("AccessKeyId", 16))
  12213. }
  12214. if invalidParams.Len() > 0 {
  12215. return invalidParams
  12216. }
  12217. return nil
  12218. }
  12219. // Contains the response to a successful GetAccessKeyLastUsed request. It is
  12220. // also returned as a member of the AccessKeyMetaData structure returned by
  12221. // the ListAccessKeys action.
  12222. type GetAccessKeyLastUsedOutput struct {
  12223. _ struct{} `type:"structure"`
  12224. // Contains information about the last time the access key was used.
  12225. AccessKeyLastUsed *AccessKeyLastUsed `type:"structure"`
  12226. // The name of the AWS IAM user that owns this access key.
  12227. UserName *string `min:"1" type:"string"`
  12228. }
  12229. // String returns the string representation
  12230. func (s GetAccessKeyLastUsedOutput) String() string {
  12231. return awsutil.Prettify(s)
  12232. }
  12233. // GoString returns the string representation
  12234. func (s GetAccessKeyLastUsedOutput) GoString() string {
  12235. return s.String()
  12236. }
  12237. type GetAccountAuthorizationDetailsInput struct {
  12238. _ struct{} `type:"structure"`
  12239. // A list of entity types used to filter the results. Only the entities that
  12240. // match the types you specify are included in the output. Use the value LocalManagedPolicy
  12241. // to include customer managed policies.
  12242. //
  12243. // The format for this parameter is a comma-separated (if more than one) list
  12244. // of strings. Each string value in the list must be one of the valid values
  12245. // listed below.
  12246. Filter []*string `type:"list"`
  12247. // Use this parameter only when paginating results and only after you receive
  12248. // a response indicating that the results are truncated. Set it to the value
  12249. // of the Marker element in the response that you received to indicate where
  12250. // the next call should start.
  12251. Marker *string `min:"1" type:"string"`
  12252. // Use this only when paginating results to indicate the maximum number of items
  12253. // you want in the response. If additional items exist beyond the maximum you
  12254. // specify, the IsTruncated response element is true.
  12255. //
  12256. // This parameter is optional. If you do not include it, it defaults to 100.
  12257. // Note that IAM might return fewer results, even when there are more results
  12258. // available. In that case, the IsTruncated response element returns true and
  12259. // Marker contains a value to include in the subsequent call that tells the
  12260. // service where to continue from.
  12261. MaxItems *int64 `min:"1" type:"integer"`
  12262. }
  12263. // String returns the string representation
  12264. func (s GetAccountAuthorizationDetailsInput) String() string {
  12265. return awsutil.Prettify(s)
  12266. }
  12267. // GoString returns the string representation
  12268. func (s GetAccountAuthorizationDetailsInput) GoString() string {
  12269. return s.String()
  12270. }
  12271. // Validate inspects the fields of the type to determine if they are valid.
  12272. func (s *GetAccountAuthorizationDetailsInput) Validate() error {
  12273. invalidParams := request.ErrInvalidParams{Context: "GetAccountAuthorizationDetailsInput"}
  12274. if s.Marker != nil && len(*s.Marker) < 1 {
  12275. invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  12276. }
  12277. if s.MaxItems != nil && *s.MaxItems < 1 {
  12278. invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  12279. }
  12280. if invalidParams.Len() > 0 {
  12281. return invalidParams
  12282. }
  12283. return nil
  12284. }
  12285. // Contains the response to a successful GetAccountAuthorizationDetails request.
  12286. type GetAccountAuthorizationDetailsOutput struct {
  12287. _ struct{} `type:"structure"`
  12288. // A list containing information about IAM groups.
  12289. GroupDetailList []*GroupDetail `type:"list"`
  12290. // A flag that indicates whether there are more items to return. If your results
  12291. // were truncated, you can make a subsequent pagination request using the Marker
  12292. // request parameter to retrieve more items. Note that IAM might return fewer
  12293. // than the MaxItems number of results even when there are more results available.
  12294. // We recommend that you check IsTruncated after every call to ensure that you
  12295. // receive all of your results.
  12296. IsTruncated *bool `type:"boolean"`
  12297. // When IsTruncated is true, this element is present and contains the value
  12298. // to use for the Marker parameter in a subsequent pagination request.
  12299. Marker *string `min:"1" type:"string"`
  12300. // A list containing information about managed policies.
  12301. Policies []*ManagedPolicyDetail `type:"list"`
  12302. // A list containing information about IAM roles.
  12303. RoleDetailList []*RoleDetail `type:"list"`
  12304. // A list containing information about IAM users.
  12305. UserDetailList []*UserDetail `type:"list"`
  12306. }
  12307. // String returns the string representation
  12308. func (s GetAccountAuthorizationDetailsOutput) String() string {
  12309. return awsutil.Prettify(s)
  12310. }
  12311. // GoString returns the string representation
  12312. func (s GetAccountAuthorizationDetailsOutput) GoString() string {
  12313. return s.String()
  12314. }
  12315. type GetAccountPasswordPolicyInput struct {
  12316. _ struct{} `type:"structure"`
  12317. }
  12318. // String returns the string representation
  12319. func (s GetAccountPasswordPolicyInput) String() string {
  12320. return awsutil.Prettify(s)
  12321. }
  12322. // GoString returns the string representation
  12323. func (s GetAccountPasswordPolicyInput) GoString() string {
  12324. return s.String()
  12325. }
  12326. // Contains the response to a successful GetAccountPasswordPolicy request.
  12327. type GetAccountPasswordPolicyOutput struct {
  12328. _ struct{} `type:"structure"`
  12329. // Contains information about the account password policy.
  12330. //
  12331. // This data type is used as a response element in the GetAccountPasswordPolicy
  12332. // action.
  12333. //
  12334. // PasswordPolicy is a required field
  12335. PasswordPolicy *PasswordPolicy `type:"structure" required:"true"`
  12336. }
  12337. // String returns the string representation
  12338. func (s GetAccountPasswordPolicyOutput) String() string {
  12339. return awsutil.Prettify(s)
  12340. }
  12341. // GoString returns the string representation
  12342. func (s GetAccountPasswordPolicyOutput) GoString() string {
  12343. return s.String()
  12344. }
  12345. type GetAccountSummaryInput struct {
  12346. _ struct{} `type:"structure"`
  12347. }
  12348. // String returns the string representation
  12349. func (s GetAccountSummaryInput) String() string {
  12350. return awsutil.Prettify(s)
  12351. }
  12352. // GoString returns the string representation
  12353. func (s GetAccountSummaryInput) GoString() string {
  12354. return s.String()
  12355. }
  12356. // Contains the response to a successful GetAccountSummary request.
  12357. type GetAccountSummaryOutput struct {
  12358. _ struct{} `type:"structure"`
  12359. // A set of key value pairs containing information about IAM entity usage and
  12360. // IAM quotas.
  12361. SummaryMap map[string]*int64 `type:"map"`
  12362. }
  12363. // String returns the string representation
  12364. func (s GetAccountSummaryOutput) String() string {
  12365. return awsutil.Prettify(s)
  12366. }
  12367. // GoString returns the string representation
  12368. func (s GetAccountSummaryOutput) GoString() string {
  12369. return s.String()
  12370. }
  12371. type GetContextKeysForCustomPolicyInput struct {
  12372. _ struct{} `type:"structure"`
  12373. // A list of policies for which you want the list of context keys referenced
  12374. // in those policies. Each document is specified as a string containing the
  12375. // complete, valid JSON text of an IAM policy.
  12376. //
  12377. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  12378. // a string of characters consisting of any printable ASCII character ranging
  12379. // from the space character (\u0020) through end of the ASCII character range
  12380. // (\u00FF). It also includes the special characters tab (\u0009), line feed
  12381. // (\u000A), and carriage return (\u000D).
  12382. //
  12383. // PolicyInputList is a required field
  12384. PolicyInputList []*string `type:"list" required:"true"`
  12385. }
  12386. // String returns the string representation
  12387. func (s GetContextKeysForCustomPolicyInput) String() string {
  12388. return awsutil.Prettify(s)
  12389. }
  12390. // GoString returns the string representation
  12391. func (s GetContextKeysForCustomPolicyInput) GoString() string {
  12392. return s.String()
  12393. }
  12394. // Validate inspects the fields of the type to determine if they are valid.
  12395. func (s *GetContextKeysForCustomPolicyInput) Validate() error {
  12396. invalidParams := request.ErrInvalidParams{Context: "GetContextKeysForCustomPolicyInput"}
  12397. if s.PolicyInputList == nil {
  12398. invalidParams.Add(request.NewErrParamRequired("PolicyInputList"))
  12399. }
  12400. if invalidParams.Len() > 0 {
  12401. return invalidParams
  12402. }
  12403. return nil
  12404. }
  12405. // Contains the response to a successful GetContextKeysForPrincipalPolicy or
  12406. // GetContextKeysForCustomPolicy request.
  12407. type GetContextKeysForPolicyResponse struct {
  12408. _ struct{} `type:"structure"`
  12409. // The list of context keys that are referenced in the input policies.
  12410. ContextKeyNames []*string `type:"list"`
  12411. }
  12412. // String returns the string representation
  12413. func (s GetContextKeysForPolicyResponse) String() string {
  12414. return awsutil.Prettify(s)
  12415. }
  12416. // GoString returns the string representation
  12417. func (s GetContextKeysForPolicyResponse) GoString() string {
  12418. return s.String()
  12419. }
  12420. type GetContextKeysForPrincipalPolicyInput struct {
  12421. _ struct{} `type:"structure"`
  12422. // An optional list of additional policies for which you want the list of context
  12423. // keys that are referenced.
  12424. //
  12425. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  12426. // a string of characters consisting of any printable ASCII character ranging
  12427. // from the space character (\u0020) through end of the ASCII character range
  12428. // (\u00FF). It also includes the special characters tab (\u0009), line feed
  12429. // (\u000A), and carriage return (\u000D).
  12430. PolicyInputList []*string `type:"list"`
  12431. // The ARN of a user, group, or role whose policies contain the context keys
  12432. // that you want listed. If you specify a user, the list includes context keys
  12433. // that are found in all policies attached to the user as well as to all groups
  12434. // that the user is a member of. If you pick a group or a role, then it includes
  12435. // only those context keys that are found in policies attached to that entity.
  12436. // Note that all parameters are shown in unencoded form here for clarity, but
  12437. // must be URL encoded to be included as a part of a real HTML request.
  12438. //
  12439. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  12440. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  12441. // in the AWS General Reference.
  12442. //
  12443. // PolicySourceArn is a required field
  12444. PolicySourceArn *string `min:"20" type:"string" required:"true"`
  12445. }
  12446. // String returns the string representation
  12447. func (s GetContextKeysForPrincipalPolicyInput) String() string {
  12448. return awsutil.Prettify(s)
  12449. }
  12450. // GoString returns the string representation
  12451. func (s GetContextKeysForPrincipalPolicyInput) GoString() string {
  12452. return s.String()
  12453. }
  12454. // Validate inspects the fields of the type to determine if they are valid.
  12455. func (s *GetContextKeysForPrincipalPolicyInput) Validate() error {
  12456. invalidParams := request.ErrInvalidParams{Context: "GetContextKeysForPrincipalPolicyInput"}
  12457. if s.PolicySourceArn == nil {
  12458. invalidParams.Add(request.NewErrParamRequired("PolicySourceArn"))
  12459. }
  12460. if s.PolicySourceArn != nil && len(*s.PolicySourceArn) < 20 {
  12461. invalidParams.Add(request.NewErrParamMinLen("PolicySourceArn", 20))
  12462. }
  12463. if invalidParams.Len() > 0 {
  12464. return invalidParams
  12465. }
  12466. return nil
  12467. }
  12468. type GetCredentialReportInput struct {
  12469. _ struct{} `type:"structure"`
  12470. }
  12471. // String returns the string representation
  12472. func (s GetCredentialReportInput) String() string {
  12473. return awsutil.Prettify(s)
  12474. }
  12475. // GoString returns the string representation
  12476. func (s GetCredentialReportInput) GoString() string {
  12477. return s.String()
  12478. }
  12479. // Contains the response to a successful GetCredentialReport request.
  12480. type GetCredentialReportOutput struct {
  12481. _ struct{} `type:"structure"`
  12482. // Contains the credential report. The report is Base64-encoded.
  12483. //
  12484. // Content is automatically base64 encoded/decoded by the SDK.
  12485. Content []byte `type:"blob"`
  12486. // The date and time when the credential report was created, in ISO 8601 date-time
  12487. // format (http://www.iso.org/iso/iso8601).
  12488. GeneratedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  12489. // The format (MIME type) of the credential report.
  12490. ReportFormat *string `type:"string" enum:"ReportFormatType"`
  12491. }
  12492. // String returns the string representation
  12493. func (s GetCredentialReportOutput) String() string {
  12494. return awsutil.Prettify(s)
  12495. }
  12496. // GoString returns the string representation
  12497. func (s GetCredentialReportOutput) GoString() string {
  12498. return s.String()
  12499. }
  12500. type GetGroupInput struct {
  12501. _ struct{} `type:"structure"`
  12502. // The name of the group.
  12503. //
  12504. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  12505. // a string of characters consisting of upper and lowercase alphanumeric characters
  12506. // with no spaces. You can also include any of the following characters: =,.@-
  12507. //
  12508. // GroupName is a required field
  12509. GroupName *string `min:"1" type:"string" required:"true"`
  12510. // Use this parameter only when paginating results and only after you receive
  12511. // a response indicating that the results are truncated. Set it to the value
  12512. // of the Marker element in the response that you received to indicate where
  12513. // the next call should start.
  12514. Marker *string `min:"1" type:"string"`
  12515. // Use this only when paginating results to indicate the maximum number of items
  12516. // you want in the response. If additional items exist beyond the maximum you
  12517. // specify, the IsTruncated response element is true.
  12518. //
  12519. // This parameter is optional. If you do not include it, it defaults to 100.
  12520. // Note that IAM might return fewer results, even when there are more results
  12521. // available. In that case, the IsTruncated response element returns true and
  12522. // Marker contains a value to include in the subsequent call that tells the
  12523. // service where to continue from.
  12524. MaxItems *int64 `min:"1" type:"integer"`
  12525. }
  12526. // String returns the string representation
  12527. func (s GetGroupInput) String() string {
  12528. return awsutil.Prettify(s)
  12529. }
  12530. // GoString returns the string representation
  12531. func (s GetGroupInput) GoString() string {
  12532. return s.String()
  12533. }
  12534. // Validate inspects the fields of the type to determine if they are valid.
  12535. func (s *GetGroupInput) Validate() error {
  12536. invalidParams := request.ErrInvalidParams{Context: "GetGroupInput"}
  12537. if s.GroupName == nil {
  12538. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  12539. }
  12540. if s.GroupName != nil && len(*s.GroupName) < 1 {
  12541. invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
  12542. }
  12543. if s.Marker != nil && len(*s.Marker) < 1 {
  12544. invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  12545. }
  12546. if s.MaxItems != nil && *s.MaxItems < 1 {
  12547. invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  12548. }
  12549. if invalidParams.Len() > 0 {
  12550. return invalidParams
  12551. }
  12552. return nil
  12553. }
  12554. // Contains the response to a successful GetGroup request.
  12555. type GetGroupOutput struct {
  12556. _ struct{} `type:"structure"`
  12557. // A structure that contains details about the group.
  12558. //
  12559. // Group is a required field
  12560. Group *Group `type:"structure" required:"true"`
  12561. // A flag that indicates whether there are more items to return. If your results
  12562. // were truncated, you can make a subsequent pagination request using the Marker
  12563. // request parameter to retrieve more items. Note that IAM might return fewer
  12564. // than the MaxItems number of results even when there are more results available.
  12565. // We recommend that you check IsTruncated after every call to ensure that you
  12566. // receive all of your results.
  12567. IsTruncated *bool `type:"boolean"`
  12568. // When IsTruncated is true, this element is present and contains the value
  12569. // to use for the Marker parameter in a subsequent pagination request.
  12570. Marker *string `min:"1" type:"string"`
  12571. // A list of users in the group.
  12572. //
  12573. // Users is a required field
  12574. Users []*User `type:"list" required:"true"`
  12575. }
  12576. // String returns the string representation
  12577. func (s GetGroupOutput) String() string {
  12578. return awsutil.Prettify(s)
  12579. }
  12580. // GoString returns the string representation
  12581. func (s GetGroupOutput) GoString() string {
  12582. return s.String()
  12583. }
  12584. type GetGroupPolicyInput struct {
  12585. _ struct{} `type:"structure"`
  12586. // The name of the group the policy is associated with.
  12587. //
  12588. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  12589. // a string of characters consisting of upper and lowercase alphanumeric characters
  12590. // with no spaces. You can also include any of the following characters: =,.@-
  12591. //
  12592. // GroupName is a required field
  12593. GroupName *string `min:"1" type:"string" required:"true"`
  12594. // The name of the policy document to get.
  12595. //
  12596. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  12597. // a string of characters consisting of upper and lowercase alphanumeric characters
  12598. // with no spaces. You can also include any of the following characters: =,.@-
  12599. //
  12600. // PolicyName is a required field
  12601. PolicyName *string `min:"1" type:"string" required:"true"`
  12602. }
  12603. // String returns the string representation
  12604. func (s GetGroupPolicyInput) String() string {
  12605. return awsutil.Prettify(s)
  12606. }
  12607. // GoString returns the string representation
  12608. func (s GetGroupPolicyInput) GoString() string {
  12609. return s.String()
  12610. }
  12611. // Validate inspects the fields of the type to determine if they are valid.
  12612. func (s *GetGroupPolicyInput) Validate() error {
  12613. invalidParams := request.ErrInvalidParams{Context: "GetGroupPolicyInput"}
  12614. if s.GroupName == nil {
  12615. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  12616. }
  12617. if s.GroupName != nil && len(*s.GroupName) < 1 {
  12618. invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
  12619. }
  12620. if s.PolicyName == nil {
  12621. invalidParams.Add(request.NewErrParamRequired("PolicyName"))
  12622. }
  12623. if s.PolicyName != nil && len(*s.PolicyName) < 1 {
  12624. invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
  12625. }
  12626. if invalidParams.Len() > 0 {
  12627. return invalidParams
  12628. }
  12629. return nil
  12630. }
  12631. // Contains the response to a successful GetGroupPolicy request.
  12632. type GetGroupPolicyOutput struct {
  12633. _ struct{} `type:"structure"`
  12634. // The group the policy is associated with.
  12635. //
  12636. // GroupName is a required field
  12637. GroupName *string `min:"1" type:"string" required:"true"`
  12638. // The policy document.
  12639. //
  12640. // PolicyDocument is a required field
  12641. PolicyDocument *string `min:"1" type:"string" required:"true"`
  12642. // The name of the policy.
  12643. //
  12644. // PolicyName is a required field
  12645. PolicyName *string `min:"1" type:"string" required:"true"`
  12646. }
  12647. // String returns the string representation
  12648. func (s GetGroupPolicyOutput) String() string {
  12649. return awsutil.Prettify(s)
  12650. }
  12651. // GoString returns the string representation
  12652. func (s GetGroupPolicyOutput) GoString() string {
  12653. return s.String()
  12654. }
  12655. type GetInstanceProfileInput struct {
  12656. _ struct{} `type:"structure"`
  12657. // The name of the instance profile to get information about.
  12658. //
  12659. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  12660. // a string of characters consisting of upper and lowercase alphanumeric characters
  12661. // with no spaces. You can also include any of the following characters: =,.@-
  12662. //
  12663. // InstanceProfileName is a required field
  12664. InstanceProfileName *string `min:"1" type:"string" required:"true"`
  12665. }
  12666. // String returns the string representation
  12667. func (s GetInstanceProfileInput) String() string {
  12668. return awsutil.Prettify(s)
  12669. }
  12670. // GoString returns the string representation
  12671. func (s GetInstanceProfileInput) GoString() string {
  12672. return s.String()
  12673. }
  12674. // Validate inspects the fields of the type to determine if they are valid.
  12675. func (s *GetInstanceProfileInput) Validate() error {
  12676. invalidParams := request.ErrInvalidParams{Context: "GetInstanceProfileInput"}
  12677. if s.InstanceProfileName == nil {
  12678. invalidParams.Add(request.NewErrParamRequired("InstanceProfileName"))
  12679. }
  12680. if s.InstanceProfileName != nil && len(*s.InstanceProfileName) < 1 {
  12681. invalidParams.Add(request.NewErrParamMinLen("InstanceProfileName", 1))
  12682. }
  12683. if invalidParams.Len() > 0 {
  12684. return invalidParams
  12685. }
  12686. return nil
  12687. }
  12688. // Contains the response to a successful GetInstanceProfile request.
  12689. type GetInstanceProfileOutput struct {
  12690. _ struct{} `type:"structure"`
  12691. // A structure containing details about the instance profile.
  12692. //
  12693. // InstanceProfile is a required field
  12694. InstanceProfile *InstanceProfile `type:"structure" required:"true"`
  12695. }
  12696. // String returns the string representation
  12697. func (s GetInstanceProfileOutput) String() string {
  12698. return awsutil.Prettify(s)
  12699. }
  12700. // GoString returns the string representation
  12701. func (s GetInstanceProfileOutput) GoString() string {
  12702. return s.String()
  12703. }
  12704. type GetLoginProfileInput struct {
  12705. _ struct{} `type:"structure"`
  12706. // The name of the user whose login profile you want to retrieve.
  12707. //
  12708. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  12709. // a string of characters consisting of upper and lowercase alphanumeric characters
  12710. // with no spaces. You can also include any of the following characters: =,.@-
  12711. //
  12712. // UserName is a required field
  12713. UserName *string `min:"1" type:"string" required:"true"`
  12714. }
  12715. // String returns the string representation
  12716. func (s GetLoginProfileInput) String() string {
  12717. return awsutil.Prettify(s)
  12718. }
  12719. // GoString returns the string representation
  12720. func (s GetLoginProfileInput) GoString() string {
  12721. return s.String()
  12722. }
  12723. // Validate inspects the fields of the type to determine if they are valid.
  12724. func (s *GetLoginProfileInput) Validate() error {
  12725. invalidParams := request.ErrInvalidParams{Context: "GetLoginProfileInput"}
  12726. if s.UserName == nil {
  12727. invalidParams.Add(request.NewErrParamRequired("UserName"))
  12728. }
  12729. if s.UserName != nil && len(*s.UserName) < 1 {
  12730. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  12731. }
  12732. if invalidParams.Len() > 0 {
  12733. return invalidParams
  12734. }
  12735. return nil
  12736. }
  12737. // Contains the response to a successful GetLoginProfile request.
  12738. type GetLoginProfileOutput struct {
  12739. _ struct{} `type:"structure"`
  12740. // A structure containing the user name and password create date for the user.
  12741. //
  12742. // LoginProfile is a required field
  12743. LoginProfile *LoginProfile `type:"structure" required:"true"`
  12744. }
  12745. // String returns the string representation
  12746. func (s GetLoginProfileOutput) String() string {
  12747. return awsutil.Prettify(s)
  12748. }
  12749. // GoString returns the string representation
  12750. func (s GetLoginProfileOutput) GoString() string {
  12751. return s.String()
  12752. }
  12753. type GetOpenIDConnectProviderInput struct {
  12754. _ struct{} `type:"structure"`
  12755. // The Amazon Resource Name (ARN) of the OIDC provider resource object in IAM
  12756. // to get information for. You can get a list of OIDC provider resource ARNs
  12757. // by using the ListOpenIDConnectProviders action.
  12758. //
  12759. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  12760. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  12761. // in the AWS General Reference.
  12762. //
  12763. // OpenIDConnectProviderArn is a required field
  12764. OpenIDConnectProviderArn *string `min:"20" type:"string" required:"true"`
  12765. }
  12766. // String returns the string representation
  12767. func (s GetOpenIDConnectProviderInput) String() string {
  12768. return awsutil.Prettify(s)
  12769. }
  12770. // GoString returns the string representation
  12771. func (s GetOpenIDConnectProviderInput) GoString() string {
  12772. return s.String()
  12773. }
  12774. // Validate inspects the fields of the type to determine if they are valid.
  12775. func (s *GetOpenIDConnectProviderInput) Validate() error {
  12776. invalidParams := request.ErrInvalidParams{Context: "GetOpenIDConnectProviderInput"}
  12777. if s.OpenIDConnectProviderArn == nil {
  12778. invalidParams.Add(request.NewErrParamRequired("OpenIDConnectProviderArn"))
  12779. }
  12780. if s.OpenIDConnectProviderArn != nil && len(*s.OpenIDConnectProviderArn) < 20 {
  12781. invalidParams.Add(request.NewErrParamMinLen("OpenIDConnectProviderArn", 20))
  12782. }
  12783. if invalidParams.Len() > 0 {
  12784. return invalidParams
  12785. }
  12786. return nil
  12787. }
  12788. // Contains the response to a successful GetOpenIDConnectProvider request.
  12789. type GetOpenIDConnectProviderOutput struct {
  12790. _ struct{} `type:"structure"`
  12791. // A list of client IDs (also known as audiences) that are associated with the
  12792. // specified IAM OIDC provider resource object. For more information, see CreateOpenIDConnectProvider.
  12793. ClientIDList []*string `type:"list"`
  12794. // The date and time when the IAM OIDC provider resource object was created
  12795. // in the AWS account.
  12796. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  12797. // A list of certificate thumbprints that are associated with the specified
  12798. // IAM OIDC provider resource object. For more information, see CreateOpenIDConnectProvider.
  12799. ThumbprintList []*string `type:"list"`
  12800. // The URL that the IAM OIDC provider resource object is associated with. For
  12801. // more information, see CreateOpenIDConnectProvider.
  12802. Url *string `min:"1" type:"string"`
  12803. }
  12804. // String returns the string representation
  12805. func (s GetOpenIDConnectProviderOutput) String() string {
  12806. return awsutil.Prettify(s)
  12807. }
  12808. // GoString returns the string representation
  12809. func (s GetOpenIDConnectProviderOutput) GoString() string {
  12810. return s.String()
  12811. }
  12812. type GetPolicyInput struct {
  12813. _ struct{} `type:"structure"`
  12814. // The Amazon Resource Name (ARN) of the managed policy that you want information
  12815. // about.
  12816. //
  12817. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  12818. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  12819. // in the AWS General Reference.
  12820. //
  12821. // PolicyArn is a required field
  12822. PolicyArn *string `min:"20" type:"string" required:"true"`
  12823. }
  12824. // String returns the string representation
  12825. func (s GetPolicyInput) String() string {
  12826. return awsutil.Prettify(s)
  12827. }
  12828. // GoString returns the string representation
  12829. func (s GetPolicyInput) GoString() string {
  12830. return s.String()
  12831. }
  12832. // Validate inspects the fields of the type to determine if they are valid.
  12833. func (s *GetPolicyInput) Validate() error {
  12834. invalidParams := request.ErrInvalidParams{Context: "GetPolicyInput"}
  12835. if s.PolicyArn == nil {
  12836. invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
  12837. }
  12838. if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
  12839. invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
  12840. }
  12841. if invalidParams.Len() > 0 {
  12842. return invalidParams
  12843. }
  12844. return nil
  12845. }
  12846. // Contains the response to a successful GetPolicy request.
  12847. type GetPolicyOutput struct {
  12848. _ struct{} `type:"structure"`
  12849. // A structure containing details about the policy.
  12850. Policy *Policy `type:"structure"`
  12851. }
  12852. // String returns the string representation
  12853. func (s GetPolicyOutput) String() string {
  12854. return awsutil.Prettify(s)
  12855. }
  12856. // GoString returns the string representation
  12857. func (s GetPolicyOutput) GoString() string {
  12858. return s.String()
  12859. }
  12860. type GetPolicyVersionInput struct {
  12861. _ struct{} `type:"structure"`
  12862. // The Amazon Resource Name (ARN) of the managed policy that you want information
  12863. // about.
  12864. //
  12865. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  12866. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  12867. // in the AWS General Reference.
  12868. //
  12869. // PolicyArn is a required field
  12870. PolicyArn *string `min:"20" type:"string" required:"true"`
  12871. // Identifies the policy version to retrieve.
  12872. //
  12873. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  12874. // a string of characters that consists of the lowercase letter 'v' followed
  12875. // by one or two digits, and optionally followed by a period '.' and a string
  12876. // of letters and digits.
  12877. //
  12878. // VersionId is a required field
  12879. VersionId *string `type:"string" required:"true"`
  12880. }
  12881. // String returns the string representation
  12882. func (s GetPolicyVersionInput) String() string {
  12883. return awsutil.Prettify(s)
  12884. }
  12885. // GoString returns the string representation
  12886. func (s GetPolicyVersionInput) GoString() string {
  12887. return s.String()
  12888. }
  12889. // Validate inspects the fields of the type to determine if they are valid.
  12890. func (s *GetPolicyVersionInput) Validate() error {
  12891. invalidParams := request.ErrInvalidParams{Context: "GetPolicyVersionInput"}
  12892. if s.PolicyArn == nil {
  12893. invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
  12894. }
  12895. if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
  12896. invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
  12897. }
  12898. if s.VersionId == nil {
  12899. invalidParams.Add(request.NewErrParamRequired("VersionId"))
  12900. }
  12901. if invalidParams.Len() > 0 {
  12902. return invalidParams
  12903. }
  12904. return nil
  12905. }
  12906. // Contains the response to a successful GetPolicyVersion request.
  12907. type GetPolicyVersionOutput struct {
  12908. _ struct{} `type:"structure"`
  12909. // A structure containing details about the policy version.
  12910. PolicyVersion *PolicyVersion `type:"structure"`
  12911. }
  12912. // String returns the string representation
  12913. func (s GetPolicyVersionOutput) String() string {
  12914. return awsutil.Prettify(s)
  12915. }
  12916. // GoString returns the string representation
  12917. func (s GetPolicyVersionOutput) GoString() string {
  12918. return s.String()
  12919. }
  12920. type GetRoleInput struct {
  12921. _ struct{} `type:"structure"`
  12922. // The name of the IAM role to get information about.
  12923. //
  12924. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  12925. // a string of characters consisting of upper and lowercase alphanumeric characters
  12926. // with no spaces. You can also include any of the following characters: =,.@-
  12927. //
  12928. // RoleName is a required field
  12929. RoleName *string `min:"1" type:"string" required:"true"`
  12930. }
  12931. // String returns the string representation
  12932. func (s GetRoleInput) String() string {
  12933. return awsutil.Prettify(s)
  12934. }
  12935. // GoString returns the string representation
  12936. func (s GetRoleInput) GoString() string {
  12937. return s.String()
  12938. }
  12939. // Validate inspects the fields of the type to determine if they are valid.
  12940. func (s *GetRoleInput) Validate() error {
  12941. invalidParams := request.ErrInvalidParams{Context: "GetRoleInput"}
  12942. if s.RoleName == nil {
  12943. invalidParams.Add(request.NewErrParamRequired("RoleName"))
  12944. }
  12945. if s.RoleName != nil && len(*s.RoleName) < 1 {
  12946. invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
  12947. }
  12948. if invalidParams.Len() > 0 {
  12949. return invalidParams
  12950. }
  12951. return nil
  12952. }
  12953. // Contains the response to a successful GetRole request.
  12954. type GetRoleOutput struct {
  12955. _ struct{} `type:"structure"`
  12956. // A structure containing details about the IAM role.
  12957. //
  12958. // Role is a required field
  12959. Role *Role `type:"structure" required:"true"`
  12960. }
  12961. // String returns the string representation
  12962. func (s GetRoleOutput) String() string {
  12963. return awsutil.Prettify(s)
  12964. }
  12965. // GoString returns the string representation
  12966. func (s GetRoleOutput) GoString() string {
  12967. return s.String()
  12968. }
  12969. type GetRolePolicyInput struct {
  12970. _ struct{} `type:"structure"`
  12971. // The name of the policy document to get.
  12972. //
  12973. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  12974. // a string of characters consisting of upper and lowercase alphanumeric characters
  12975. // with no spaces. You can also include any of the following characters: =,.@-
  12976. //
  12977. // PolicyName is a required field
  12978. PolicyName *string `min:"1" type:"string" required:"true"`
  12979. // The name of the role associated with the policy.
  12980. //
  12981. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  12982. // a string of characters consisting of upper and lowercase alphanumeric characters
  12983. // with no spaces. You can also include any of the following characters: =,.@-
  12984. //
  12985. // RoleName is a required field
  12986. RoleName *string `min:"1" type:"string" required:"true"`
  12987. }
  12988. // String returns the string representation
  12989. func (s GetRolePolicyInput) String() string {
  12990. return awsutil.Prettify(s)
  12991. }
  12992. // GoString returns the string representation
  12993. func (s GetRolePolicyInput) GoString() string {
  12994. return s.String()
  12995. }
  12996. // Validate inspects the fields of the type to determine if they are valid.
  12997. func (s *GetRolePolicyInput) Validate() error {
  12998. invalidParams := request.ErrInvalidParams{Context: "GetRolePolicyInput"}
  12999. if s.PolicyName == nil {
  13000. invalidParams.Add(request.NewErrParamRequired("PolicyName"))
  13001. }
  13002. if s.PolicyName != nil && len(*s.PolicyName) < 1 {
  13003. invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
  13004. }
  13005. if s.RoleName == nil {
  13006. invalidParams.Add(request.NewErrParamRequired("RoleName"))
  13007. }
  13008. if s.RoleName != nil && len(*s.RoleName) < 1 {
  13009. invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
  13010. }
  13011. if invalidParams.Len() > 0 {
  13012. return invalidParams
  13013. }
  13014. return nil
  13015. }
  13016. // Contains the response to a successful GetRolePolicy request.
  13017. type GetRolePolicyOutput struct {
  13018. _ struct{} `type:"structure"`
  13019. // The policy document.
  13020. //
  13021. // PolicyDocument is a required field
  13022. PolicyDocument *string `min:"1" type:"string" required:"true"`
  13023. // The name of the policy.
  13024. //
  13025. // PolicyName is a required field
  13026. PolicyName *string `min:"1" type:"string" required:"true"`
  13027. // The role the policy is associated with.
  13028. //
  13029. // RoleName is a required field
  13030. RoleName *string `min:"1" type:"string" required:"true"`
  13031. }
  13032. // String returns the string representation
  13033. func (s GetRolePolicyOutput) String() string {
  13034. return awsutil.Prettify(s)
  13035. }
  13036. // GoString returns the string representation
  13037. func (s GetRolePolicyOutput) GoString() string {
  13038. return s.String()
  13039. }
  13040. type GetSAMLProviderInput struct {
  13041. _ struct{} `type:"structure"`
  13042. // The Amazon Resource Name (ARN) of the SAML provider resource object in IAM
  13043. // to get information about.
  13044. //
  13045. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  13046. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  13047. // in the AWS General Reference.
  13048. //
  13049. // SAMLProviderArn is a required field
  13050. SAMLProviderArn *string `min:"20" type:"string" required:"true"`
  13051. }
  13052. // String returns the string representation
  13053. func (s GetSAMLProviderInput) String() string {
  13054. return awsutil.Prettify(s)
  13055. }
  13056. // GoString returns the string representation
  13057. func (s GetSAMLProviderInput) GoString() string {
  13058. return s.String()
  13059. }
  13060. // Validate inspects the fields of the type to determine if they are valid.
  13061. func (s *GetSAMLProviderInput) Validate() error {
  13062. invalidParams := request.ErrInvalidParams{Context: "GetSAMLProviderInput"}
  13063. if s.SAMLProviderArn == nil {
  13064. invalidParams.Add(request.NewErrParamRequired("SAMLProviderArn"))
  13065. }
  13066. if s.SAMLProviderArn != nil && len(*s.SAMLProviderArn) < 20 {
  13067. invalidParams.Add(request.NewErrParamMinLen("SAMLProviderArn", 20))
  13068. }
  13069. if invalidParams.Len() > 0 {
  13070. return invalidParams
  13071. }
  13072. return nil
  13073. }
  13074. // Contains the response to a successful GetSAMLProvider request.
  13075. type GetSAMLProviderOutput struct {
  13076. _ struct{} `type:"structure"`
  13077. // The date and time when the SAML provider was created.
  13078. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  13079. // The XML metadata document that includes information about an identity provider.
  13080. SAMLMetadataDocument *string `min:"1000" type:"string"`
  13081. // The expiration date and time for the SAML provider.
  13082. ValidUntil *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  13083. }
  13084. // String returns the string representation
  13085. func (s GetSAMLProviderOutput) String() string {
  13086. return awsutil.Prettify(s)
  13087. }
  13088. // GoString returns the string representation
  13089. func (s GetSAMLProviderOutput) GoString() string {
  13090. return s.String()
  13091. }
  13092. type GetSSHPublicKeyInput struct {
  13093. _ struct{} `type:"structure"`
  13094. // Specifies the public key encoding format to use in the response. To retrieve
  13095. // the public key in ssh-rsa format, use SSH. To retrieve the public key in
  13096. // PEM format, use PEM.
  13097. //
  13098. // Encoding is a required field
  13099. Encoding *string `type:"string" required:"true" enum:"encodingType"`
  13100. // The unique identifier for the SSH public key.
  13101. //
  13102. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  13103. // a string of characters that can consist of any upper or lowercased letter
  13104. // or digit.
  13105. //
  13106. // SSHPublicKeyId is a required field
  13107. SSHPublicKeyId *string `min:"20" type:"string" required:"true"`
  13108. // The name of the IAM user associated with the SSH public key.
  13109. //
  13110. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  13111. // a string of characters consisting of upper and lowercase alphanumeric characters
  13112. // with no spaces. You can also include any of the following characters: =,.@-
  13113. //
  13114. // UserName is a required field
  13115. UserName *string `min:"1" type:"string" required:"true"`
  13116. }
  13117. // String returns the string representation
  13118. func (s GetSSHPublicKeyInput) String() string {
  13119. return awsutil.Prettify(s)
  13120. }
  13121. // GoString returns the string representation
  13122. func (s GetSSHPublicKeyInput) GoString() string {
  13123. return s.String()
  13124. }
  13125. // Validate inspects the fields of the type to determine if they are valid.
  13126. func (s *GetSSHPublicKeyInput) Validate() error {
  13127. invalidParams := request.ErrInvalidParams{Context: "GetSSHPublicKeyInput"}
  13128. if s.Encoding == nil {
  13129. invalidParams.Add(request.NewErrParamRequired("Encoding"))
  13130. }
  13131. if s.SSHPublicKeyId == nil {
  13132. invalidParams.Add(request.NewErrParamRequired("SSHPublicKeyId"))
  13133. }
  13134. if s.SSHPublicKeyId != nil && len(*s.SSHPublicKeyId) < 20 {
  13135. invalidParams.Add(request.NewErrParamMinLen("SSHPublicKeyId", 20))
  13136. }
  13137. if s.UserName == nil {
  13138. invalidParams.Add(request.NewErrParamRequired("UserName"))
  13139. }
  13140. if s.UserName != nil && len(*s.UserName) < 1 {
  13141. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  13142. }
  13143. if invalidParams.Len() > 0 {
  13144. return invalidParams
  13145. }
  13146. return nil
  13147. }
  13148. // Contains the response to a successful GetSSHPublicKey request.
  13149. type GetSSHPublicKeyOutput struct {
  13150. _ struct{} `type:"structure"`
  13151. // A structure containing details about the SSH public key.
  13152. SSHPublicKey *SSHPublicKey `type:"structure"`
  13153. }
  13154. // String returns the string representation
  13155. func (s GetSSHPublicKeyOutput) String() string {
  13156. return awsutil.Prettify(s)
  13157. }
  13158. // GoString returns the string representation
  13159. func (s GetSSHPublicKeyOutput) GoString() string {
  13160. return s.String()
  13161. }
  13162. type GetServerCertificateInput struct {
  13163. _ struct{} `type:"structure"`
  13164. // The name of the server certificate you want to retrieve information about.
  13165. //
  13166. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  13167. // a string of characters consisting of upper and lowercase alphanumeric characters
  13168. // with no spaces. You can also include any of the following characters: =,.@-
  13169. //
  13170. // ServerCertificateName is a required field
  13171. ServerCertificateName *string `min:"1" type:"string" required:"true"`
  13172. }
  13173. // String returns the string representation
  13174. func (s GetServerCertificateInput) String() string {
  13175. return awsutil.Prettify(s)
  13176. }
  13177. // GoString returns the string representation
  13178. func (s GetServerCertificateInput) GoString() string {
  13179. return s.String()
  13180. }
  13181. // Validate inspects the fields of the type to determine if they are valid.
  13182. func (s *GetServerCertificateInput) Validate() error {
  13183. invalidParams := request.ErrInvalidParams{Context: "GetServerCertificateInput"}
  13184. if s.ServerCertificateName == nil {
  13185. invalidParams.Add(request.NewErrParamRequired("ServerCertificateName"))
  13186. }
  13187. if s.ServerCertificateName != nil && len(*s.ServerCertificateName) < 1 {
  13188. invalidParams.Add(request.NewErrParamMinLen("ServerCertificateName", 1))
  13189. }
  13190. if invalidParams.Len() > 0 {
  13191. return invalidParams
  13192. }
  13193. return nil
  13194. }
  13195. // Contains the response to a successful GetServerCertificate request.
  13196. type GetServerCertificateOutput struct {
  13197. _ struct{} `type:"structure"`
  13198. // A structure containing details about the server certificate.
  13199. //
  13200. // ServerCertificate is a required field
  13201. ServerCertificate *ServerCertificate `type:"structure" required:"true"`
  13202. }
  13203. // String returns the string representation
  13204. func (s GetServerCertificateOutput) String() string {
  13205. return awsutil.Prettify(s)
  13206. }
  13207. // GoString returns the string representation
  13208. func (s GetServerCertificateOutput) GoString() string {
  13209. return s.String()
  13210. }
  13211. type GetUserInput struct {
  13212. _ struct{} `type:"structure"`
  13213. // The name of the user to get information about.
  13214. //
  13215. // This parameter is optional. If it is not included, it defaults to the user
  13216. // making the request. The regex pattern (http://wikipedia.org/wiki/regex) for
  13217. // this parameter is a string of characters consisting of upper and lowercase
  13218. // alphanumeric characters with no spaces. You can also include any of the following
  13219. // characters: =,.@-
  13220. UserName *string `min:"1" type:"string"`
  13221. }
  13222. // String returns the string representation
  13223. func (s GetUserInput) String() string {
  13224. return awsutil.Prettify(s)
  13225. }
  13226. // GoString returns the string representation
  13227. func (s GetUserInput) GoString() string {
  13228. return s.String()
  13229. }
  13230. // Validate inspects the fields of the type to determine if they are valid.
  13231. func (s *GetUserInput) Validate() error {
  13232. invalidParams := request.ErrInvalidParams{Context: "GetUserInput"}
  13233. if s.UserName != nil && len(*s.UserName) < 1 {
  13234. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  13235. }
  13236. if invalidParams.Len() > 0 {
  13237. return invalidParams
  13238. }
  13239. return nil
  13240. }
  13241. // Contains the response to a successful GetUser request.
  13242. type GetUserOutput struct {
  13243. _ struct{} `type:"structure"`
  13244. // A structure containing details about the IAM user.
  13245. //
  13246. // User is a required field
  13247. User *User `type:"structure" required:"true"`
  13248. }
  13249. // String returns the string representation
  13250. func (s GetUserOutput) String() string {
  13251. return awsutil.Prettify(s)
  13252. }
  13253. // GoString returns the string representation
  13254. func (s GetUserOutput) GoString() string {
  13255. return s.String()
  13256. }
  13257. type GetUserPolicyInput struct {
  13258. _ struct{} `type:"structure"`
  13259. // The name of the policy document to get.
  13260. //
  13261. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  13262. // a string of characters consisting of upper and lowercase alphanumeric characters
  13263. // with no spaces. You can also include any of the following characters: =,.@-
  13264. //
  13265. // PolicyName is a required field
  13266. PolicyName *string `min:"1" type:"string" required:"true"`
  13267. // The name of the user who the policy is associated with.
  13268. //
  13269. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  13270. // a string of characters consisting of upper and lowercase alphanumeric characters
  13271. // with no spaces. You can also include any of the following characters: =,.@-
  13272. //
  13273. // UserName is a required field
  13274. UserName *string `min:"1" type:"string" required:"true"`
  13275. }
  13276. // String returns the string representation
  13277. func (s GetUserPolicyInput) String() string {
  13278. return awsutil.Prettify(s)
  13279. }
  13280. // GoString returns the string representation
  13281. func (s GetUserPolicyInput) GoString() string {
  13282. return s.String()
  13283. }
  13284. // Validate inspects the fields of the type to determine if they are valid.
  13285. func (s *GetUserPolicyInput) Validate() error {
  13286. invalidParams := request.ErrInvalidParams{Context: "GetUserPolicyInput"}
  13287. if s.PolicyName == nil {
  13288. invalidParams.Add(request.NewErrParamRequired("PolicyName"))
  13289. }
  13290. if s.PolicyName != nil && len(*s.PolicyName) < 1 {
  13291. invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
  13292. }
  13293. if s.UserName == nil {
  13294. invalidParams.Add(request.NewErrParamRequired("UserName"))
  13295. }
  13296. if s.UserName != nil && len(*s.UserName) < 1 {
  13297. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  13298. }
  13299. if invalidParams.Len() > 0 {
  13300. return invalidParams
  13301. }
  13302. return nil
  13303. }
  13304. // Contains the response to a successful GetUserPolicy request.
  13305. type GetUserPolicyOutput struct {
  13306. _ struct{} `type:"structure"`
  13307. // The policy document.
  13308. //
  13309. // PolicyDocument is a required field
  13310. PolicyDocument *string `min:"1" type:"string" required:"true"`
  13311. // The name of the policy.
  13312. //
  13313. // PolicyName is a required field
  13314. PolicyName *string `min:"1" type:"string" required:"true"`
  13315. // The user the policy is associated with.
  13316. //
  13317. // UserName is a required field
  13318. UserName *string `min:"1" type:"string" required:"true"`
  13319. }
  13320. // String returns the string representation
  13321. func (s GetUserPolicyOutput) String() string {
  13322. return awsutil.Prettify(s)
  13323. }
  13324. // GoString returns the string representation
  13325. func (s GetUserPolicyOutput) GoString() string {
  13326. return s.String()
  13327. }
  13328. // Contains information about an IAM group entity.
  13329. //
  13330. // This data type is used as a response element in the following actions:
  13331. //
  13332. // * CreateGroup
  13333. //
  13334. // * GetGroup
  13335. //
  13336. // * ListGroups
  13337. type Group struct {
  13338. _ struct{} `type:"structure"`
  13339. // The Amazon Resource Name (ARN) specifying the group. For more information
  13340. // about ARNs and how to use them in policies, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  13341. // in the Using IAM guide.
  13342. //
  13343. // Arn is a required field
  13344. Arn *string `min:"20" type:"string" required:"true"`
  13345. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  13346. // when the group was created.
  13347. //
  13348. // CreateDate is a required field
  13349. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  13350. // The stable and unique string identifying the group. For more information
  13351. // about IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  13352. // in the Using IAM guide.
  13353. //
  13354. // GroupId is a required field
  13355. GroupId *string `min:"16" type:"string" required:"true"`
  13356. // The friendly name that identifies the group.
  13357. //
  13358. // GroupName is a required field
  13359. GroupName *string `min:"1" type:"string" required:"true"`
  13360. // The path to the group. For more information about paths, see IAM Identifiers
  13361. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  13362. // in the Using IAM guide.
  13363. //
  13364. // Path is a required field
  13365. Path *string `min:"1" type:"string" required:"true"`
  13366. }
  13367. // String returns the string representation
  13368. func (s Group) String() string {
  13369. return awsutil.Prettify(s)
  13370. }
  13371. // GoString returns the string representation
  13372. func (s Group) GoString() string {
  13373. return s.String()
  13374. }
  13375. // Contains information about an IAM group, including all of the group's policies.
  13376. //
  13377. // This data type is used as a response element in the GetAccountAuthorizationDetails
  13378. // action.
  13379. type GroupDetail struct {
  13380. _ struct{} `type:"structure"`
  13381. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  13382. //
  13383. // For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS
  13384. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  13385. // in the AWS General Reference.
  13386. Arn *string `min:"20" type:"string"`
  13387. // A list of the managed policies attached to the group.
  13388. AttachedManagedPolicies []*AttachedPolicy `type:"list"`
  13389. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  13390. // when the group was created.
  13391. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  13392. // The stable and unique string identifying the group. For more information
  13393. // about IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  13394. // in the Using IAM guide.
  13395. GroupId *string `min:"16" type:"string"`
  13396. // The friendly name that identifies the group.
  13397. GroupName *string `min:"1" type:"string"`
  13398. // A list of the inline policies embedded in the group.
  13399. GroupPolicyList []*PolicyDetail `type:"list"`
  13400. // The path to the group. For more information about paths, see IAM Identifiers
  13401. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  13402. // in the Using IAM guide.
  13403. Path *string `min:"1" type:"string"`
  13404. }
  13405. // String returns the string representation
  13406. func (s GroupDetail) String() string {
  13407. return awsutil.Prettify(s)
  13408. }
  13409. // GoString returns the string representation
  13410. func (s GroupDetail) GoString() string {
  13411. return s.String()
  13412. }
  13413. // Contains information about an instance profile.
  13414. //
  13415. // This data type is used as a response element in the following actions:
  13416. //
  13417. // * CreateInstanceProfile
  13418. //
  13419. // * GetInstanceProfile
  13420. //
  13421. // * ListInstanceProfiles
  13422. //
  13423. // * ListInstanceProfilesForRole
  13424. type InstanceProfile struct {
  13425. _ struct{} `type:"structure"`
  13426. // The Amazon Resource Name (ARN) specifying the instance profile. For more
  13427. // information about ARNs and how to use them in policies, see IAM Identifiers
  13428. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  13429. // in the Using IAM guide.
  13430. //
  13431. // Arn is a required field
  13432. Arn *string `min:"20" type:"string" required:"true"`
  13433. // The date when the instance profile was created.
  13434. //
  13435. // CreateDate is a required field
  13436. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  13437. // The stable and unique string identifying the instance profile. For more information
  13438. // about IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  13439. // in the Using IAM guide.
  13440. //
  13441. // InstanceProfileId is a required field
  13442. InstanceProfileId *string `min:"16" type:"string" required:"true"`
  13443. // The name identifying the instance profile.
  13444. //
  13445. // InstanceProfileName is a required field
  13446. InstanceProfileName *string `min:"1" type:"string" required:"true"`
  13447. // The path to the instance profile. For more information about paths, see IAM
  13448. // Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  13449. // in the Using IAM guide.
  13450. //
  13451. // Path is a required field
  13452. Path *string `min:"1" type:"string" required:"true"`
  13453. // The role associated with the instance profile.
  13454. //
  13455. // Roles is a required field
  13456. Roles []*Role `type:"list" required:"true"`
  13457. }
  13458. // String returns the string representation
  13459. func (s InstanceProfile) String() string {
  13460. return awsutil.Prettify(s)
  13461. }
  13462. // GoString returns the string representation
  13463. func (s InstanceProfile) GoString() string {
  13464. return s.String()
  13465. }
  13466. type ListAccessKeysInput struct {
  13467. _ struct{} `type:"structure"`
  13468. // Use this parameter only when paginating results and only after you receive
  13469. // a response indicating that the results are truncated. Set it to the value
  13470. // of the Marker element in the response that you received to indicate where
  13471. // the next call should start.
  13472. Marker *string `min:"1" type:"string"`
  13473. // Use this only when paginating results to indicate the maximum number of items
  13474. // you want in the response. If additional items exist beyond the maximum you
  13475. // specify, the IsTruncated response element is true.
  13476. //
  13477. // This parameter is optional. If you do not include it, it defaults to 100.
  13478. // Note that IAM might return fewer results, even when there are more results
  13479. // available. In that case, the IsTruncated response element returns true and
  13480. // Marker contains a value to include in the subsequent call that tells the
  13481. // service where to continue from.
  13482. MaxItems *int64 `min:"1" type:"integer"`
  13483. // The name of the user.
  13484. //
  13485. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  13486. // a string of characters consisting of upper and lowercase alphanumeric characters
  13487. // with no spaces. You can also include any of the following characters: =,.@-
  13488. UserName *string `min:"1" type:"string"`
  13489. }
  13490. // String returns the string representation
  13491. func (s ListAccessKeysInput) String() string {
  13492. return awsutil.Prettify(s)
  13493. }
  13494. // GoString returns the string representation
  13495. func (s ListAccessKeysInput) GoString() string {
  13496. return s.String()
  13497. }
  13498. // Validate inspects the fields of the type to determine if they are valid.
  13499. func (s *ListAccessKeysInput) Validate() error {
  13500. invalidParams := request.ErrInvalidParams{Context: "ListAccessKeysInput"}
  13501. if s.Marker != nil && len(*s.Marker) < 1 {
  13502. invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  13503. }
  13504. if s.MaxItems != nil && *s.MaxItems < 1 {
  13505. invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  13506. }
  13507. if s.UserName != nil && len(*s.UserName) < 1 {
  13508. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  13509. }
  13510. if invalidParams.Len() > 0 {
  13511. return invalidParams
  13512. }
  13513. return nil
  13514. }
  13515. // Contains the response to a successful ListAccessKeys request.
  13516. type ListAccessKeysOutput struct {
  13517. _ struct{} `type:"structure"`
  13518. // A list of objects containing metadata about the access keys.
  13519. //
  13520. // AccessKeyMetadata is a required field
  13521. AccessKeyMetadata []*AccessKeyMetadata `type:"list" required:"true"`
  13522. // A flag that indicates whether there are more items to return. If your results
  13523. // were truncated, you can make a subsequent pagination request using the Marker
  13524. // request parameter to retrieve more items. Note that IAM might return fewer
  13525. // than the MaxItems number of results even when there are more results available.
  13526. // We recommend that you check IsTruncated after every call to ensure that you
  13527. // receive all of your results.
  13528. IsTruncated *bool `type:"boolean"`
  13529. // When IsTruncated is true, this element is present and contains the value
  13530. // to use for the Marker parameter in a subsequent pagination request.
  13531. Marker *string `min:"1" type:"string"`
  13532. }
  13533. // String returns the string representation
  13534. func (s ListAccessKeysOutput) String() string {
  13535. return awsutil.Prettify(s)
  13536. }
  13537. // GoString returns the string representation
  13538. func (s ListAccessKeysOutput) GoString() string {
  13539. return s.String()
  13540. }
  13541. type ListAccountAliasesInput struct {
  13542. _ struct{} `type:"structure"`
  13543. // Use this parameter only when paginating results and only after you receive
  13544. // a response indicating that the results are truncated. Set it to the value
  13545. // of the Marker element in the response that you received to indicate where
  13546. // the next call should start.
  13547. Marker *string `min:"1" type:"string"`
  13548. // Use this only when paginating results to indicate the maximum number of items
  13549. // you want in the response. If additional items exist beyond the maximum you
  13550. // specify, the IsTruncated response element is true.
  13551. //
  13552. // This parameter is optional. If you do not include it, it defaults to 100.
  13553. // Note that IAM might return fewer results, even when there are more results
  13554. // available. In that case, the IsTruncated response element returns true and
  13555. // Marker contains a value to include in the subsequent call that tells the
  13556. // service where to continue from.
  13557. MaxItems *int64 `min:"1" type:"integer"`
  13558. }
  13559. // String returns the string representation
  13560. func (s ListAccountAliasesInput) String() string {
  13561. return awsutil.Prettify(s)
  13562. }
  13563. // GoString returns the string representation
  13564. func (s ListAccountAliasesInput) GoString() string {
  13565. return s.String()
  13566. }
  13567. // Validate inspects the fields of the type to determine if they are valid.
  13568. func (s *ListAccountAliasesInput) Validate() error {
  13569. invalidParams := request.ErrInvalidParams{Context: "ListAccountAliasesInput"}
  13570. if s.Marker != nil && len(*s.Marker) < 1 {
  13571. invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  13572. }
  13573. if s.MaxItems != nil && *s.MaxItems < 1 {
  13574. invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  13575. }
  13576. if invalidParams.Len() > 0 {
  13577. return invalidParams
  13578. }
  13579. return nil
  13580. }
  13581. // Contains the response to a successful ListAccountAliases request.
  13582. type ListAccountAliasesOutput struct {
  13583. _ struct{} `type:"structure"`
  13584. // A list of aliases associated with the account. AWS supports only one alias
  13585. // per account.
  13586. //
  13587. // AccountAliases is a required field
  13588. AccountAliases []*string `type:"list" required:"true"`
  13589. // A flag that indicates whether there are more items to return. If your results
  13590. // were truncated, you can make a subsequent pagination request using the Marker
  13591. // request parameter to retrieve more items. Note that IAM might return fewer
  13592. // than the MaxItems number of results even when there are more results available.
  13593. // We recommend that you check IsTruncated after every call to ensure that you
  13594. // receive all of your results.
  13595. IsTruncated *bool `type:"boolean"`
  13596. // When IsTruncated is true, this element is present and contains the value
  13597. // to use for the Marker parameter in a subsequent pagination request.
  13598. Marker *string `min:"1" type:"string"`
  13599. }
  13600. // String returns the string representation
  13601. func (s ListAccountAliasesOutput) String() string {
  13602. return awsutil.Prettify(s)
  13603. }
  13604. // GoString returns the string representation
  13605. func (s ListAccountAliasesOutput) GoString() string {
  13606. return s.String()
  13607. }
  13608. type ListAttachedGroupPoliciesInput struct {
  13609. _ struct{} `type:"structure"`
  13610. // The name (friendly name, not ARN) of the group to list attached policies
  13611. // for.
  13612. //
  13613. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  13614. // a string of characters consisting of upper and lowercase alphanumeric characters
  13615. // with no spaces. You can also include any of the following characters: =,.@-
  13616. //
  13617. // GroupName is a required field
  13618. GroupName *string `min:"1" type:"string" required:"true"`
  13619. // Use this parameter only when paginating results and only after you receive
  13620. // a response indicating that the results are truncated. Set it to the value
  13621. // of the Marker element in the response that you received to indicate where
  13622. // the next call should start.
  13623. Marker *string `min:"1" type:"string"`
  13624. // Use this only when paginating results to indicate the maximum number of items
  13625. // you want in the response. If additional items exist beyond the maximum you
  13626. // specify, the IsTruncated response element is true.
  13627. //
  13628. // This parameter is optional. If you do not include it, it defaults to 100.
  13629. // Note that IAM might return fewer results, even when there are more results
  13630. // available. In that case, the IsTruncated response element returns true and
  13631. // Marker contains a value to include in the subsequent call that tells the
  13632. // service where to continue from.
  13633. MaxItems *int64 `min:"1" type:"integer"`
  13634. // The path prefix for filtering the results. This parameter is optional. If
  13635. // it is not included, it defaults to a slash (/), listing all policies.
  13636. //
  13637. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  13638. // a string of characters consisting of either a forward slash (/) by itself
  13639. // or a string that must begin and end with forward slashes, containing any
  13640. // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including
  13641. // most punctuation characters, digits, and upper and lowercased letters.
  13642. PathPrefix *string `type:"string"`
  13643. }
  13644. // String returns the string representation
  13645. func (s ListAttachedGroupPoliciesInput) String() string {
  13646. return awsutil.Prettify(s)
  13647. }
  13648. // GoString returns the string representation
  13649. func (s ListAttachedGroupPoliciesInput) GoString() string {
  13650. return s.String()
  13651. }
  13652. // Validate inspects the fields of the type to determine if they are valid.
  13653. func (s *ListAttachedGroupPoliciesInput) Validate() error {
  13654. invalidParams := request.ErrInvalidParams{Context: "ListAttachedGroupPoliciesInput"}
  13655. if s.GroupName == nil {
  13656. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  13657. }
  13658. if s.GroupName != nil && len(*s.GroupName) < 1 {
  13659. invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
  13660. }
  13661. if s.Marker != nil && len(*s.Marker) < 1 {
  13662. invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  13663. }
  13664. if s.MaxItems != nil && *s.MaxItems < 1 {
  13665. invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  13666. }
  13667. if invalidParams.Len() > 0 {
  13668. return invalidParams
  13669. }
  13670. return nil
  13671. }
  13672. // Contains the response to a successful ListAttachedGroupPolicies request.
  13673. type ListAttachedGroupPoliciesOutput struct {
  13674. _ struct{} `type:"structure"`
  13675. // A list of the attached policies.
  13676. AttachedPolicies []*AttachedPolicy `type:"list"`
  13677. // A flag that indicates whether there are more items to return. If your results
  13678. // were truncated, you can make a subsequent pagination request using the Marker
  13679. // request parameter to retrieve more items. Note that IAM might return fewer
  13680. // than the MaxItems number of results even when there are more results available.
  13681. // We recommend that you check IsTruncated after every call to ensure that you
  13682. // receive all of your results.
  13683. IsTruncated *bool `type:"boolean"`
  13684. // When IsTruncated is true, this element is present and contains the value
  13685. // to use for the Marker parameter in a subsequent pagination request.
  13686. Marker *string `min:"1" type:"string"`
  13687. }
  13688. // String returns the string representation
  13689. func (s ListAttachedGroupPoliciesOutput) String() string {
  13690. return awsutil.Prettify(s)
  13691. }
  13692. // GoString returns the string representation
  13693. func (s ListAttachedGroupPoliciesOutput) GoString() string {
  13694. return s.String()
  13695. }
  13696. type ListAttachedRolePoliciesInput struct {
  13697. _ struct{} `type:"structure"`
  13698. // Use this parameter only when paginating results and only after you receive
  13699. // a response indicating that the results are truncated. Set it to the value
  13700. // of the Marker element in the response that you received to indicate where
  13701. // the next call should start.
  13702. Marker *string `min:"1" type:"string"`
  13703. // Use this only when paginating results to indicate the maximum number of items
  13704. // you want in the response. If additional items exist beyond the maximum you
  13705. // specify, the IsTruncated response element is true.
  13706. //
  13707. // This parameter is optional. If you do not include it, it defaults to 100.
  13708. // Note that IAM might return fewer results, even when there are more results
  13709. // available. In that case, the IsTruncated response element returns true and
  13710. // Marker contains a value to include in the subsequent call that tells the
  13711. // service where to continue from.
  13712. MaxItems *int64 `min:"1" type:"integer"`
  13713. // The path prefix for filtering the results. This parameter is optional. If
  13714. // it is not included, it defaults to a slash (/), listing all policies.
  13715. //
  13716. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  13717. // a string of characters consisting of either a forward slash (/) by itself
  13718. // or a string that must begin and end with forward slashes, containing any
  13719. // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including
  13720. // most punctuation characters, digits, and upper and lowercased letters.
  13721. PathPrefix *string `type:"string"`
  13722. // The name (friendly name, not ARN) of the role to list attached policies for.
  13723. //
  13724. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  13725. // a string of characters consisting of upper and lowercase alphanumeric characters
  13726. // with no spaces. You can also include any of the following characters: =,.@-
  13727. //
  13728. // RoleName is a required field
  13729. RoleName *string `min:"1" type:"string" required:"true"`
  13730. }
  13731. // String returns the string representation
  13732. func (s ListAttachedRolePoliciesInput) String() string {
  13733. return awsutil.Prettify(s)
  13734. }
  13735. // GoString returns the string representation
  13736. func (s ListAttachedRolePoliciesInput) GoString() string {
  13737. return s.String()
  13738. }
  13739. // Validate inspects the fields of the type to determine if they are valid.
  13740. func (s *ListAttachedRolePoliciesInput) Validate() error {
  13741. invalidParams := request.ErrInvalidParams{Context: "ListAttachedRolePoliciesInput"}
  13742. if s.Marker != nil && len(*s.Marker) < 1 {
  13743. invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  13744. }
  13745. if s.MaxItems != nil && *s.MaxItems < 1 {
  13746. invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  13747. }
  13748. if s.RoleName == nil {
  13749. invalidParams.Add(request.NewErrParamRequired("RoleName"))
  13750. }
  13751. if s.RoleName != nil && len(*s.RoleName) < 1 {
  13752. invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
  13753. }
  13754. if invalidParams.Len() > 0 {
  13755. return invalidParams
  13756. }
  13757. return nil
  13758. }
  13759. // Contains the response to a successful ListAttachedRolePolicies request.
  13760. type ListAttachedRolePoliciesOutput struct {
  13761. _ struct{} `type:"structure"`
  13762. // A list of the attached policies.
  13763. AttachedPolicies []*AttachedPolicy `type:"list"`
  13764. // A flag that indicates whether there are more items to return. If your results
  13765. // were truncated, you can make a subsequent pagination request using the Marker
  13766. // request parameter to retrieve more items. Note that IAM might return fewer
  13767. // than the MaxItems number of results even when there are more results available.
  13768. // We recommend that you check IsTruncated after every call to ensure that you
  13769. // receive all of your results.
  13770. IsTruncated *bool `type:"boolean"`
  13771. // When IsTruncated is true, this element is present and contains the value
  13772. // to use for the Marker parameter in a subsequent pagination request.
  13773. Marker *string `min:"1" type:"string"`
  13774. }
  13775. // String returns the string representation
  13776. func (s ListAttachedRolePoliciesOutput) String() string {
  13777. return awsutil.Prettify(s)
  13778. }
  13779. // GoString returns the string representation
  13780. func (s ListAttachedRolePoliciesOutput) GoString() string {
  13781. return s.String()
  13782. }
  13783. type ListAttachedUserPoliciesInput struct {
  13784. _ struct{} `type:"structure"`
  13785. // Use this parameter only when paginating results and only after you receive
  13786. // a response indicating that the results are truncated. Set it to the value
  13787. // of the Marker element in the response that you received to indicate where
  13788. // the next call should start.
  13789. Marker *string `min:"1" type:"string"`
  13790. // Use this only when paginating results to indicate the maximum number of items
  13791. // you want in the response. If additional items exist beyond the maximum you
  13792. // specify, the IsTruncated response element is true.
  13793. //
  13794. // This parameter is optional. If you do not include it, it defaults to 100.
  13795. // Note that IAM might return fewer results, even when there are more results
  13796. // available. In that case, the IsTruncated response element returns true and
  13797. // Marker contains a value to include in the subsequent call that tells the
  13798. // service where to continue from.
  13799. MaxItems *int64 `min:"1" type:"integer"`
  13800. // The path prefix for filtering the results. This parameter is optional. If
  13801. // it is not included, it defaults to a slash (/), listing all policies.
  13802. //
  13803. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  13804. // a string of characters consisting of either a forward slash (/) by itself
  13805. // or a string that must begin and end with forward slashes, containing any
  13806. // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including
  13807. // most punctuation characters, digits, and upper and lowercased letters.
  13808. PathPrefix *string `type:"string"`
  13809. // The name (friendly name, not ARN) of the user to list attached policies for.
  13810. //
  13811. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  13812. // a string of characters consisting of upper and lowercase alphanumeric characters
  13813. // with no spaces. You can also include any of the following characters: =,.@-
  13814. //
  13815. // UserName is a required field
  13816. UserName *string `min:"1" type:"string" required:"true"`
  13817. }
  13818. // String returns the string representation
  13819. func (s ListAttachedUserPoliciesInput) String() string {
  13820. return awsutil.Prettify(s)
  13821. }
  13822. // GoString returns the string representation
  13823. func (s ListAttachedUserPoliciesInput) GoString() string {
  13824. return s.String()
  13825. }
  13826. // Validate inspects the fields of the type to determine if they are valid.
  13827. func (s *ListAttachedUserPoliciesInput) Validate() error {
  13828. invalidParams := request.ErrInvalidParams{Context: "ListAttachedUserPoliciesInput"}
  13829. if s.Marker != nil && len(*s.Marker) < 1 {
  13830. invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  13831. }
  13832. if s.MaxItems != nil && *s.MaxItems < 1 {
  13833. invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  13834. }
  13835. if s.UserName == nil {
  13836. invalidParams.Add(request.NewErrParamRequired("UserName"))
  13837. }
  13838. if s.UserName != nil && len(*s.UserName) < 1 {
  13839. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  13840. }
  13841. if invalidParams.Len() > 0 {
  13842. return invalidParams
  13843. }
  13844. return nil
  13845. }
  13846. // Contains the response to a successful ListAttachedUserPolicies request.
  13847. type ListAttachedUserPoliciesOutput struct {
  13848. _ struct{} `type:"structure"`
  13849. // A list of the attached policies.
  13850. AttachedPolicies []*AttachedPolicy `type:"list"`
  13851. // A flag that indicates whether there are more items to return. If your results
  13852. // were truncated, you can make a subsequent pagination request using the Marker
  13853. // request parameter to retrieve more items. Note that IAM might return fewer
  13854. // than the MaxItems number of results even when there are more results available.
  13855. // We recommend that you check IsTruncated after every call to ensure that you
  13856. // receive all of your results.
  13857. IsTruncated *bool `type:"boolean"`
  13858. // When IsTruncated is true, this element is present and contains the value
  13859. // to use for the Marker parameter in a subsequent pagination request.
  13860. Marker *string `min:"1" type:"string"`
  13861. }
  13862. // String returns the string representation
  13863. func (s ListAttachedUserPoliciesOutput) String() string {
  13864. return awsutil.Prettify(s)
  13865. }
  13866. // GoString returns the string representation
  13867. func (s ListAttachedUserPoliciesOutput) GoString() string {
  13868. return s.String()
  13869. }
  13870. type ListEntitiesForPolicyInput struct {
  13871. _ struct{} `type:"structure"`
  13872. // The entity type to use for filtering the results.
  13873. //
  13874. // For example, when EntityFilter is Role, only the roles that are attached
  13875. // to the specified policy are returned. This parameter is optional. If it is
  13876. // not included, all attached entities (users, groups, and roles) are returned.
  13877. // The argument for this parameter must be one of the valid values listed below.
  13878. EntityFilter *string `type:"string" enum:"EntityType"`
  13879. // Use this parameter only when paginating results and only after you receive
  13880. // a response indicating that the results are truncated. Set it to the value
  13881. // of the Marker element in the response that you received to indicate where
  13882. // the next call should start.
  13883. Marker *string `min:"1" type:"string"`
  13884. // Use this only when paginating results to indicate the maximum number of items
  13885. // you want in the response. If additional items exist beyond the maximum you
  13886. // specify, the IsTruncated response element is true.
  13887. //
  13888. // This parameter is optional. If you do not include it, it defaults to 100.
  13889. // Note that IAM might return fewer results, even when there are more results
  13890. // available. In that case, the IsTruncated response element returns true and
  13891. // Marker contains a value to include in the subsequent call that tells the
  13892. // service where to continue from.
  13893. MaxItems *int64 `min:"1" type:"integer"`
  13894. // The path prefix for filtering the results. This parameter is optional. If
  13895. // it is not included, it defaults to a slash (/), listing all entities.
  13896. //
  13897. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  13898. // a string of characters consisting of either a forward slash (/) by itself
  13899. // or a string that must begin and end with forward slashes, containing any
  13900. // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including
  13901. // most punctuation characters, digits, and upper and lowercased letters.
  13902. PathPrefix *string `min:"1" type:"string"`
  13903. // The Amazon Resource Name (ARN) of the IAM policy for which you want the versions.
  13904. //
  13905. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  13906. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  13907. // in the AWS General Reference.
  13908. //
  13909. // PolicyArn is a required field
  13910. PolicyArn *string `min:"20" type:"string" required:"true"`
  13911. }
  13912. // String returns the string representation
  13913. func (s ListEntitiesForPolicyInput) String() string {
  13914. return awsutil.Prettify(s)
  13915. }
  13916. // GoString returns the string representation
  13917. func (s ListEntitiesForPolicyInput) GoString() string {
  13918. return s.String()
  13919. }
  13920. // Validate inspects the fields of the type to determine if they are valid.
  13921. func (s *ListEntitiesForPolicyInput) Validate() error {
  13922. invalidParams := request.ErrInvalidParams{Context: "ListEntitiesForPolicyInput"}
  13923. if s.Marker != nil && len(*s.Marker) < 1 {
  13924. invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  13925. }
  13926. if s.MaxItems != nil && *s.MaxItems < 1 {
  13927. invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  13928. }
  13929. if s.PathPrefix != nil && len(*s.PathPrefix) < 1 {
  13930. invalidParams.Add(request.NewErrParamMinLen("PathPrefix", 1))
  13931. }
  13932. if s.PolicyArn == nil {
  13933. invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
  13934. }
  13935. if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
  13936. invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
  13937. }
  13938. if invalidParams.Len() > 0 {
  13939. return invalidParams
  13940. }
  13941. return nil
  13942. }
  13943. // Contains the response to a successful ListEntitiesForPolicy request.
  13944. type ListEntitiesForPolicyOutput struct {
  13945. _ struct{} `type:"structure"`
  13946. // A flag that indicates whether there are more items to return. If your results
  13947. // were truncated, you can make a subsequent pagination request using the Marker
  13948. // request parameter to retrieve more items. Note that IAM might return fewer
  13949. // than the MaxItems number of results even when there are more results available.
  13950. // We recommend that you check IsTruncated after every call to ensure that you
  13951. // receive all of your results.
  13952. IsTruncated *bool `type:"boolean"`
  13953. // When IsTruncated is true, this element is present and contains the value
  13954. // to use for the Marker parameter in a subsequent pagination request.
  13955. Marker *string `min:"1" type:"string"`
  13956. // A list of IAM groups that the policy is attached to.
  13957. PolicyGroups []*PolicyGroup `type:"list"`
  13958. // A list of IAM roles that the policy is attached to.
  13959. PolicyRoles []*PolicyRole `type:"list"`
  13960. // A list of IAM users that the policy is attached to.
  13961. PolicyUsers []*PolicyUser `type:"list"`
  13962. }
  13963. // String returns the string representation
  13964. func (s ListEntitiesForPolicyOutput) String() string {
  13965. return awsutil.Prettify(s)
  13966. }
  13967. // GoString returns the string representation
  13968. func (s ListEntitiesForPolicyOutput) GoString() string {
  13969. return s.String()
  13970. }
  13971. type ListGroupPoliciesInput struct {
  13972. _ struct{} `type:"structure"`
  13973. // The name of the group to list policies for.
  13974. //
  13975. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  13976. // a string of characters consisting of upper and lowercase alphanumeric characters
  13977. // with no spaces. You can also include any of the following characters: =,.@-
  13978. //
  13979. // GroupName is a required field
  13980. GroupName *string `min:"1" type:"string" required:"true"`
  13981. // Use this parameter only when paginating results and only after you receive
  13982. // a response indicating that the results are truncated. Set it to the value
  13983. // of the Marker element in the response that you received to indicate where
  13984. // the next call should start.
  13985. Marker *string `min:"1" type:"string"`
  13986. // Use this only when paginating results to indicate the maximum number of items
  13987. // you want in the response. If additional items exist beyond the maximum you
  13988. // specify, the IsTruncated response element is true.
  13989. //
  13990. // This parameter is optional. If you do not include it, it defaults to 100.
  13991. // Note that IAM might return fewer results, even when there are more results
  13992. // available. In that case, the IsTruncated response element returns true and
  13993. // Marker contains a value to include in the subsequent call that tells the
  13994. // service where to continue from.
  13995. MaxItems *int64 `min:"1" type:"integer"`
  13996. }
  13997. // String returns the string representation
  13998. func (s ListGroupPoliciesInput) String() string {
  13999. return awsutil.Prettify(s)
  14000. }
  14001. // GoString returns the string representation
  14002. func (s ListGroupPoliciesInput) GoString() string {
  14003. return s.String()
  14004. }
  14005. // Validate inspects the fields of the type to determine if they are valid.
  14006. func (s *ListGroupPoliciesInput) Validate() error {
  14007. invalidParams := request.ErrInvalidParams{Context: "ListGroupPoliciesInput"}
  14008. if s.GroupName == nil {
  14009. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  14010. }
  14011. if s.GroupName != nil && len(*s.GroupName) < 1 {
  14012. invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
  14013. }
  14014. if s.Marker != nil && len(*s.Marker) < 1 {
  14015. invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  14016. }
  14017. if s.MaxItems != nil && *s.MaxItems < 1 {
  14018. invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  14019. }
  14020. if invalidParams.Len() > 0 {
  14021. return invalidParams
  14022. }
  14023. return nil
  14024. }
  14025. // Contains the response to a successful ListGroupPolicies request.
  14026. type ListGroupPoliciesOutput struct {
  14027. _ struct{} `type:"structure"`
  14028. // A flag that indicates whether there are more items to return. If your results
  14029. // were truncated, you can make a subsequent pagination request using the Marker
  14030. // request parameter to retrieve more items. Note that IAM might return fewer
  14031. // than the MaxItems number of results even when there are more results available.
  14032. // We recommend that you check IsTruncated after every call to ensure that you
  14033. // receive all of your results.
  14034. IsTruncated *bool `type:"boolean"`
  14035. // When IsTruncated is true, this element is present and contains the value
  14036. // to use for the Marker parameter in a subsequent pagination request.
  14037. Marker *string `min:"1" type:"string"`
  14038. // A list of policy names.
  14039. //
  14040. // PolicyNames is a required field
  14041. PolicyNames []*string `type:"list" required:"true"`
  14042. }
  14043. // String returns the string representation
  14044. func (s ListGroupPoliciesOutput) String() string {
  14045. return awsutil.Prettify(s)
  14046. }
  14047. // GoString returns the string representation
  14048. func (s ListGroupPoliciesOutput) GoString() string {
  14049. return s.String()
  14050. }
  14051. type ListGroupsForUserInput struct {
  14052. _ struct{} `type:"structure"`
  14053. // Use this parameter only when paginating results and only after you receive
  14054. // a response indicating that the results are truncated. Set it to the value
  14055. // of the Marker element in the response that you received to indicate where
  14056. // the next call should start.
  14057. Marker *string `min:"1" type:"string"`
  14058. // Use this only when paginating results to indicate the maximum number of items
  14059. // you want in the response. If additional items exist beyond the maximum you
  14060. // specify, the IsTruncated response element is true.
  14061. //
  14062. // This parameter is optional. If you do not include it, it defaults to 100.
  14063. // Note that IAM might return fewer results, even when there are more results
  14064. // available. In that case, the IsTruncated response element returns true and
  14065. // Marker contains a value to include in the subsequent call that tells the
  14066. // service where to continue from.
  14067. MaxItems *int64 `min:"1" type:"integer"`
  14068. // The name of the user to list groups for.
  14069. //
  14070. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  14071. // a string of characters consisting of upper and lowercase alphanumeric characters
  14072. // with no spaces. You can also include any of the following characters: =,.@-
  14073. //
  14074. // UserName is a required field
  14075. UserName *string `min:"1" type:"string" required:"true"`
  14076. }
  14077. // String returns the string representation
  14078. func (s ListGroupsForUserInput) String() string {
  14079. return awsutil.Prettify(s)
  14080. }
  14081. // GoString returns the string representation
  14082. func (s ListGroupsForUserInput) GoString() string {
  14083. return s.String()
  14084. }
  14085. // Validate inspects the fields of the type to determine if they are valid.
  14086. func (s *ListGroupsForUserInput) Validate() error {
  14087. invalidParams := request.ErrInvalidParams{Context: "ListGroupsForUserInput"}
  14088. if s.Marker != nil && len(*s.Marker) < 1 {
  14089. invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  14090. }
  14091. if s.MaxItems != nil && *s.MaxItems < 1 {
  14092. invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  14093. }
  14094. if s.UserName == nil {
  14095. invalidParams.Add(request.NewErrParamRequired("UserName"))
  14096. }
  14097. if s.UserName != nil && len(*s.UserName) < 1 {
  14098. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  14099. }
  14100. if invalidParams.Len() > 0 {
  14101. return invalidParams
  14102. }
  14103. return nil
  14104. }
  14105. // Contains the response to a successful ListGroupsForUser request.
  14106. type ListGroupsForUserOutput struct {
  14107. _ struct{} `type:"structure"`
  14108. // A list of groups.
  14109. //
  14110. // Groups is a required field
  14111. Groups []*Group `type:"list" required:"true"`
  14112. // A flag that indicates whether there are more items to return. If your results
  14113. // were truncated, you can make a subsequent pagination request using the Marker
  14114. // request parameter to retrieve more items. Note that IAM might return fewer
  14115. // than the MaxItems number of results even when there are more results available.
  14116. // We recommend that you check IsTruncated after every call to ensure that you
  14117. // receive all of your results.
  14118. IsTruncated *bool `type:"boolean"`
  14119. // When IsTruncated is true, this element is present and contains the value
  14120. // to use for the Marker parameter in a subsequent pagination request.
  14121. Marker *string `min:"1" type:"string"`
  14122. }
  14123. // String returns the string representation
  14124. func (s ListGroupsForUserOutput) String() string {
  14125. return awsutil.Prettify(s)
  14126. }
  14127. // GoString returns the string representation
  14128. func (s ListGroupsForUserOutput) GoString() string {
  14129. return s.String()
  14130. }
  14131. type ListGroupsInput struct {
  14132. _ struct{} `type:"structure"`
  14133. // Use this parameter only when paginating results and only after you receive
  14134. // a response indicating that the results are truncated. Set it to the value
  14135. // of the Marker element in the response that you received to indicate where
  14136. // the next call should start.
  14137. Marker *string `min:"1" type:"string"`
  14138. // Use this only when paginating results to indicate the maximum number of items
  14139. // you want in the response. If additional items exist beyond the maximum you
  14140. // specify, the IsTruncated response element is true.
  14141. //
  14142. // This parameter is optional. If you do not include it, it defaults to 100.
  14143. // Note that IAM might return fewer results, even when there are more results
  14144. // available. In that case, the IsTruncated response element returns true and
  14145. // Marker contains a value to include in the subsequent call that tells the
  14146. // service where to continue from.
  14147. MaxItems *int64 `min:"1" type:"integer"`
  14148. // The path prefix for filtering the results. For example, the prefix /division_abc/subdivision_xyz/
  14149. // gets all groups whose path starts with /division_abc/subdivision_xyz/.
  14150. //
  14151. // This parameter is optional. If it is not included, it defaults to a slash
  14152. // (/), listing all groups. The regex pattern (http://wikipedia.org/wiki/regex)
  14153. // for this parameter is a string of characters consisting of either a forward
  14154. // slash (/) by itself or a string that must begin and end with forward slashes,
  14155. // containing any ASCII character from the ! (\u0021) thru the DEL character
  14156. // (\u007F), including most punctuation characters, digits, and upper and lowercased
  14157. // letters.
  14158. PathPrefix *string `min:"1" type:"string"`
  14159. }
  14160. // String returns the string representation
  14161. func (s ListGroupsInput) String() string {
  14162. return awsutil.Prettify(s)
  14163. }
  14164. // GoString returns the string representation
  14165. func (s ListGroupsInput) GoString() string {
  14166. return s.String()
  14167. }
  14168. // Validate inspects the fields of the type to determine if they are valid.
  14169. func (s *ListGroupsInput) Validate() error {
  14170. invalidParams := request.ErrInvalidParams{Context: "ListGroupsInput"}
  14171. if s.Marker != nil && len(*s.Marker) < 1 {
  14172. invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  14173. }
  14174. if s.MaxItems != nil && *s.MaxItems < 1 {
  14175. invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  14176. }
  14177. if s.PathPrefix != nil && len(*s.PathPrefix) < 1 {
  14178. invalidParams.Add(request.NewErrParamMinLen("PathPrefix", 1))
  14179. }
  14180. if invalidParams.Len() > 0 {
  14181. return invalidParams
  14182. }
  14183. return nil
  14184. }
  14185. // Contains the response to a successful ListGroups request.
  14186. type ListGroupsOutput struct {
  14187. _ struct{} `type:"structure"`
  14188. // A list of groups.
  14189. //
  14190. // Groups is a required field
  14191. Groups []*Group `type:"list" required:"true"`
  14192. // A flag that indicates whether there are more items to return. If your results
  14193. // were truncated, you can make a subsequent pagination request using the Marker
  14194. // request parameter to retrieve more items. Note that IAM might return fewer
  14195. // than the MaxItems number of results even when there are more results available.
  14196. // We recommend that you check IsTruncated after every call to ensure that you
  14197. // receive all of your results.
  14198. IsTruncated *bool `type:"boolean"`
  14199. // When IsTruncated is true, this element is present and contains the value
  14200. // to use for the Marker parameter in a subsequent pagination request.
  14201. Marker *string `min:"1" type:"string"`
  14202. }
  14203. // String returns the string representation
  14204. func (s ListGroupsOutput) String() string {
  14205. return awsutil.Prettify(s)
  14206. }
  14207. // GoString returns the string representation
  14208. func (s ListGroupsOutput) GoString() string {
  14209. return s.String()
  14210. }
  14211. type ListInstanceProfilesForRoleInput struct {
  14212. _ struct{} `type:"structure"`
  14213. // Use this parameter only when paginating results and only after you receive
  14214. // a response indicating that the results are truncated. Set it to the value
  14215. // of the Marker element in the response that you received to indicate where
  14216. // the next call should start.
  14217. Marker *string `min:"1" type:"string"`
  14218. // Use this only when paginating results to indicate the maximum number of items
  14219. // you want in the response. If additional items exist beyond the maximum you
  14220. // specify, the IsTruncated response element is true.
  14221. //
  14222. // This parameter is optional. If you do not include it, it defaults to 100.
  14223. // Note that IAM might return fewer results, even when there are more results
  14224. // available. In that case, the IsTruncated response element returns true and
  14225. // Marker contains a value to include in the subsequent call that tells the
  14226. // service where to continue from.
  14227. MaxItems *int64 `min:"1" type:"integer"`
  14228. // The name of the role to list instance profiles for.
  14229. //
  14230. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  14231. // a string of characters consisting of upper and lowercase alphanumeric characters
  14232. // with no spaces. You can also include any of the following characters: =,.@-
  14233. //
  14234. // RoleName is a required field
  14235. RoleName *string `min:"1" type:"string" required:"true"`
  14236. }
  14237. // String returns the string representation
  14238. func (s ListInstanceProfilesForRoleInput) String() string {
  14239. return awsutil.Prettify(s)
  14240. }
  14241. // GoString returns the string representation
  14242. func (s ListInstanceProfilesForRoleInput) GoString() string {
  14243. return s.String()
  14244. }
  14245. // Validate inspects the fields of the type to determine if they are valid.
  14246. func (s *ListInstanceProfilesForRoleInput) Validate() error {
  14247. invalidParams := request.ErrInvalidParams{Context: "ListInstanceProfilesForRoleInput"}
  14248. if s.Marker != nil && len(*s.Marker) < 1 {
  14249. invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  14250. }
  14251. if s.MaxItems != nil && *s.MaxItems < 1 {
  14252. invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  14253. }
  14254. if s.RoleName == nil {
  14255. invalidParams.Add(request.NewErrParamRequired("RoleName"))
  14256. }
  14257. if s.RoleName != nil && len(*s.RoleName) < 1 {
  14258. invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
  14259. }
  14260. if invalidParams.Len() > 0 {
  14261. return invalidParams
  14262. }
  14263. return nil
  14264. }
  14265. // Contains the response to a successful ListInstanceProfilesForRole request.
  14266. type ListInstanceProfilesForRoleOutput struct {
  14267. _ struct{} `type:"structure"`
  14268. // A list of instance profiles.
  14269. //
  14270. // InstanceProfiles is a required field
  14271. InstanceProfiles []*InstanceProfile `type:"list" required:"true"`
  14272. // A flag that indicates whether there are more items to return. If your results
  14273. // were truncated, you can make a subsequent pagination request using the Marker
  14274. // request parameter to retrieve more items. Note that IAM might return fewer
  14275. // than the MaxItems number of results even when there are more results available.
  14276. // We recommend that you check IsTruncated after every call to ensure that you
  14277. // receive all of your results.
  14278. IsTruncated *bool `type:"boolean"`
  14279. // When IsTruncated is true, this element is present and contains the value
  14280. // to use for the Marker parameter in a subsequent pagination request.
  14281. Marker *string `min:"1" type:"string"`
  14282. }
  14283. // String returns the string representation
  14284. func (s ListInstanceProfilesForRoleOutput) String() string {
  14285. return awsutil.Prettify(s)
  14286. }
  14287. // GoString returns the string representation
  14288. func (s ListInstanceProfilesForRoleOutput) GoString() string {
  14289. return s.String()
  14290. }
  14291. type ListInstanceProfilesInput struct {
  14292. _ struct{} `type:"structure"`
  14293. // Use this parameter only when paginating results and only after you receive
  14294. // a response indicating that the results are truncated. Set it to the value
  14295. // of the Marker element in the response that you received to indicate where
  14296. // the next call should start.
  14297. Marker *string `min:"1" type:"string"`
  14298. // Use this only when paginating results to indicate the maximum number of items
  14299. // you want in the response. If additional items exist beyond the maximum you
  14300. // specify, the IsTruncated response element is true.
  14301. //
  14302. // This parameter is optional. If you do not include it, it defaults to 100.
  14303. // Note that IAM might return fewer results, even when there are more results
  14304. // available. In that case, the IsTruncated response element returns true and
  14305. // Marker contains a value to include in the subsequent call that tells the
  14306. // service where to continue from.
  14307. MaxItems *int64 `min:"1" type:"integer"`
  14308. // The path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/
  14309. // gets all instance profiles whose path starts with /application_abc/component_xyz/.
  14310. //
  14311. // This parameter is optional. If it is not included, it defaults to a slash
  14312. // (/), listing all instance profiles. The regex pattern (http://wikipedia.org/wiki/regex)
  14313. // for this parameter is a string of characters consisting of either a forward
  14314. // slash (/) by itself or a string that must begin and end with forward slashes,
  14315. // containing any ASCII character from the ! (\u0021) thru the DEL character
  14316. // (\u007F), including most punctuation characters, digits, and upper and lowercased
  14317. // letters.
  14318. PathPrefix *string `min:"1" type:"string"`
  14319. }
  14320. // String returns the string representation
  14321. func (s ListInstanceProfilesInput) String() string {
  14322. return awsutil.Prettify(s)
  14323. }
  14324. // GoString returns the string representation
  14325. func (s ListInstanceProfilesInput) GoString() string {
  14326. return s.String()
  14327. }
  14328. // Validate inspects the fields of the type to determine if they are valid.
  14329. func (s *ListInstanceProfilesInput) Validate() error {
  14330. invalidParams := request.ErrInvalidParams{Context: "ListInstanceProfilesInput"}
  14331. if s.Marker != nil && len(*s.Marker) < 1 {
  14332. invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  14333. }
  14334. if s.MaxItems != nil && *s.MaxItems < 1 {
  14335. invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  14336. }
  14337. if s.PathPrefix != nil && len(*s.PathPrefix) < 1 {
  14338. invalidParams.Add(request.NewErrParamMinLen("PathPrefix", 1))
  14339. }
  14340. if invalidParams.Len() > 0 {
  14341. return invalidParams
  14342. }
  14343. return nil
  14344. }
  14345. // Contains the response to a successful ListInstanceProfiles request.
  14346. type ListInstanceProfilesOutput struct {
  14347. _ struct{} `type:"structure"`
  14348. // A list of instance profiles.
  14349. //
  14350. // InstanceProfiles is a required field
  14351. InstanceProfiles []*InstanceProfile `type:"list" required:"true"`
  14352. // A flag that indicates whether there are more items to return. If your results
  14353. // were truncated, you can make a subsequent pagination request using the Marker
  14354. // request parameter to retrieve more items. Note that IAM might return fewer
  14355. // than the MaxItems number of results even when there are more results available.
  14356. // We recommend that you check IsTruncated after every call to ensure that you
  14357. // receive all of your results.
  14358. IsTruncated *bool `type:"boolean"`
  14359. // When IsTruncated is true, this element is present and contains the value
  14360. // to use for the Marker parameter in a subsequent pagination request.
  14361. Marker *string `min:"1" type:"string"`
  14362. }
  14363. // String returns the string representation
  14364. func (s ListInstanceProfilesOutput) String() string {
  14365. return awsutil.Prettify(s)
  14366. }
  14367. // GoString returns the string representation
  14368. func (s ListInstanceProfilesOutput) GoString() string {
  14369. return s.String()
  14370. }
  14371. type ListMFADevicesInput struct {
  14372. _ struct{} `type:"structure"`
  14373. // Use this parameter only when paginating results and only after you receive
  14374. // a response indicating that the results are truncated. Set it to the value
  14375. // of the Marker element in the response that you received to indicate where
  14376. // the next call should start.
  14377. Marker *string `min:"1" type:"string"`
  14378. // Use this only when paginating results to indicate the maximum number of items
  14379. // you want in the response. If additional items exist beyond the maximum you
  14380. // specify, the IsTruncated response element is true.
  14381. //
  14382. // This parameter is optional. If you do not include it, it defaults to 100.
  14383. // Note that IAM might return fewer results, even when there are more results
  14384. // available. In that case, the IsTruncated response element returns true and
  14385. // Marker contains a value to include in the subsequent call that tells the
  14386. // service where to continue from.
  14387. MaxItems *int64 `min:"1" type:"integer"`
  14388. // The name of the user whose MFA devices you want to list.
  14389. //
  14390. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  14391. // a string of characters consisting of upper and lowercase alphanumeric characters
  14392. // with no spaces. You can also include any of the following characters: =,.@-
  14393. UserName *string `min:"1" type:"string"`
  14394. }
  14395. // String returns the string representation
  14396. func (s ListMFADevicesInput) String() string {
  14397. return awsutil.Prettify(s)
  14398. }
  14399. // GoString returns the string representation
  14400. func (s ListMFADevicesInput) GoString() string {
  14401. return s.String()
  14402. }
  14403. // Validate inspects the fields of the type to determine if they are valid.
  14404. func (s *ListMFADevicesInput) Validate() error {
  14405. invalidParams := request.ErrInvalidParams{Context: "ListMFADevicesInput"}
  14406. if s.Marker != nil && len(*s.Marker) < 1 {
  14407. invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  14408. }
  14409. if s.MaxItems != nil && *s.MaxItems < 1 {
  14410. invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  14411. }
  14412. if s.UserName != nil && len(*s.UserName) < 1 {
  14413. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  14414. }
  14415. if invalidParams.Len() > 0 {
  14416. return invalidParams
  14417. }
  14418. return nil
  14419. }
  14420. // Contains the response to a successful ListMFADevices request.
  14421. type ListMFADevicesOutput struct {
  14422. _ struct{} `type:"structure"`
  14423. // A flag that indicates whether there are more items to return. If your results
  14424. // were truncated, you can make a subsequent pagination request using the Marker
  14425. // request parameter to retrieve more items. Note that IAM might return fewer
  14426. // than the MaxItems number of results even when there are more results available.
  14427. // We recommend that you check IsTruncated after every call to ensure that you
  14428. // receive all of your results.
  14429. IsTruncated *bool `type:"boolean"`
  14430. // A list of MFA devices.
  14431. //
  14432. // MFADevices is a required field
  14433. MFADevices []*MFADevice `type:"list" required:"true"`
  14434. // When IsTruncated is true, this element is present and contains the value
  14435. // to use for the Marker parameter in a subsequent pagination request.
  14436. Marker *string `min:"1" type:"string"`
  14437. }
  14438. // String returns the string representation
  14439. func (s ListMFADevicesOutput) String() string {
  14440. return awsutil.Prettify(s)
  14441. }
  14442. // GoString returns the string representation
  14443. func (s ListMFADevicesOutput) GoString() string {
  14444. return s.String()
  14445. }
  14446. type ListOpenIDConnectProvidersInput struct {
  14447. _ struct{} `type:"structure"`
  14448. }
  14449. // String returns the string representation
  14450. func (s ListOpenIDConnectProvidersInput) String() string {
  14451. return awsutil.Prettify(s)
  14452. }
  14453. // GoString returns the string representation
  14454. func (s ListOpenIDConnectProvidersInput) GoString() string {
  14455. return s.String()
  14456. }
  14457. // Contains the response to a successful ListOpenIDConnectProviders request.
  14458. type ListOpenIDConnectProvidersOutput struct {
  14459. _ struct{} `type:"structure"`
  14460. // The list of IAM OIDC provider resource objects defined in the AWS account.
  14461. OpenIDConnectProviderList []*OpenIDConnectProviderListEntry `type:"list"`
  14462. }
  14463. // String returns the string representation
  14464. func (s ListOpenIDConnectProvidersOutput) String() string {
  14465. return awsutil.Prettify(s)
  14466. }
  14467. // GoString returns the string representation
  14468. func (s ListOpenIDConnectProvidersOutput) GoString() string {
  14469. return s.String()
  14470. }
  14471. type ListPoliciesInput struct {
  14472. _ struct{} `type:"structure"`
  14473. // Use this parameter only when paginating results and only after you receive
  14474. // a response indicating that the results are truncated. Set it to the value
  14475. // of the Marker element in the response that you received to indicate where
  14476. // the next call should start.
  14477. Marker *string `min:"1" type:"string"`
  14478. // Use this only when paginating results to indicate the maximum number of items
  14479. // you want in the response. If additional items exist beyond the maximum you
  14480. // specify, the IsTruncated response element is true.
  14481. //
  14482. // This parameter is optional. If you do not include it, it defaults to 100.
  14483. // Note that IAM might return fewer results, even when there are more results
  14484. // available. In that case, the IsTruncated response element returns true and
  14485. // Marker contains a value to include in the subsequent call that tells the
  14486. // service where to continue from.
  14487. MaxItems *int64 `min:"1" type:"integer"`
  14488. // A flag to filter the results to only the attached policies.
  14489. //
  14490. // When OnlyAttached is true, the returned list contains only the policies that
  14491. // are attached to an IAM user, group, or role. When OnlyAttached is false,
  14492. // or when the parameter is not included, all policies are returned.
  14493. OnlyAttached *bool `type:"boolean"`
  14494. // The path prefix for filtering the results. This parameter is optional. If
  14495. // it is not included, it defaults to a slash (/), listing all policies. The
  14496. // regex pattern (http://wikipedia.org/wiki/regex) for this parameter is a string
  14497. // of characters consisting of either a forward slash (/) by itself or a string
  14498. // that must begin and end with forward slashes, containing any ASCII character
  14499. // from the ! (\u0021) thru the DEL character (\u007F), including most punctuation
  14500. // characters, digits, and upper and lowercased letters.
  14501. PathPrefix *string `type:"string"`
  14502. // The scope to use for filtering the results.
  14503. //
  14504. // To list only AWS managed policies, set Scope to AWS. To list only the customer
  14505. // managed policies in your AWS account, set Scope to Local.
  14506. //
  14507. // This parameter is optional. If it is not included, or if it is set to All,
  14508. // all policies are returned.
  14509. Scope *string `type:"string" enum:"policyScopeType"`
  14510. }
  14511. // String returns the string representation
  14512. func (s ListPoliciesInput) String() string {
  14513. return awsutil.Prettify(s)
  14514. }
  14515. // GoString returns the string representation
  14516. func (s ListPoliciesInput) GoString() string {
  14517. return s.String()
  14518. }
  14519. // Validate inspects the fields of the type to determine if they are valid.
  14520. func (s *ListPoliciesInput) Validate() error {
  14521. invalidParams := request.ErrInvalidParams{Context: "ListPoliciesInput"}
  14522. if s.Marker != nil && len(*s.Marker) < 1 {
  14523. invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  14524. }
  14525. if s.MaxItems != nil && *s.MaxItems < 1 {
  14526. invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  14527. }
  14528. if invalidParams.Len() > 0 {
  14529. return invalidParams
  14530. }
  14531. return nil
  14532. }
  14533. // Contains the response to a successful ListPolicies request.
  14534. type ListPoliciesOutput struct {
  14535. _ struct{} `type:"structure"`
  14536. // A flag that indicates whether there are more items to return. If your results
  14537. // were truncated, you can make a subsequent pagination request using the Marker
  14538. // request parameter to retrieve more items. Note that IAM might return fewer
  14539. // than the MaxItems number of results even when there are more results available.
  14540. // We recommend that you check IsTruncated after every call to ensure that you
  14541. // receive all of your results.
  14542. IsTruncated *bool `type:"boolean"`
  14543. // When IsTruncated is true, this element is present and contains the value
  14544. // to use for the Marker parameter in a subsequent pagination request.
  14545. Marker *string `min:"1" type:"string"`
  14546. // A list of policies.
  14547. Policies []*Policy `type:"list"`
  14548. }
  14549. // String returns the string representation
  14550. func (s ListPoliciesOutput) String() string {
  14551. return awsutil.Prettify(s)
  14552. }
  14553. // GoString returns the string representation
  14554. func (s ListPoliciesOutput) GoString() string {
  14555. return s.String()
  14556. }
  14557. type ListPolicyVersionsInput struct {
  14558. _ struct{} `type:"structure"`
  14559. // Use this parameter only when paginating results and only after you receive
  14560. // a response indicating that the results are truncated. Set it to the value
  14561. // of the Marker element in the response that you received to indicate where
  14562. // the next call should start.
  14563. Marker *string `min:"1" type:"string"`
  14564. // Use this only when paginating results to indicate the maximum number of items
  14565. // you want in the response. If additional items exist beyond the maximum you
  14566. // specify, the IsTruncated response element is true.
  14567. //
  14568. // This parameter is optional. If you do not include it, it defaults to 100.
  14569. // Note that IAM might return fewer results, even when there are more results
  14570. // available. In that case, the IsTruncated response element returns true and
  14571. // Marker contains a value to include in the subsequent call that tells the
  14572. // service where to continue from.
  14573. MaxItems *int64 `min:"1" type:"integer"`
  14574. // The Amazon Resource Name (ARN) of the IAM policy for which you want the versions.
  14575. //
  14576. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  14577. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  14578. // in the AWS General Reference.
  14579. //
  14580. // PolicyArn is a required field
  14581. PolicyArn *string `min:"20" type:"string" required:"true"`
  14582. }
  14583. // String returns the string representation
  14584. func (s ListPolicyVersionsInput) String() string {
  14585. return awsutil.Prettify(s)
  14586. }
  14587. // GoString returns the string representation
  14588. func (s ListPolicyVersionsInput) GoString() string {
  14589. return s.String()
  14590. }
  14591. // Validate inspects the fields of the type to determine if they are valid.
  14592. func (s *ListPolicyVersionsInput) Validate() error {
  14593. invalidParams := request.ErrInvalidParams{Context: "ListPolicyVersionsInput"}
  14594. if s.Marker != nil && len(*s.Marker) < 1 {
  14595. invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  14596. }
  14597. if s.MaxItems != nil && *s.MaxItems < 1 {
  14598. invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  14599. }
  14600. if s.PolicyArn == nil {
  14601. invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
  14602. }
  14603. if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
  14604. invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
  14605. }
  14606. if invalidParams.Len() > 0 {
  14607. return invalidParams
  14608. }
  14609. return nil
  14610. }
  14611. // Contains the response to a successful ListPolicyVersions request.
  14612. type ListPolicyVersionsOutput struct {
  14613. _ struct{} `type:"structure"`
  14614. // A flag that indicates whether there are more items to return. If your results
  14615. // were truncated, you can make a subsequent pagination request using the Marker
  14616. // request parameter to retrieve more items. Note that IAM might return fewer
  14617. // than the MaxItems number of results even when there are more results available.
  14618. // We recommend that you check IsTruncated after every call to ensure that you
  14619. // receive all of your results.
  14620. IsTruncated *bool `type:"boolean"`
  14621. // When IsTruncated is true, this element is present and contains the value
  14622. // to use for the Marker parameter in a subsequent pagination request.
  14623. Marker *string `min:"1" type:"string"`
  14624. // A list of policy versions.
  14625. //
  14626. // For more information about managed policy versions, see Versioning for Managed
  14627. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
  14628. // in the IAM User Guide.
  14629. Versions []*PolicyVersion `type:"list"`
  14630. }
  14631. // String returns the string representation
  14632. func (s ListPolicyVersionsOutput) String() string {
  14633. return awsutil.Prettify(s)
  14634. }
  14635. // GoString returns the string representation
  14636. func (s ListPolicyVersionsOutput) GoString() string {
  14637. return s.String()
  14638. }
  14639. type ListRolePoliciesInput struct {
  14640. _ struct{} `type:"structure"`
  14641. // Use this parameter only when paginating results and only after you receive
  14642. // a response indicating that the results are truncated. Set it to the value
  14643. // of the Marker element in the response that you received to indicate where
  14644. // the next call should start.
  14645. Marker *string `min:"1" type:"string"`
  14646. // Use this only when paginating results to indicate the maximum number of items
  14647. // you want in the response. If additional items exist beyond the maximum you
  14648. // specify, the IsTruncated response element is true.
  14649. //
  14650. // This parameter is optional. If you do not include it, it defaults to 100.
  14651. // Note that IAM might return fewer results, even when there are more results
  14652. // available. In that case, the IsTruncated response element returns true and
  14653. // Marker contains a value to include in the subsequent call that tells the
  14654. // service where to continue from.
  14655. MaxItems *int64 `min:"1" type:"integer"`
  14656. // The name of the role to list policies for.
  14657. //
  14658. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  14659. // a string of characters consisting of upper and lowercase alphanumeric characters
  14660. // with no spaces. You can also include any of the following characters: =,.@-
  14661. //
  14662. // RoleName is a required field
  14663. RoleName *string `min:"1" type:"string" required:"true"`
  14664. }
  14665. // String returns the string representation
  14666. func (s ListRolePoliciesInput) String() string {
  14667. return awsutil.Prettify(s)
  14668. }
  14669. // GoString returns the string representation
  14670. func (s ListRolePoliciesInput) GoString() string {
  14671. return s.String()
  14672. }
  14673. // Validate inspects the fields of the type to determine if they are valid.
  14674. func (s *ListRolePoliciesInput) Validate() error {
  14675. invalidParams := request.ErrInvalidParams{Context: "ListRolePoliciesInput"}
  14676. if s.Marker != nil && len(*s.Marker) < 1 {
  14677. invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  14678. }
  14679. if s.MaxItems != nil && *s.MaxItems < 1 {
  14680. invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  14681. }
  14682. if s.RoleName == nil {
  14683. invalidParams.Add(request.NewErrParamRequired("RoleName"))
  14684. }
  14685. if s.RoleName != nil && len(*s.RoleName) < 1 {
  14686. invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
  14687. }
  14688. if invalidParams.Len() > 0 {
  14689. return invalidParams
  14690. }
  14691. return nil
  14692. }
  14693. // Contains the response to a successful ListRolePolicies request.
  14694. type ListRolePoliciesOutput struct {
  14695. _ struct{} `type:"structure"`
  14696. // A flag that indicates whether there are more items to return. If your results
  14697. // were truncated, you can make a subsequent pagination request using the Marker
  14698. // request parameter to retrieve more items. Note that IAM might return fewer
  14699. // than the MaxItems number of results even when there are more results available.
  14700. // We recommend that you check IsTruncated after every call to ensure that you
  14701. // receive all of your results.
  14702. IsTruncated *bool `type:"boolean"`
  14703. // When IsTruncated is true, this element is present and contains the value
  14704. // to use for the Marker parameter in a subsequent pagination request.
  14705. Marker *string `min:"1" type:"string"`
  14706. // A list of policy names.
  14707. //
  14708. // PolicyNames is a required field
  14709. PolicyNames []*string `type:"list" required:"true"`
  14710. }
  14711. // String returns the string representation
  14712. func (s ListRolePoliciesOutput) String() string {
  14713. return awsutil.Prettify(s)
  14714. }
  14715. // GoString returns the string representation
  14716. func (s ListRolePoliciesOutput) GoString() string {
  14717. return s.String()
  14718. }
  14719. type ListRolesInput struct {
  14720. _ struct{} `type:"structure"`
  14721. // Use this parameter only when paginating results and only after you receive
  14722. // a response indicating that the results are truncated. Set it to the value
  14723. // of the Marker element in the response that you received to indicate where
  14724. // the next call should start.
  14725. Marker *string `min:"1" type:"string"`
  14726. // Use this only when paginating results to indicate the maximum number of items
  14727. // you want in the response. If additional items exist beyond the maximum you
  14728. // specify, the IsTruncated response element is true.
  14729. //
  14730. // This parameter is optional. If you do not include it, it defaults to 100.
  14731. // Note that IAM might return fewer results, even when there are more results
  14732. // available. In that case, the IsTruncated response element returns true and
  14733. // Marker contains a value to include in the subsequent call that tells the
  14734. // service where to continue from.
  14735. MaxItems *int64 `min:"1" type:"integer"`
  14736. // The path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/
  14737. // gets all roles whose path starts with /application_abc/component_xyz/.
  14738. //
  14739. // This parameter is optional. If it is not included, it defaults to a slash
  14740. // (/), listing all roles. The regex pattern (http://wikipedia.org/wiki/regex)
  14741. // for this parameter is a string of characters consisting of either a forward
  14742. // slash (/) by itself or a string that must begin and end with forward slashes,
  14743. // containing any ASCII character from the ! (\u0021) thru the DEL character
  14744. // (\u007F), including most punctuation characters, digits, and upper and lowercased
  14745. // letters.
  14746. PathPrefix *string `min:"1" type:"string"`
  14747. }
  14748. // String returns the string representation
  14749. func (s ListRolesInput) String() string {
  14750. return awsutil.Prettify(s)
  14751. }
  14752. // GoString returns the string representation
  14753. func (s ListRolesInput) GoString() string {
  14754. return s.String()
  14755. }
  14756. // Validate inspects the fields of the type to determine if they are valid.
  14757. func (s *ListRolesInput) Validate() error {
  14758. invalidParams := request.ErrInvalidParams{Context: "ListRolesInput"}
  14759. if s.Marker != nil && len(*s.Marker) < 1 {
  14760. invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  14761. }
  14762. if s.MaxItems != nil && *s.MaxItems < 1 {
  14763. invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  14764. }
  14765. if s.PathPrefix != nil && len(*s.PathPrefix) < 1 {
  14766. invalidParams.Add(request.NewErrParamMinLen("PathPrefix", 1))
  14767. }
  14768. if invalidParams.Len() > 0 {
  14769. return invalidParams
  14770. }
  14771. return nil
  14772. }
  14773. // Contains the response to a successful ListRoles request.
  14774. type ListRolesOutput struct {
  14775. _ struct{} `type:"structure"`
  14776. // A flag that indicates whether there are more items to return. If your results
  14777. // were truncated, you can make a subsequent pagination request using the Marker
  14778. // request parameter to retrieve more items. Note that IAM might return fewer
  14779. // than the MaxItems number of results even when there are more results available.
  14780. // We recommend that you check IsTruncated after every call to ensure that you
  14781. // receive all of your results.
  14782. IsTruncated *bool `type:"boolean"`
  14783. // When IsTruncated is true, this element is present and contains the value
  14784. // to use for the Marker parameter in a subsequent pagination request.
  14785. Marker *string `min:"1" type:"string"`
  14786. // A list of roles.
  14787. //
  14788. // Roles is a required field
  14789. Roles []*Role `type:"list" required:"true"`
  14790. }
  14791. // String returns the string representation
  14792. func (s ListRolesOutput) String() string {
  14793. return awsutil.Prettify(s)
  14794. }
  14795. // GoString returns the string representation
  14796. func (s ListRolesOutput) GoString() string {
  14797. return s.String()
  14798. }
  14799. type ListSAMLProvidersInput struct {
  14800. _ struct{} `type:"structure"`
  14801. }
  14802. // String returns the string representation
  14803. func (s ListSAMLProvidersInput) String() string {
  14804. return awsutil.Prettify(s)
  14805. }
  14806. // GoString returns the string representation
  14807. func (s ListSAMLProvidersInput) GoString() string {
  14808. return s.String()
  14809. }
  14810. // Contains the response to a successful ListSAMLProviders request.
  14811. type ListSAMLProvidersOutput struct {
  14812. _ struct{} `type:"structure"`
  14813. // The list of SAML provider resource objects defined in IAM for this AWS account.
  14814. SAMLProviderList []*SAMLProviderListEntry `type:"list"`
  14815. }
  14816. // String returns the string representation
  14817. func (s ListSAMLProvidersOutput) String() string {
  14818. return awsutil.Prettify(s)
  14819. }
  14820. // GoString returns the string representation
  14821. func (s ListSAMLProvidersOutput) GoString() string {
  14822. return s.String()
  14823. }
  14824. type ListSSHPublicKeysInput struct {
  14825. _ struct{} `type:"structure"`
  14826. // Use this parameter only when paginating results and only after you receive
  14827. // a response indicating that the results are truncated. Set it to the value
  14828. // of the Marker element in the response that you received to indicate where
  14829. // the next call should start.
  14830. Marker *string `min:"1" type:"string"`
  14831. // Use this only when paginating results to indicate the maximum number of items
  14832. // you want in the response. If additional items exist beyond the maximum you
  14833. // specify, the IsTruncated response element is true.
  14834. //
  14835. // This parameter is optional. If you do not include it, it defaults to 100.
  14836. // Note that IAM might return fewer results, even when there are more results
  14837. // available. In that case, the IsTruncated response element returns true and
  14838. // Marker contains a value to include in the subsequent call that tells the
  14839. // service where to continue from.
  14840. MaxItems *int64 `min:"1" type:"integer"`
  14841. // The name of the IAM user to list SSH public keys for. If none is specified,
  14842. // the UserName field is determined implicitly based on the AWS access key used
  14843. // to sign the request.
  14844. //
  14845. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  14846. // a string of characters consisting of upper and lowercase alphanumeric characters
  14847. // with no spaces. You can also include any of the following characters: =,.@-
  14848. UserName *string `min:"1" type:"string"`
  14849. }
  14850. // String returns the string representation
  14851. func (s ListSSHPublicKeysInput) String() string {
  14852. return awsutil.Prettify(s)
  14853. }
  14854. // GoString returns the string representation
  14855. func (s ListSSHPublicKeysInput) GoString() string {
  14856. return s.String()
  14857. }
  14858. // Validate inspects the fields of the type to determine if they are valid.
  14859. func (s *ListSSHPublicKeysInput) Validate() error {
  14860. invalidParams := request.ErrInvalidParams{Context: "ListSSHPublicKeysInput"}
  14861. if s.Marker != nil && len(*s.Marker) < 1 {
  14862. invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  14863. }
  14864. if s.MaxItems != nil && *s.MaxItems < 1 {
  14865. invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  14866. }
  14867. if s.UserName != nil && len(*s.UserName) < 1 {
  14868. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  14869. }
  14870. if invalidParams.Len() > 0 {
  14871. return invalidParams
  14872. }
  14873. return nil
  14874. }
  14875. // Contains the response to a successful ListSSHPublicKeys request.
  14876. type ListSSHPublicKeysOutput struct {
  14877. _ struct{} `type:"structure"`
  14878. // A flag that indicates whether there are more items to return. If your results
  14879. // were truncated, you can make a subsequent pagination request using the Marker
  14880. // request parameter to retrieve more items. Note that IAM might return fewer
  14881. // than the MaxItems number of results even when there are more results available.
  14882. // We recommend that you check IsTruncated after every call to ensure that you
  14883. // receive all of your results.
  14884. IsTruncated *bool `type:"boolean"`
  14885. // When IsTruncated is true, this element is present and contains the value
  14886. // to use for the Marker parameter in a subsequent pagination request.
  14887. Marker *string `min:"1" type:"string"`
  14888. // A list of the SSH public keys assigned to IAM user.
  14889. SSHPublicKeys []*SSHPublicKeyMetadata `type:"list"`
  14890. }
  14891. // String returns the string representation
  14892. func (s ListSSHPublicKeysOutput) String() string {
  14893. return awsutil.Prettify(s)
  14894. }
  14895. // GoString returns the string representation
  14896. func (s ListSSHPublicKeysOutput) GoString() string {
  14897. return s.String()
  14898. }
  14899. type ListServerCertificatesInput struct {
  14900. _ struct{} `type:"structure"`
  14901. // Use this parameter only when paginating results and only after you receive
  14902. // a response indicating that the results are truncated. Set it to the value
  14903. // of the Marker element in the response that you received to indicate where
  14904. // the next call should start.
  14905. Marker *string `min:"1" type:"string"`
  14906. // Use this only when paginating results to indicate the maximum number of items
  14907. // you want in the response. If additional items exist beyond the maximum you
  14908. // specify, the IsTruncated response element is true.
  14909. //
  14910. // This parameter is optional. If you do not include it, it defaults to 100.
  14911. // Note that IAM might return fewer results, even when there are more results
  14912. // available. In that case, the IsTruncated response element returns true and
  14913. // Marker contains a value to include in the subsequent call that tells the
  14914. // service where to continue from.
  14915. MaxItems *int64 `min:"1" type:"integer"`
  14916. // The path prefix for filtering the results. For example: /company/servercerts
  14917. // would get all server certificates for which the path starts with /company/servercerts.
  14918. //
  14919. // This parameter is optional. If it is not included, it defaults to a slash
  14920. // (/), listing all server certificates. The regex pattern (http://wikipedia.org/wiki/regex)
  14921. // for this parameter is a string of characters consisting of either a forward
  14922. // slash (/) by itself or a string that must begin and end with forward slashes,
  14923. // containing any ASCII character from the ! (\u0021) thru the DEL character
  14924. // (\u007F), including most punctuation characters, digits, and upper and lowercased
  14925. // letters.
  14926. PathPrefix *string `min:"1" type:"string"`
  14927. }
  14928. // String returns the string representation
  14929. func (s ListServerCertificatesInput) String() string {
  14930. return awsutil.Prettify(s)
  14931. }
  14932. // GoString returns the string representation
  14933. func (s ListServerCertificatesInput) GoString() string {
  14934. return s.String()
  14935. }
  14936. // Validate inspects the fields of the type to determine if they are valid.
  14937. func (s *ListServerCertificatesInput) Validate() error {
  14938. invalidParams := request.ErrInvalidParams{Context: "ListServerCertificatesInput"}
  14939. if s.Marker != nil && len(*s.Marker) < 1 {
  14940. invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  14941. }
  14942. if s.MaxItems != nil && *s.MaxItems < 1 {
  14943. invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  14944. }
  14945. if s.PathPrefix != nil && len(*s.PathPrefix) < 1 {
  14946. invalidParams.Add(request.NewErrParamMinLen("PathPrefix", 1))
  14947. }
  14948. if invalidParams.Len() > 0 {
  14949. return invalidParams
  14950. }
  14951. return nil
  14952. }
  14953. // Contains the response to a successful ListServerCertificates request.
  14954. type ListServerCertificatesOutput struct {
  14955. _ struct{} `type:"structure"`
  14956. // A flag that indicates whether there are more items to return. If your results
  14957. // were truncated, you can make a subsequent pagination request using the Marker
  14958. // request parameter to retrieve more items. Note that IAM might return fewer
  14959. // than the MaxItems number of results even when there are more results available.
  14960. // We recommend that you check IsTruncated after every call to ensure that you
  14961. // receive all of your results.
  14962. IsTruncated *bool `type:"boolean"`
  14963. // When IsTruncated is true, this element is present and contains the value
  14964. // to use for the Marker parameter in a subsequent pagination request.
  14965. Marker *string `min:"1" type:"string"`
  14966. // A list of server certificates.
  14967. //
  14968. // ServerCertificateMetadataList is a required field
  14969. ServerCertificateMetadataList []*ServerCertificateMetadata `type:"list" required:"true"`
  14970. }
  14971. // String returns the string representation
  14972. func (s ListServerCertificatesOutput) String() string {
  14973. return awsutil.Prettify(s)
  14974. }
  14975. // GoString returns the string representation
  14976. func (s ListServerCertificatesOutput) GoString() string {
  14977. return s.String()
  14978. }
  14979. type ListSigningCertificatesInput struct {
  14980. _ struct{} `type:"structure"`
  14981. // Use this parameter only when paginating results and only after you receive
  14982. // a response indicating that the results are truncated. Set it to the value
  14983. // of the Marker element in the response that you received to indicate where
  14984. // the next call should start.
  14985. Marker *string `min:"1" type:"string"`
  14986. // Use this only when paginating results to indicate the maximum number of items
  14987. // you want in the response. If additional items exist beyond the maximum you
  14988. // specify, the IsTruncated response element is true.
  14989. //
  14990. // This parameter is optional. If you do not include it, it defaults to 100.
  14991. // Note that IAM might return fewer results, even when there are more results
  14992. // available. In that case, the IsTruncated response element returns true and
  14993. // Marker contains a value to include in the subsequent call that tells the
  14994. // service where to continue from.
  14995. MaxItems *int64 `min:"1" type:"integer"`
  14996. // The name of the IAM user whose signing certificates you want to examine.
  14997. //
  14998. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  14999. // a string of characters consisting of upper and lowercase alphanumeric characters
  15000. // with no spaces. You can also include any of the following characters: =,.@-
  15001. UserName *string `min:"1" type:"string"`
  15002. }
  15003. // String returns the string representation
  15004. func (s ListSigningCertificatesInput) String() string {
  15005. return awsutil.Prettify(s)
  15006. }
  15007. // GoString returns the string representation
  15008. func (s ListSigningCertificatesInput) GoString() string {
  15009. return s.String()
  15010. }
  15011. // Validate inspects the fields of the type to determine if they are valid.
  15012. func (s *ListSigningCertificatesInput) Validate() error {
  15013. invalidParams := request.ErrInvalidParams{Context: "ListSigningCertificatesInput"}
  15014. if s.Marker != nil && len(*s.Marker) < 1 {
  15015. invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  15016. }
  15017. if s.MaxItems != nil && *s.MaxItems < 1 {
  15018. invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  15019. }
  15020. if s.UserName != nil && len(*s.UserName) < 1 {
  15021. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  15022. }
  15023. if invalidParams.Len() > 0 {
  15024. return invalidParams
  15025. }
  15026. return nil
  15027. }
  15028. // Contains the response to a successful ListSigningCertificates request.
  15029. type ListSigningCertificatesOutput struct {
  15030. _ struct{} `type:"structure"`
  15031. // A list of the user's signing certificate information.
  15032. //
  15033. // Certificates is a required field
  15034. Certificates []*SigningCertificate `type:"list" required:"true"`
  15035. // A flag that indicates whether there are more items to return. If your results
  15036. // were truncated, you can make a subsequent pagination request using the Marker
  15037. // request parameter to retrieve more items. Note that IAM might return fewer
  15038. // than the MaxItems number of results even when there are more results available.
  15039. // We recommend that you check IsTruncated after every call to ensure that you
  15040. // receive all of your results.
  15041. IsTruncated *bool `type:"boolean"`
  15042. // When IsTruncated is true, this element is present and contains the value
  15043. // to use for the Marker parameter in a subsequent pagination request.
  15044. Marker *string `min:"1" type:"string"`
  15045. }
  15046. // String returns the string representation
  15047. func (s ListSigningCertificatesOutput) String() string {
  15048. return awsutil.Prettify(s)
  15049. }
  15050. // GoString returns the string representation
  15051. func (s ListSigningCertificatesOutput) GoString() string {
  15052. return s.String()
  15053. }
  15054. type ListUserPoliciesInput struct {
  15055. _ struct{} `type:"structure"`
  15056. // Use this parameter only when paginating results and only after you receive
  15057. // a response indicating that the results are truncated. Set it to the value
  15058. // of the Marker element in the response that you received to indicate where
  15059. // the next call should start.
  15060. Marker *string `min:"1" type:"string"`
  15061. // Use this only when paginating results to indicate the maximum number of items
  15062. // you want in the response. If additional items exist beyond the maximum you
  15063. // specify, the IsTruncated response element is true.
  15064. //
  15065. // This parameter is optional. If you do not include it, it defaults to 100.
  15066. // Note that IAM might return fewer results, even when there are more results
  15067. // available. In that case, the IsTruncated response element returns true and
  15068. // Marker contains a value to include in the subsequent call that tells the
  15069. // service where to continue from.
  15070. MaxItems *int64 `min:"1" type:"integer"`
  15071. // The name of the user to list policies for.
  15072. //
  15073. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  15074. // a string of characters consisting of upper and lowercase alphanumeric characters
  15075. // with no spaces. You can also include any of the following characters: =,.@-
  15076. //
  15077. // UserName is a required field
  15078. UserName *string `min:"1" type:"string" required:"true"`
  15079. }
  15080. // String returns the string representation
  15081. func (s ListUserPoliciesInput) String() string {
  15082. return awsutil.Prettify(s)
  15083. }
  15084. // GoString returns the string representation
  15085. func (s ListUserPoliciesInput) GoString() string {
  15086. return s.String()
  15087. }
  15088. // Validate inspects the fields of the type to determine if they are valid.
  15089. func (s *ListUserPoliciesInput) Validate() error {
  15090. invalidParams := request.ErrInvalidParams{Context: "ListUserPoliciesInput"}
  15091. if s.Marker != nil && len(*s.Marker) < 1 {
  15092. invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  15093. }
  15094. if s.MaxItems != nil && *s.MaxItems < 1 {
  15095. invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  15096. }
  15097. if s.UserName == nil {
  15098. invalidParams.Add(request.NewErrParamRequired("UserName"))
  15099. }
  15100. if s.UserName != nil && len(*s.UserName) < 1 {
  15101. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  15102. }
  15103. if invalidParams.Len() > 0 {
  15104. return invalidParams
  15105. }
  15106. return nil
  15107. }
  15108. // Contains the response to a successful ListUserPolicies request.
  15109. type ListUserPoliciesOutput struct {
  15110. _ struct{} `type:"structure"`
  15111. // A flag that indicates whether there are more items to return. If your results
  15112. // were truncated, you can make a subsequent pagination request using the Marker
  15113. // request parameter to retrieve more items. Note that IAM might return fewer
  15114. // than the MaxItems number of results even when there are more results available.
  15115. // We recommend that you check IsTruncated after every call to ensure that you
  15116. // receive all of your results.
  15117. IsTruncated *bool `type:"boolean"`
  15118. // When IsTruncated is true, this element is present and contains the value
  15119. // to use for the Marker parameter in a subsequent pagination request.
  15120. Marker *string `min:"1" type:"string"`
  15121. // A list of policy names.
  15122. //
  15123. // PolicyNames is a required field
  15124. PolicyNames []*string `type:"list" required:"true"`
  15125. }
  15126. // String returns the string representation
  15127. func (s ListUserPoliciesOutput) String() string {
  15128. return awsutil.Prettify(s)
  15129. }
  15130. // GoString returns the string representation
  15131. func (s ListUserPoliciesOutput) GoString() string {
  15132. return s.String()
  15133. }
  15134. type ListUsersInput struct {
  15135. _ struct{} `type:"structure"`
  15136. // Use this parameter only when paginating results and only after you receive
  15137. // a response indicating that the results are truncated. Set it to the value
  15138. // of the Marker element in the response that you received to indicate where
  15139. // the next call should start.
  15140. Marker *string `min:"1" type:"string"`
  15141. // Use this only when paginating results to indicate the maximum number of items
  15142. // you want in the response. If additional items exist beyond the maximum you
  15143. // specify, the IsTruncated response element is true.
  15144. //
  15145. // This parameter is optional. If you do not include it, it defaults to 100.
  15146. // Note that IAM might return fewer results, even when there are more results
  15147. // available. In that case, the IsTruncated response element returns true and
  15148. // Marker contains a value to include in the subsequent call that tells the
  15149. // service where to continue from.
  15150. MaxItems *int64 `min:"1" type:"integer"`
  15151. // The path prefix for filtering the results. For example: /division_abc/subdivision_xyz/,
  15152. // which would get all user names whose path starts with /division_abc/subdivision_xyz/.
  15153. //
  15154. // This parameter is optional. If it is not included, it defaults to a slash
  15155. // (/), listing all user names. The regex pattern (http://wikipedia.org/wiki/regex)
  15156. // for this parameter is a string of characters consisting of either a forward
  15157. // slash (/) by itself or a string that must begin and end with forward slashes,
  15158. // containing any ASCII character from the ! (\u0021) thru the DEL character
  15159. // (\u007F), including most punctuation characters, digits, and upper and lowercased
  15160. // letters.
  15161. PathPrefix *string `min:"1" type:"string"`
  15162. }
  15163. // String returns the string representation
  15164. func (s ListUsersInput) String() string {
  15165. return awsutil.Prettify(s)
  15166. }
  15167. // GoString returns the string representation
  15168. func (s ListUsersInput) GoString() string {
  15169. return s.String()
  15170. }
  15171. // Validate inspects the fields of the type to determine if they are valid.
  15172. func (s *ListUsersInput) Validate() error {
  15173. invalidParams := request.ErrInvalidParams{Context: "ListUsersInput"}
  15174. if s.Marker != nil && len(*s.Marker) < 1 {
  15175. invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  15176. }
  15177. if s.MaxItems != nil && *s.MaxItems < 1 {
  15178. invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  15179. }
  15180. if s.PathPrefix != nil && len(*s.PathPrefix) < 1 {
  15181. invalidParams.Add(request.NewErrParamMinLen("PathPrefix", 1))
  15182. }
  15183. if invalidParams.Len() > 0 {
  15184. return invalidParams
  15185. }
  15186. return nil
  15187. }
  15188. // Contains the response to a successful ListUsers request.
  15189. type ListUsersOutput struct {
  15190. _ struct{} `type:"structure"`
  15191. // A flag that indicates whether there are more items to return. If your results
  15192. // were truncated, you can make a subsequent pagination request using the Marker
  15193. // request parameter to retrieve more items. Note that IAM might return fewer
  15194. // than the MaxItems number of results even when there are more results available.
  15195. // We recommend that you check IsTruncated after every call to ensure that you
  15196. // receive all of your results.
  15197. IsTruncated *bool `type:"boolean"`
  15198. // When IsTruncated is true, this element is present and contains the value
  15199. // to use for the Marker parameter in a subsequent pagination request.
  15200. Marker *string `min:"1" type:"string"`
  15201. // A list of users.
  15202. //
  15203. // Users is a required field
  15204. Users []*User `type:"list" required:"true"`
  15205. }
  15206. // String returns the string representation
  15207. func (s ListUsersOutput) String() string {
  15208. return awsutil.Prettify(s)
  15209. }
  15210. // GoString returns the string representation
  15211. func (s ListUsersOutput) GoString() string {
  15212. return s.String()
  15213. }
  15214. type ListVirtualMFADevicesInput struct {
  15215. _ struct{} `type:"structure"`
  15216. // The status (Unassigned or Assigned) of the devices to list. If you do not
  15217. // specify an AssignmentStatus, the action defaults to Any which lists both
  15218. // assigned and unassigned virtual MFA devices.
  15219. AssignmentStatus *string `type:"string" enum:"assignmentStatusType"`
  15220. // Use this parameter only when paginating results and only after you receive
  15221. // a response indicating that the results are truncated. Set it to the value
  15222. // of the Marker element in the response that you received to indicate where
  15223. // the next call should start.
  15224. Marker *string `min:"1" type:"string"`
  15225. // Use this only when paginating results to indicate the maximum number of items
  15226. // you want in the response. If additional items exist beyond the maximum you
  15227. // specify, the IsTruncated response element is true.
  15228. //
  15229. // This parameter is optional. If you do not include it, it defaults to 100.
  15230. // Note that IAM might return fewer results, even when there are more results
  15231. // available. In that case, the IsTruncated response element returns true and
  15232. // Marker contains a value to include in the subsequent call that tells the
  15233. // service where to continue from.
  15234. MaxItems *int64 `min:"1" type:"integer"`
  15235. }
  15236. // String returns the string representation
  15237. func (s ListVirtualMFADevicesInput) String() string {
  15238. return awsutil.Prettify(s)
  15239. }
  15240. // GoString returns the string representation
  15241. func (s ListVirtualMFADevicesInput) GoString() string {
  15242. return s.String()
  15243. }
  15244. // Validate inspects the fields of the type to determine if they are valid.
  15245. func (s *ListVirtualMFADevicesInput) Validate() error {
  15246. invalidParams := request.ErrInvalidParams{Context: "ListVirtualMFADevicesInput"}
  15247. if s.Marker != nil && len(*s.Marker) < 1 {
  15248. invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  15249. }
  15250. if s.MaxItems != nil && *s.MaxItems < 1 {
  15251. invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  15252. }
  15253. if invalidParams.Len() > 0 {
  15254. return invalidParams
  15255. }
  15256. return nil
  15257. }
  15258. // Contains the response to a successful ListVirtualMFADevices request.
  15259. type ListVirtualMFADevicesOutput struct {
  15260. _ struct{} `type:"structure"`
  15261. // A flag that indicates whether there are more items to return. If your results
  15262. // were truncated, you can make a subsequent pagination request using the Marker
  15263. // request parameter to retrieve more items. Note that IAM might return fewer
  15264. // than the MaxItems number of results even when there are more results available.
  15265. // We recommend that you check IsTruncated after every call to ensure that you
  15266. // receive all of your results.
  15267. IsTruncated *bool `type:"boolean"`
  15268. // When IsTruncated is true, this element is present and contains the value
  15269. // to use for the Marker parameter in a subsequent pagination request.
  15270. Marker *string `min:"1" type:"string"`
  15271. // The list of virtual MFA devices in the current account that match the AssignmentStatus
  15272. // value that was passed in the request.
  15273. //
  15274. // VirtualMFADevices is a required field
  15275. VirtualMFADevices []*VirtualMFADevice `type:"list" required:"true"`
  15276. }
  15277. // String returns the string representation
  15278. func (s ListVirtualMFADevicesOutput) String() string {
  15279. return awsutil.Prettify(s)
  15280. }
  15281. // GoString returns the string representation
  15282. func (s ListVirtualMFADevicesOutput) GoString() string {
  15283. return s.String()
  15284. }
  15285. // Contains the user name and password create date for a user.
  15286. //
  15287. // This data type is used as a response element in the CreateLoginProfile and
  15288. // GetLoginProfile actions.
  15289. type LoginProfile struct {
  15290. _ struct{} `type:"structure"`
  15291. // The date when the password for the user was created.
  15292. //
  15293. // CreateDate is a required field
  15294. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  15295. // Specifies whether the user is required to set a new password on next sign-in.
  15296. PasswordResetRequired *bool `type:"boolean"`
  15297. // The name of the user, which can be used for signing in to the AWS Management
  15298. // Console.
  15299. //
  15300. // UserName is a required field
  15301. UserName *string `min:"1" type:"string" required:"true"`
  15302. }
  15303. // String returns the string representation
  15304. func (s LoginProfile) String() string {
  15305. return awsutil.Prettify(s)
  15306. }
  15307. // GoString returns the string representation
  15308. func (s LoginProfile) GoString() string {
  15309. return s.String()
  15310. }
  15311. // Contains information about an MFA device.
  15312. //
  15313. // This data type is used as a response element in the ListMFADevices action.
  15314. type MFADevice struct {
  15315. _ struct{} `type:"structure"`
  15316. // The date when the MFA device was enabled for the user.
  15317. //
  15318. // EnableDate is a required field
  15319. EnableDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  15320. // The serial number that uniquely identifies the MFA device. For virtual MFA
  15321. // devices, the serial number is the device ARN.
  15322. //
  15323. // SerialNumber is a required field
  15324. SerialNumber *string `min:"9" type:"string" required:"true"`
  15325. // The user with whom the MFA device is associated.
  15326. //
  15327. // UserName is a required field
  15328. UserName *string `min:"1" type:"string" required:"true"`
  15329. }
  15330. // String returns the string representation
  15331. func (s MFADevice) String() string {
  15332. return awsutil.Prettify(s)
  15333. }
  15334. // GoString returns the string representation
  15335. func (s MFADevice) GoString() string {
  15336. return s.String()
  15337. }
  15338. // Contains information about a managed policy, including the policy's ARN,
  15339. // versions, and the number of principal entities (users, groups, and roles)
  15340. // that the policy is attached to.
  15341. //
  15342. // This data type is used as a response element in the GetAccountAuthorizationDetails
  15343. // action.
  15344. //
  15345. // For more information about managed policies, see Managed Policies and Inline
  15346. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  15347. // in the Using IAM guide.
  15348. type ManagedPolicyDetail struct {
  15349. _ struct{} `type:"structure"`
  15350. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  15351. //
  15352. // For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS
  15353. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  15354. // in the AWS General Reference.
  15355. Arn *string `min:"20" type:"string"`
  15356. // The number of principal entities (users, groups, and roles) that the policy
  15357. // is attached to.
  15358. AttachmentCount *int64 `type:"integer"`
  15359. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  15360. // when the policy was created.
  15361. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  15362. // The identifier for the version of the policy that is set as the default (operative)
  15363. // version.
  15364. //
  15365. // For more information about policy versions, see Versioning for Managed Policies
  15366. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
  15367. // in the Using IAM guide.
  15368. DefaultVersionId *string `type:"string"`
  15369. // A friendly description of the policy.
  15370. Description *string `type:"string"`
  15371. // Specifies whether the policy can be attached to an IAM user, group, or role.
  15372. IsAttachable *bool `type:"boolean"`
  15373. // The path to the policy.
  15374. //
  15375. // For more information about paths, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  15376. // in the Using IAM guide.
  15377. Path *string `type:"string"`
  15378. // The stable and unique string identifying the policy.
  15379. //
  15380. // For more information about IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  15381. // in the Using IAM guide.
  15382. PolicyId *string `min:"16" type:"string"`
  15383. // The friendly name (not ARN) identifying the policy.
  15384. PolicyName *string `min:"1" type:"string"`
  15385. // A list containing information about the versions of the policy.
  15386. PolicyVersionList []*PolicyVersion `type:"list"`
  15387. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  15388. // when the policy was last updated.
  15389. //
  15390. // When a policy has only one version, this field contains the date and time
  15391. // when the policy was created. When a policy has more than one version, this
  15392. // field contains the date and time when the most recent policy version was
  15393. // created.
  15394. UpdateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  15395. }
  15396. // String returns the string representation
  15397. func (s ManagedPolicyDetail) String() string {
  15398. return awsutil.Prettify(s)
  15399. }
  15400. // GoString returns the string representation
  15401. func (s ManagedPolicyDetail) GoString() string {
  15402. return s.String()
  15403. }
  15404. // Contains the Amazon Resource Name (ARN) for an IAM OpenID Connect provider.
  15405. type OpenIDConnectProviderListEntry struct {
  15406. _ struct{} `type:"structure"`
  15407. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  15408. //
  15409. // For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS
  15410. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  15411. // in the AWS General Reference.
  15412. Arn *string `min:"20" type:"string"`
  15413. }
  15414. // String returns the string representation
  15415. func (s OpenIDConnectProviderListEntry) String() string {
  15416. return awsutil.Prettify(s)
  15417. }
  15418. // GoString returns the string representation
  15419. func (s OpenIDConnectProviderListEntry) GoString() string {
  15420. return s.String()
  15421. }
  15422. // Contains information about the account password policy.
  15423. //
  15424. // This data type is used as a response element in the GetAccountPasswordPolicy
  15425. // action.
  15426. type PasswordPolicy struct {
  15427. _ struct{} `type:"structure"`
  15428. // Specifies whether IAM users are allowed to change their own password.
  15429. AllowUsersToChangePassword *bool `type:"boolean"`
  15430. // Indicates whether passwords in the account expire. Returns true if MaxPasswordAge
  15431. // is contains a value greater than 0. Returns false if MaxPasswordAge is 0
  15432. // or not present.
  15433. ExpirePasswords *bool `type:"boolean"`
  15434. // Specifies whether IAM users are prevented from setting a new password after
  15435. // their password has expired.
  15436. HardExpiry *bool `type:"boolean"`
  15437. // The number of days that an IAM user password is valid.
  15438. MaxPasswordAge *int64 `min:"1" type:"integer"`
  15439. // Minimum length to require for IAM user passwords.
  15440. MinimumPasswordLength *int64 `min:"6" type:"integer"`
  15441. // Specifies the number of previous passwords that IAM users are prevented from
  15442. // reusing.
  15443. PasswordReusePrevention *int64 `min:"1" type:"integer"`
  15444. // Specifies whether to require lowercase characters for IAM user passwords.
  15445. RequireLowercaseCharacters *bool `type:"boolean"`
  15446. // Specifies whether to require numbers for IAM user passwords.
  15447. RequireNumbers *bool `type:"boolean"`
  15448. // Specifies whether to require symbols for IAM user passwords.
  15449. RequireSymbols *bool `type:"boolean"`
  15450. // Specifies whether to require uppercase characters for IAM user passwords.
  15451. RequireUppercaseCharacters *bool `type:"boolean"`
  15452. }
  15453. // String returns the string representation
  15454. func (s PasswordPolicy) String() string {
  15455. return awsutil.Prettify(s)
  15456. }
  15457. // GoString returns the string representation
  15458. func (s PasswordPolicy) GoString() string {
  15459. return s.String()
  15460. }
  15461. // Contains information about a managed policy.
  15462. //
  15463. // This data type is used as a response element in the CreatePolicy, GetPolicy,
  15464. // and ListPolicies actions.
  15465. //
  15466. // For more information about managed policies, refer to Managed Policies and
  15467. // Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  15468. // in the Using IAM guide.
  15469. type Policy struct {
  15470. _ struct{} `type:"structure"`
  15471. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  15472. //
  15473. // For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS
  15474. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  15475. // in the AWS General Reference.
  15476. Arn *string `min:"20" type:"string"`
  15477. // The number of entities (users, groups, and roles) that the policy is attached
  15478. // to.
  15479. AttachmentCount *int64 `type:"integer"`
  15480. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  15481. // when the policy was created.
  15482. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  15483. // The identifier for the version of the policy that is set as the default version.
  15484. DefaultVersionId *string `type:"string"`
  15485. // A friendly description of the policy.
  15486. //
  15487. // This element is included in the response to the GetPolicy operation. It is
  15488. // not included in the response to the ListPolicies operation.
  15489. Description *string `type:"string"`
  15490. // Specifies whether the policy can be attached to an IAM user, group, or role.
  15491. IsAttachable *bool `type:"boolean"`
  15492. // The path to the policy.
  15493. //
  15494. // For more information about paths, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  15495. // in the Using IAM guide.
  15496. Path *string `type:"string"`
  15497. // The stable and unique string identifying the policy.
  15498. //
  15499. // For more information about IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  15500. // in the Using IAM guide.
  15501. PolicyId *string `min:"16" type:"string"`
  15502. // The friendly name (not ARN) identifying the policy.
  15503. PolicyName *string `min:"1" type:"string"`
  15504. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  15505. // when the policy was last updated.
  15506. //
  15507. // When a policy has only one version, this field contains the date and time
  15508. // when the policy was created. When a policy has more than one version, this
  15509. // field contains the date and time when the most recent policy version was
  15510. // created.
  15511. UpdateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  15512. }
  15513. // String returns the string representation
  15514. func (s Policy) String() string {
  15515. return awsutil.Prettify(s)
  15516. }
  15517. // GoString returns the string representation
  15518. func (s Policy) GoString() string {
  15519. return s.String()
  15520. }
  15521. // Contains information about an IAM policy, including the policy document.
  15522. //
  15523. // This data type is used as a response element in the GetAccountAuthorizationDetails
  15524. // action.
  15525. type PolicyDetail struct {
  15526. _ struct{} `type:"structure"`
  15527. // The policy document.
  15528. PolicyDocument *string `min:"1" type:"string"`
  15529. // The name of the policy.
  15530. PolicyName *string `min:"1" type:"string"`
  15531. }
  15532. // String returns the string representation
  15533. func (s PolicyDetail) String() string {
  15534. return awsutil.Prettify(s)
  15535. }
  15536. // GoString returns the string representation
  15537. func (s PolicyDetail) GoString() string {
  15538. return s.String()
  15539. }
  15540. // Contains information about a group that a managed policy is attached to.
  15541. //
  15542. // This data type is used as a response element in the ListEntitiesForPolicy
  15543. // action.
  15544. //
  15545. // For more information about managed policies, refer to Managed Policies and
  15546. // Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  15547. // in the Using IAM guide.
  15548. type PolicyGroup struct {
  15549. _ struct{} `type:"structure"`
  15550. // The stable and unique string identifying the group. For more information
  15551. // about IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html)
  15552. // in the IAM User Guide.
  15553. GroupId *string `min:"16" type:"string"`
  15554. // The name (friendly name, not ARN) identifying the group.
  15555. GroupName *string `min:"1" type:"string"`
  15556. }
  15557. // String returns the string representation
  15558. func (s PolicyGroup) String() string {
  15559. return awsutil.Prettify(s)
  15560. }
  15561. // GoString returns the string representation
  15562. func (s PolicyGroup) GoString() string {
  15563. return s.String()
  15564. }
  15565. // Contains information about a role that a managed policy is attached to.
  15566. //
  15567. // This data type is used as a response element in the ListEntitiesForPolicy
  15568. // action.
  15569. //
  15570. // For more information about managed policies, refer to Managed Policies and
  15571. // Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  15572. // in the Using IAM guide.
  15573. type PolicyRole struct {
  15574. _ struct{} `type:"structure"`
  15575. // The stable and unique string identifying the role. For more information about
  15576. // IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html)
  15577. // in the IAM User Guide.
  15578. RoleId *string `min:"16" type:"string"`
  15579. // The name (friendly name, not ARN) identifying the role.
  15580. RoleName *string `min:"1" type:"string"`
  15581. }
  15582. // String returns the string representation
  15583. func (s PolicyRole) String() string {
  15584. return awsutil.Prettify(s)
  15585. }
  15586. // GoString returns the string representation
  15587. func (s PolicyRole) GoString() string {
  15588. return s.String()
  15589. }
  15590. // Contains information about a user that a managed policy is attached to.
  15591. //
  15592. // This data type is used as a response element in the ListEntitiesForPolicy
  15593. // action.
  15594. //
  15595. // For more information about managed policies, refer to Managed Policies and
  15596. // Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  15597. // in the Using IAM guide.
  15598. type PolicyUser struct {
  15599. _ struct{} `type:"structure"`
  15600. // The stable and unique string identifying the user. For more information about
  15601. // IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html)
  15602. // in the IAM User Guide.
  15603. UserId *string `min:"16" type:"string"`
  15604. // The name (friendly name, not ARN) identifying the user.
  15605. UserName *string `min:"1" type:"string"`
  15606. }
  15607. // String returns the string representation
  15608. func (s PolicyUser) String() string {
  15609. return awsutil.Prettify(s)
  15610. }
  15611. // GoString returns the string representation
  15612. func (s PolicyUser) GoString() string {
  15613. return s.String()
  15614. }
  15615. // Contains information about a version of a managed policy.
  15616. //
  15617. // This data type is used as a response element in the CreatePolicyVersion,
  15618. // GetPolicyVersion, ListPolicyVersions, and GetAccountAuthorizationDetails
  15619. // actions.
  15620. //
  15621. // For more information about managed policies, refer to Managed Policies and
  15622. // Inline Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html)
  15623. // in the Using IAM guide.
  15624. type PolicyVersion struct {
  15625. _ struct{} `type:"structure"`
  15626. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  15627. // when the policy version was created.
  15628. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  15629. // The policy document.
  15630. //
  15631. // The policy document is returned in the response to the GetPolicyVersion and
  15632. // GetAccountAuthorizationDetails operations. It is not returned in the response
  15633. // to the CreatePolicyVersion or ListPolicyVersions operations.
  15634. Document *string `min:"1" type:"string"`
  15635. // Specifies whether the policy version is set as the policy's default version.
  15636. IsDefaultVersion *bool `type:"boolean"`
  15637. // The identifier for the policy version.
  15638. //
  15639. // Policy version identifiers always begin with v (always lowercase). When a
  15640. // policy is created, the first policy version is v1.
  15641. VersionId *string `type:"string"`
  15642. }
  15643. // String returns the string representation
  15644. func (s PolicyVersion) String() string {
  15645. return awsutil.Prettify(s)
  15646. }
  15647. // GoString returns the string representation
  15648. func (s PolicyVersion) GoString() string {
  15649. return s.String()
  15650. }
  15651. // Contains the row and column of a location of a Statement element in a policy
  15652. // document.
  15653. //
  15654. // This data type is used as a member of the Statement type.
  15655. type Position struct {
  15656. _ struct{} `type:"structure"`
  15657. // The column in the line containing the specified position in the document.
  15658. Column *int64 `type:"integer"`
  15659. // The line containing the specified position in the document.
  15660. Line *int64 `type:"integer"`
  15661. }
  15662. // String returns the string representation
  15663. func (s Position) String() string {
  15664. return awsutil.Prettify(s)
  15665. }
  15666. // GoString returns the string representation
  15667. func (s Position) GoString() string {
  15668. return s.String()
  15669. }
  15670. type PutGroupPolicyInput struct {
  15671. _ struct{} `type:"structure"`
  15672. // The name of the group to associate the policy with.
  15673. //
  15674. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  15675. // a string of characters consisting of upper and lowercase alphanumeric characters
  15676. // with no spaces. You can also include any of the following characters: =,.@-
  15677. //
  15678. // GroupName is a required field
  15679. GroupName *string `min:"1" type:"string" required:"true"`
  15680. // The policy document.
  15681. //
  15682. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  15683. // a string of characters consisting of any printable ASCII character ranging
  15684. // from the space character (\u0020) through end of the ASCII character range
  15685. // (\u00FF). It also includes the special characters tab (\u0009), line feed
  15686. // (\u000A), and carriage return (\u000D).
  15687. //
  15688. // PolicyDocument is a required field
  15689. PolicyDocument *string `min:"1" type:"string" required:"true"`
  15690. // The name of the policy document.
  15691. //
  15692. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  15693. // a string of characters consisting of upper and lowercase alphanumeric characters
  15694. // with no spaces. You can also include any of the following characters: =,.@-
  15695. //
  15696. // PolicyName is a required field
  15697. PolicyName *string `min:"1" type:"string" required:"true"`
  15698. }
  15699. // String returns the string representation
  15700. func (s PutGroupPolicyInput) String() string {
  15701. return awsutil.Prettify(s)
  15702. }
  15703. // GoString returns the string representation
  15704. func (s PutGroupPolicyInput) GoString() string {
  15705. return s.String()
  15706. }
  15707. // Validate inspects the fields of the type to determine if they are valid.
  15708. func (s *PutGroupPolicyInput) Validate() error {
  15709. invalidParams := request.ErrInvalidParams{Context: "PutGroupPolicyInput"}
  15710. if s.GroupName == nil {
  15711. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  15712. }
  15713. if s.GroupName != nil && len(*s.GroupName) < 1 {
  15714. invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
  15715. }
  15716. if s.PolicyDocument == nil {
  15717. invalidParams.Add(request.NewErrParamRequired("PolicyDocument"))
  15718. }
  15719. if s.PolicyDocument != nil && len(*s.PolicyDocument) < 1 {
  15720. invalidParams.Add(request.NewErrParamMinLen("PolicyDocument", 1))
  15721. }
  15722. if s.PolicyName == nil {
  15723. invalidParams.Add(request.NewErrParamRequired("PolicyName"))
  15724. }
  15725. if s.PolicyName != nil && len(*s.PolicyName) < 1 {
  15726. invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
  15727. }
  15728. if invalidParams.Len() > 0 {
  15729. return invalidParams
  15730. }
  15731. return nil
  15732. }
  15733. type PutGroupPolicyOutput struct {
  15734. _ struct{} `type:"structure"`
  15735. }
  15736. // String returns the string representation
  15737. func (s PutGroupPolicyOutput) String() string {
  15738. return awsutil.Prettify(s)
  15739. }
  15740. // GoString returns the string representation
  15741. func (s PutGroupPolicyOutput) GoString() string {
  15742. return s.String()
  15743. }
  15744. type PutRolePolicyInput struct {
  15745. _ struct{} `type:"structure"`
  15746. // The policy document.
  15747. //
  15748. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  15749. // a string of characters consisting of any printable ASCII character ranging
  15750. // from the space character (\u0020) through end of the ASCII character range
  15751. // (\u00FF). It also includes the special characters tab (\u0009), line feed
  15752. // (\u000A), and carriage return (\u000D).
  15753. //
  15754. // PolicyDocument is a required field
  15755. PolicyDocument *string `min:"1" type:"string" required:"true"`
  15756. // The name of the policy document.
  15757. //
  15758. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  15759. // a string of characters consisting of upper and lowercase alphanumeric characters
  15760. // with no spaces. You can also include any of the following characters: =,.@-
  15761. //
  15762. // PolicyName is a required field
  15763. PolicyName *string `min:"1" type:"string" required:"true"`
  15764. // The name of the role to associate the policy with.
  15765. //
  15766. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  15767. // a string of characters consisting of upper and lowercase alphanumeric characters
  15768. // with no spaces. You can also include any of the following characters: =,.@-
  15769. //
  15770. // RoleName is a required field
  15771. RoleName *string `min:"1" type:"string" required:"true"`
  15772. }
  15773. // String returns the string representation
  15774. func (s PutRolePolicyInput) String() string {
  15775. return awsutil.Prettify(s)
  15776. }
  15777. // GoString returns the string representation
  15778. func (s PutRolePolicyInput) GoString() string {
  15779. return s.String()
  15780. }
  15781. // Validate inspects the fields of the type to determine if they are valid.
  15782. func (s *PutRolePolicyInput) Validate() error {
  15783. invalidParams := request.ErrInvalidParams{Context: "PutRolePolicyInput"}
  15784. if s.PolicyDocument == nil {
  15785. invalidParams.Add(request.NewErrParamRequired("PolicyDocument"))
  15786. }
  15787. if s.PolicyDocument != nil && len(*s.PolicyDocument) < 1 {
  15788. invalidParams.Add(request.NewErrParamMinLen("PolicyDocument", 1))
  15789. }
  15790. if s.PolicyName == nil {
  15791. invalidParams.Add(request.NewErrParamRequired("PolicyName"))
  15792. }
  15793. if s.PolicyName != nil && len(*s.PolicyName) < 1 {
  15794. invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
  15795. }
  15796. if s.RoleName == nil {
  15797. invalidParams.Add(request.NewErrParamRequired("RoleName"))
  15798. }
  15799. if s.RoleName != nil && len(*s.RoleName) < 1 {
  15800. invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
  15801. }
  15802. if invalidParams.Len() > 0 {
  15803. return invalidParams
  15804. }
  15805. return nil
  15806. }
  15807. type PutRolePolicyOutput struct {
  15808. _ struct{} `type:"structure"`
  15809. }
  15810. // String returns the string representation
  15811. func (s PutRolePolicyOutput) String() string {
  15812. return awsutil.Prettify(s)
  15813. }
  15814. // GoString returns the string representation
  15815. func (s PutRolePolicyOutput) GoString() string {
  15816. return s.String()
  15817. }
  15818. type PutUserPolicyInput struct {
  15819. _ struct{} `type:"structure"`
  15820. // The policy document.
  15821. //
  15822. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  15823. // a string of characters consisting of any printable ASCII character ranging
  15824. // from the space character (\u0020) through end of the ASCII character range
  15825. // (\u00FF). It also includes the special characters tab (\u0009), line feed
  15826. // (\u000A), and carriage return (\u000D).
  15827. //
  15828. // PolicyDocument is a required field
  15829. PolicyDocument *string `min:"1" type:"string" required:"true"`
  15830. // The name of the policy document.
  15831. //
  15832. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  15833. // a string of characters consisting of upper and lowercase alphanumeric characters
  15834. // with no spaces. You can also include any of the following characters: =,.@-
  15835. //
  15836. // PolicyName is a required field
  15837. PolicyName *string `min:"1" type:"string" required:"true"`
  15838. // The name of the user to associate the policy with.
  15839. //
  15840. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  15841. // a string of characters consisting of upper and lowercase alphanumeric characters
  15842. // with no spaces. You can also include any of the following characters: =,.@-
  15843. //
  15844. // UserName is a required field
  15845. UserName *string `min:"1" type:"string" required:"true"`
  15846. }
  15847. // String returns the string representation
  15848. func (s PutUserPolicyInput) String() string {
  15849. return awsutil.Prettify(s)
  15850. }
  15851. // GoString returns the string representation
  15852. func (s PutUserPolicyInput) GoString() string {
  15853. return s.String()
  15854. }
  15855. // Validate inspects the fields of the type to determine if they are valid.
  15856. func (s *PutUserPolicyInput) Validate() error {
  15857. invalidParams := request.ErrInvalidParams{Context: "PutUserPolicyInput"}
  15858. if s.PolicyDocument == nil {
  15859. invalidParams.Add(request.NewErrParamRequired("PolicyDocument"))
  15860. }
  15861. if s.PolicyDocument != nil && len(*s.PolicyDocument) < 1 {
  15862. invalidParams.Add(request.NewErrParamMinLen("PolicyDocument", 1))
  15863. }
  15864. if s.PolicyName == nil {
  15865. invalidParams.Add(request.NewErrParamRequired("PolicyName"))
  15866. }
  15867. if s.PolicyName != nil && len(*s.PolicyName) < 1 {
  15868. invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
  15869. }
  15870. if s.UserName == nil {
  15871. invalidParams.Add(request.NewErrParamRequired("UserName"))
  15872. }
  15873. if s.UserName != nil && len(*s.UserName) < 1 {
  15874. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  15875. }
  15876. if invalidParams.Len() > 0 {
  15877. return invalidParams
  15878. }
  15879. return nil
  15880. }
  15881. type PutUserPolicyOutput struct {
  15882. _ struct{} `type:"structure"`
  15883. }
  15884. // String returns the string representation
  15885. func (s PutUserPolicyOutput) String() string {
  15886. return awsutil.Prettify(s)
  15887. }
  15888. // GoString returns the string representation
  15889. func (s PutUserPolicyOutput) GoString() string {
  15890. return s.String()
  15891. }
  15892. type RemoveClientIDFromOpenIDConnectProviderInput struct {
  15893. _ struct{} `type:"structure"`
  15894. // The client ID (also known as audience) to remove from the IAM OIDC provider
  15895. // resource. For more information about client IDs, see CreateOpenIDConnectProvider.
  15896. //
  15897. // ClientID is a required field
  15898. ClientID *string `min:"1" type:"string" required:"true"`
  15899. // The Amazon Resource Name (ARN) of the IAM OIDC provider resource to remove
  15900. // the client ID from. You can get a list of OIDC provider ARNs by using the
  15901. // ListOpenIDConnectProviders action.
  15902. //
  15903. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  15904. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  15905. // in the AWS General Reference.
  15906. //
  15907. // OpenIDConnectProviderArn is a required field
  15908. OpenIDConnectProviderArn *string `min:"20" type:"string" required:"true"`
  15909. }
  15910. // String returns the string representation
  15911. func (s RemoveClientIDFromOpenIDConnectProviderInput) String() string {
  15912. return awsutil.Prettify(s)
  15913. }
  15914. // GoString returns the string representation
  15915. func (s RemoveClientIDFromOpenIDConnectProviderInput) GoString() string {
  15916. return s.String()
  15917. }
  15918. // Validate inspects the fields of the type to determine if they are valid.
  15919. func (s *RemoveClientIDFromOpenIDConnectProviderInput) Validate() error {
  15920. invalidParams := request.ErrInvalidParams{Context: "RemoveClientIDFromOpenIDConnectProviderInput"}
  15921. if s.ClientID == nil {
  15922. invalidParams.Add(request.NewErrParamRequired("ClientID"))
  15923. }
  15924. if s.ClientID != nil && len(*s.ClientID) < 1 {
  15925. invalidParams.Add(request.NewErrParamMinLen("ClientID", 1))
  15926. }
  15927. if s.OpenIDConnectProviderArn == nil {
  15928. invalidParams.Add(request.NewErrParamRequired("OpenIDConnectProviderArn"))
  15929. }
  15930. if s.OpenIDConnectProviderArn != nil && len(*s.OpenIDConnectProviderArn) < 20 {
  15931. invalidParams.Add(request.NewErrParamMinLen("OpenIDConnectProviderArn", 20))
  15932. }
  15933. if invalidParams.Len() > 0 {
  15934. return invalidParams
  15935. }
  15936. return nil
  15937. }
  15938. type RemoveClientIDFromOpenIDConnectProviderOutput struct {
  15939. _ struct{} `type:"structure"`
  15940. }
  15941. // String returns the string representation
  15942. func (s RemoveClientIDFromOpenIDConnectProviderOutput) String() string {
  15943. return awsutil.Prettify(s)
  15944. }
  15945. // GoString returns the string representation
  15946. func (s RemoveClientIDFromOpenIDConnectProviderOutput) GoString() string {
  15947. return s.String()
  15948. }
  15949. type RemoveRoleFromInstanceProfileInput struct {
  15950. _ struct{} `type:"structure"`
  15951. // The name of the instance profile to update.
  15952. //
  15953. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  15954. // a string of characters consisting of upper and lowercase alphanumeric characters
  15955. // with no spaces. You can also include any of the following characters: =,.@-
  15956. //
  15957. // InstanceProfileName is a required field
  15958. InstanceProfileName *string `min:"1" type:"string" required:"true"`
  15959. // The name of the role to remove.
  15960. //
  15961. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  15962. // a string of characters consisting of upper and lowercase alphanumeric characters
  15963. // with no spaces. You can also include any of the following characters: =,.@-
  15964. //
  15965. // RoleName is a required field
  15966. RoleName *string `min:"1" type:"string" required:"true"`
  15967. }
  15968. // String returns the string representation
  15969. func (s RemoveRoleFromInstanceProfileInput) String() string {
  15970. return awsutil.Prettify(s)
  15971. }
  15972. // GoString returns the string representation
  15973. func (s RemoveRoleFromInstanceProfileInput) GoString() string {
  15974. return s.String()
  15975. }
  15976. // Validate inspects the fields of the type to determine if they are valid.
  15977. func (s *RemoveRoleFromInstanceProfileInput) Validate() error {
  15978. invalidParams := request.ErrInvalidParams{Context: "RemoveRoleFromInstanceProfileInput"}
  15979. if s.InstanceProfileName == nil {
  15980. invalidParams.Add(request.NewErrParamRequired("InstanceProfileName"))
  15981. }
  15982. if s.InstanceProfileName != nil && len(*s.InstanceProfileName) < 1 {
  15983. invalidParams.Add(request.NewErrParamMinLen("InstanceProfileName", 1))
  15984. }
  15985. if s.RoleName == nil {
  15986. invalidParams.Add(request.NewErrParamRequired("RoleName"))
  15987. }
  15988. if s.RoleName != nil && len(*s.RoleName) < 1 {
  15989. invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
  15990. }
  15991. if invalidParams.Len() > 0 {
  15992. return invalidParams
  15993. }
  15994. return nil
  15995. }
  15996. type RemoveRoleFromInstanceProfileOutput struct {
  15997. _ struct{} `type:"structure"`
  15998. }
  15999. // String returns the string representation
  16000. func (s RemoveRoleFromInstanceProfileOutput) String() string {
  16001. return awsutil.Prettify(s)
  16002. }
  16003. // GoString returns the string representation
  16004. func (s RemoveRoleFromInstanceProfileOutput) GoString() string {
  16005. return s.String()
  16006. }
  16007. type RemoveUserFromGroupInput struct {
  16008. _ struct{} `type:"structure"`
  16009. // The name of the group to update.
  16010. //
  16011. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  16012. // a string of characters consisting of upper and lowercase alphanumeric characters
  16013. // with no spaces. You can also include any of the following characters: =,.@-
  16014. //
  16015. // GroupName is a required field
  16016. GroupName *string `min:"1" type:"string" required:"true"`
  16017. // The name of the user to remove.
  16018. //
  16019. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  16020. // a string of characters consisting of upper and lowercase alphanumeric characters
  16021. // with no spaces. You can also include any of the following characters: =,.@-
  16022. //
  16023. // UserName is a required field
  16024. UserName *string `min:"1" type:"string" required:"true"`
  16025. }
  16026. // String returns the string representation
  16027. func (s RemoveUserFromGroupInput) String() string {
  16028. return awsutil.Prettify(s)
  16029. }
  16030. // GoString returns the string representation
  16031. func (s RemoveUserFromGroupInput) GoString() string {
  16032. return s.String()
  16033. }
  16034. // Validate inspects the fields of the type to determine if they are valid.
  16035. func (s *RemoveUserFromGroupInput) Validate() error {
  16036. invalidParams := request.ErrInvalidParams{Context: "RemoveUserFromGroupInput"}
  16037. if s.GroupName == nil {
  16038. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  16039. }
  16040. if s.GroupName != nil && len(*s.GroupName) < 1 {
  16041. invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
  16042. }
  16043. if s.UserName == nil {
  16044. invalidParams.Add(request.NewErrParamRequired("UserName"))
  16045. }
  16046. if s.UserName != nil && len(*s.UserName) < 1 {
  16047. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  16048. }
  16049. if invalidParams.Len() > 0 {
  16050. return invalidParams
  16051. }
  16052. return nil
  16053. }
  16054. type RemoveUserFromGroupOutput struct {
  16055. _ struct{} `type:"structure"`
  16056. }
  16057. // String returns the string representation
  16058. func (s RemoveUserFromGroupOutput) String() string {
  16059. return awsutil.Prettify(s)
  16060. }
  16061. // GoString returns the string representation
  16062. func (s RemoveUserFromGroupOutput) GoString() string {
  16063. return s.String()
  16064. }
  16065. // Contains the result of the simulation of a single API action call on a single
  16066. // resource.
  16067. //
  16068. // This data type is used by a member of the EvaluationResult data type.
  16069. type ResourceSpecificResult struct {
  16070. _ struct{} `type:"structure"`
  16071. // Additional details about the results of the evaluation decision. When there
  16072. // are both IAM policies and resource policies, this parameter explains how
  16073. // each set of policies contributes to the final evaluation decision. When simulating
  16074. // cross-account access to a resource, both the resource-based policy and the
  16075. // caller's IAM policy must grant access.
  16076. EvalDecisionDetails map[string]*string `type:"map"`
  16077. // The result of the simulation of the simulated API action on the resource
  16078. // specified in EvalResourceName.
  16079. //
  16080. // EvalResourceDecision is a required field
  16081. EvalResourceDecision *string `type:"string" required:"true" enum:"PolicyEvaluationDecisionType"`
  16082. // The name of the simulated resource, in Amazon Resource Name (ARN) format.
  16083. //
  16084. // EvalResourceName is a required field
  16085. EvalResourceName *string `min:"1" type:"string" required:"true"`
  16086. // A list of the statements in the input policies that determine the result
  16087. // for this part of the simulation. Remember that even if multiple statements
  16088. // allow the action on the resource, if any statement denies that action, then
  16089. // the explicit deny overrides any allow, and the deny statement is the only
  16090. // entry included in the result.
  16091. MatchedStatements []*Statement `type:"list"`
  16092. // A list of context keys that are required by the included input policies but
  16093. // that were not provided by one of the input parameters. This list is used
  16094. // when a list of ARNs is included in the ResourceArns parameter instead of
  16095. // "*". If you do not specify individual resources, by setting ResourceArns
  16096. // to "*" or by not including the ResourceArns parameter, then any missing context
  16097. // values are instead included under the EvaluationResults section. To discover
  16098. // the context keys used by a set of policies, you can call GetContextKeysForCustomPolicy
  16099. // or GetContextKeysForPrincipalPolicy.
  16100. MissingContextValues []*string `type:"list"`
  16101. }
  16102. // String returns the string representation
  16103. func (s ResourceSpecificResult) String() string {
  16104. return awsutil.Prettify(s)
  16105. }
  16106. // GoString returns the string representation
  16107. func (s ResourceSpecificResult) GoString() string {
  16108. return s.String()
  16109. }
  16110. type ResyncMFADeviceInput struct {
  16111. _ struct{} `type:"structure"`
  16112. // An authentication code emitted by the device.
  16113. //
  16114. // The format for this parameter is a sequence of six digits.
  16115. //
  16116. // AuthenticationCode1 is a required field
  16117. AuthenticationCode1 *string `min:"6" type:"string" required:"true"`
  16118. // A subsequent authentication code emitted by the device.
  16119. //
  16120. // The format for this parameter is a sequence of six digits.
  16121. //
  16122. // AuthenticationCode2 is a required field
  16123. AuthenticationCode2 *string `min:"6" type:"string" required:"true"`
  16124. // Serial number that uniquely identifies the MFA device.
  16125. //
  16126. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  16127. // a string of characters consisting of upper and lowercase alphanumeric characters
  16128. // with no spaces. You can also include any of the following characters: =,.@-
  16129. //
  16130. // SerialNumber is a required field
  16131. SerialNumber *string `min:"9" type:"string" required:"true"`
  16132. // The name of the user whose MFA device you want to resynchronize.
  16133. //
  16134. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  16135. // a string of characters consisting of upper and lowercase alphanumeric characters
  16136. // with no spaces. You can also include any of the following characters: =,.@-
  16137. //
  16138. // UserName is a required field
  16139. UserName *string `min:"1" type:"string" required:"true"`
  16140. }
  16141. // String returns the string representation
  16142. func (s ResyncMFADeviceInput) String() string {
  16143. return awsutil.Prettify(s)
  16144. }
  16145. // GoString returns the string representation
  16146. func (s ResyncMFADeviceInput) GoString() string {
  16147. return s.String()
  16148. }
  16149. // Validate inspects the fields of the type to determine if they are valid.
  16150. func (s *ResyncMFADeviceInput) Validate() error {
  16151. invalidParams := request.ErrInvalidParams{Context: "ResyncMFADeviceInput"}
  16152. if s.AuthenticationCode1 == nil {
  16153. invalidParams.Add(request.NewErrParamRequired("AuthenticationCode1"))
  16154. }
  16155. if s.AuthenticationCode1 != nil && len(*s.AuthenticationCode1) < 6 {
  16156. invalidParams.Add(request.NewErrParamMinLen("AuthenticationCode1", 6))
  16157. }
  16158. if s.AuthenticationCode2 == nil {
  16159. invalidParams.Add(request.NewErrParamRequired("AuthenticationCode2"))
  16160. }
  16161. if s.AuthenticationCode2 != nil && len(*s.AuthenticationCode2) < 6 {
  16162. invalidParams.Add(request.NewErrParamMinLen("AuthenticationCode2", 6))
  16163. }
  16164. if s.SerialNumber == nil {
  16165. invalidParams.Add(request.NewErrParamRequired("SerialNumber"))
  16166. }
  16167. if s.SerialNumber != nil && len(*s.SerialNumber) < 9 {
  16168. invalidParams.Add(request.NewErrParamMinLen("SerialNumber", 9))
  16169. }
  16170. if s.UserName == nil {
  16171. invalidParams.Add(request.NewErrParamRequired("UserName"))
  16172. }
  16173. if s.UserName != nil && len(*s.UserName) < 1 {
  16174. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  16175. }
  16176. if invalidParams.Len() > 0 {
  16177. return invalidParams
  16178. }
  16179. return nil
  16180. }
  16181. type ResyncMFADeviceOutput struct {
  16182. _ struct{} `type:"structure"`
  16183. }
  16184. // String returns the string representation
  16185. func (s ResyncMFADeviceOutput) String() string {
  16186. return awsutil.Prettify(s)
  16187. }
  16188. // GoString returns the string representation
  16189. func (s ResyncMFADeviceOutput) GoString() string {
  16190. return s.String()
  16191. }
  16192. // Contains information about an IAM role.
  16193. //
  16194. // This data type is used as a response element in the following actions:
  16195. //
  16196. // * CreateRole
  16197. //
  16198. // * GetRole
  16199. //
  16200. // * ListRoles
  16201. type Role struct {
  16202. _ struct{} `type:"structure"`
  16203. // The Amazon Resource Name (ARN) specifying the role. For more information
  16204. // about ARNs and how to use them in policies, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  16205. // in the Using IAM guide.
  16206. //
  16207. // Arn is a required field
  16208. Arn *string `min:"20" type:"string" required:"true"`
  16209. // The policy that grants an entity permission to assume the role.
  16210. AssumeRolePolicyDocument *string `min:"1" type:"string"`
  16211. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  16212. // when the role was created.
  16213. //
  16214. // CreateDate is a required field
  16215. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  16216. // The path to the role. For more information about paths, see IAM Identifiers
  16217. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  16218. // in the Using IAM guide.
  16219. //
  16220. // Path is a required field
  16221. Path *string `min:"1" type:"string" required:"true"`
  16222. // The stable and unique string identifying the role. For more information about
  16223. // IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  16224. // in the Using IAM guide.
  16225. //
  16226. // RoleId is a required field
  16227. RoleId *string `min:"16" type:"string" required:"true"`
  16228. // The friendly name that identifies the role.
  16229. //
  16230. // RoleName is a required field
  16231. RoleName *string `min:"1" type:"string" required:"true"`
  16232. }
  16233. // String returns the string representation
  16234. func (s Role) String() string {
  16235. return awsutil.Prettify(s)
  16236. }
  16237. // GoString returns the string representation
  16238. func (s Role) GoString() string {
  16239. return s.String()
  16240. }
  16241. // Contains information about an IAM role, including all of the role's policies.
  16242. //
  16243. // This data type is used as a response element in the GetAccountAuthorizationDetails
  16244. // action.
  16245. type RoleDetail struct {
  16246. _ struct{} `type:"structure"`
  16247. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  16248. //
  16249. // For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS
  16250. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  16251. // in the AWS General Reference.
  16252. Arn *string `min:"20" type:"string"`
  16253. // The trust policy that grants permission to assume the role.
  16254. AssumeRolePolicyDocument *string `min:"1" type:"string"`
  16255. // A list of managed policies attached to the role. These policies are the role's
  16256. // access (permissions) policies.
  16257. AttachedManagedPolicies []*AttachedPolicy `type:"list"`
  16258. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  16259. // when the role was created.
  16260. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  16261. // Contains a list of instance profiles.
  16262. InstanceProfileList []*InstanceProfile `type:"list"`
  16263. // The path to the role. For more information about paths, see IAM Identifiers
  16264. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  16265. // in the Using IAM guide.
  16266. Path *string `min:"1" type:"string"`
  16267. // The stable and unique string identifying the role. For more information about
  16268. // IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  16269. // in the Using IAM guide.
  16270. RoleId *string `min:"16" type:"string"`
  16271. // The friendly name that identifies the role.
  16272. RoleName *string `min:"1" type:"string"`
  16273. // A list of inline policies embedded in the role. These policies are the role's
  16274. // access (permissions) policies.
  16275. RolePolicyList []*PolicyDetail `type:"list"`
  16276. }
  16277. // String returns the string representation
  16278. func (s RoleDetail) String() string {
  16279. return awsutil.Prettify(s)
  16280. }
  16281. // GoString returns the string representation
  16282. func (s RoleDetail) GoString() string {
  16283. return s.String()
  16284. }
  16285. // Contains the list of SAML providers for this account.
  16286. type SAMLProviderListEntry struct {
  16287. _ struct{} `type:"structure"`
  16288. // The Amazon Resource Name (ARN) of the SAML provider.
  16289. Arn *string `min:"20" type:"string"`
  16290. // The date and time when the SAML provider was created.
  16291. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  16292. // The expiration date and time for the SAML provider.
  16293. ValidUntil *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  16294. }
  16295. // String returns the string representation
  16296. func (s SAMLProviderListEntry) String() string {
  16297. return awsutil.Prettify(s)
  16298. }
  16299. // GoString returns the string representation
  16300. func (s SAMLProviderListEntry) GoString() string {
  16301. return s.String()
  16302. }
  16303. // Contains information about an SSH public key.
  16304. //
  16305. // This data type is used as a response element in the GetSSHPublicKey and UploadSSHPublicKey
  16306. // actions.
  16307. type SSHPublicKey struct {
  16308. _ struct{} `type:"structure"`
  16309. // The MD5 message digest of the SSH public key.
  16310. //
  16311. // Fingerprint is a required field
  16312. Fingerprint *string `min:"48" type:"string" required:"true"`
  16313. // The SSH public key.
  16314. //
  16315. // SSHPublicKeyBody is a required field
  16316. SSHPublicKeyBody *string `min:"1" type:"string" required:"true"`
  16317. // The unique identifier for the SSH public key.
  16318. //
  16319. // SSHPublicKeyId is a required field
  16320. SSHPublicKeyId *string `min:"20" type:"string" required:"true"`
  16321. // The status of the SSH public key. Active means the key can be used for authentication
  16322. // with an AWS CodeCommit repository. Inactive means the key cannot be used.
  16323. //
  16324. // Status is a required field
  16325. Status *string `type:"string" required:"true" enum:"statusType"`
  16326. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  16327. // when the SSH public key was uploaded.
  16328. UploadDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  16329. // The name of the IAM user associated with the SSH public key.
  16330. //
  16331. // UserName is a required field
  16332. UserName *string `min:"1" type:"string" required:"true"`
  16333. }
  16334. // String returns the string representation
  16335. func (s SSHPublicKey) String() string {
  16336. return awsutil.Prettify(s)
  16337. }
  16338. // GoString returns the string representation
  16339. func (s SSHPublicKey) GoString() string {
  16340. return s.String()
  16341. }
  16342. // Contains information about an SSH public key, without the key's body or fingerprint.
  16343. //
  16344. // This data type is used as a response element in the ListSSHPublicKeys action.
  16345. type SSHPublicKeyMetadata struct {
  16346. _ struct{} `type:"structure"`
  16347. // The unique identifier for the SSH public key.
  16348. //
  16349. // SSHPublicKeyId is a required field
  16350. SSHPublicKeyId *string `min:"20" type:"string" required:"true"`
  16351. // The status of the SSH public key. Active means the key can be used for authentication
  16352. // with an AWS CodeCommit repository. Inactive means the key cannot be used.
  16353. //
  16354. // Status is a required field
  16355. Status *string `type:"string" required:"true" enum:"statusType"`
  16356. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  16357. // when the SSH public key was uploaded.
  16358. //
  16359. // UploadDate is a required field
  16360. UploadDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  16361. // The name of the IAM user associated with the SSH public key.
  16362. //
  16363. // UserName is a required field
  16364. UserName *string `min:"1" type:"string" required:"true"`
  16365. }
  16366. // String returns the string representation
  16367. func (s SSHPublicKeyMetadata) String() string {
  16368. return awsutil.Prettify(s)
  16369. }
  16370. // GoString returns the string representation
  16371. func (s SSHPublicKeyMetadata) GoString() string {
  16372. return s.String()
  16373. }
  16374. // Contains information about a server certificate.
  16375. //
  16376. // This data type is used as a response element in the GetServerCertificate
  16377. // action.
  16378. type ServerCertificate struct {
  16379. _ struct{} `type:"structure"`
  16380. // The contents of the public key certificate.
  16381. //
  16382. // CertificateBody is a required field
  16383. CertificateBody *string `min:"1" type:"string" required:"true"`
  16384. // The contents of the public key certificate chain.
  16385. CertificateChain *string `min:"1" type:"string"`
  16386. // The meta information of the server certificate, such as its name, path, ID,
  16387. // and ARN.
  16388. //
  16389. // ServerCertificateMetadata is a required field
  16390. ServerCertificateMetadata *ServerCertificateMetadata `type:"structure" required:"true"`
  16391. }
  16392. // String returns the string representation
  16393. func (s ServerCertificate) String() string {
  16394. return awsutil.Prettify(s)
  16395. }
  16396. // GoString returns the string representation
  16397. func (s ServerCertificate) GoString() string {
  16398. return s.String()
  16399. }
  16400. // Contains information about a server certificate without its certificate body,
  16401. // certificate chain, and private key.
  16402. //
  16403. // This data type is used as a response element in the UploadServerCertificate
  16404. // and ListServerCertificates actions.
  16405. type ServerCertificateMetadata struct {
  16406. _ struct{} `type:"structure"`
  16407. // The Amazon Resource Name (ARN) specifying the server certificate. For more
  16408. // information about ARNs and how to use them in policies, see IAM Identifiers
  16409. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  16410. // in the Using IAM guide.
  16411. //
  16412. // Arn is a required field
  16413. Arn *string `min:"20" type:"string" required:"true"`
  16414. // The date on which the certificate is set to expire.
  16415. Expiration *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  16416. // The path to the server certificate. For more information about paths, see
  16417. // IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  16418. // in the Using IAM guide.
  16419. //
  16420. // Path is a required field
  16421. Path *string `min:"1" type:"string" required:"true"`
  16422. // The stable and unique string identifying the server certificate. For more
  16423. // information about IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  16424. // in the Using IAM guide.
  16425. //
  16426. // ServerCertificateId is a required field
  16427. ServerCertificateId *string `min:"16" type:"string" required:"true"`
  16428. // The name that identifies the server certificate.
  16429. //
  16430. // ServerCertificateName is a required field
  16431. ServerCertificateName *string `min:"1" type:"string" required:"true"`
  16432. // The date when the server certificate was uploaded.
  16433. UploadDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  16434. }
  16435. // String returns the string representation
  16436. func (s ServerCertificateMetadata) String() string {
  16437. return awsutil.Prettify(s)
  16438. }
  16439. // GoString returns the string representation
  16440. func (s ServerCertificateMetadata) GoString() string {
  16441. return s.String()
  16442. }
  16443. type SetDefaultPolicyVersionInput struct {
  16444. _ struct{} `type:"structure"`
  16445. // The Amazon Resource Name (ARN) of the IAM policy whose default version you
  16446. // want to set.
  16447. //
  16448. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  16449. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  16450. // in the AWS General Reference.
  16451. //
  16452. // PolicyArn is a required field
  16453. PolicyArn *string `min:"20" type:"string" required:"true"`
  16454. // The version of the policy to set as the default (operative) version.
  16455. //
  16456. // For more information about managed policy versions, see Versioning for Managed
  16457. // Policies (http://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-versions.html)
  16458. // in the IAM User Guide.
  16459. //
  16460. // VersionId is a required field
  16461. VersionId *string `type:"string" required:"true"`
  16462. }
  16463. // String returns the string representation
  16464. func (s SetDefaultPolicyVersionInput) String() string {
  16465. return awsutil.Prettify(s)
  16466. }
  16467. // GoString returns the string representation
  16468. func (s SetDefaultPolicyVersionInput) GoString() string {
  16469. return s.String()
  16470. }
  16471. // Validate inspects the fields of the type to determine if they are valid.
  16472. func (s *SetDefaultPolicyVersionInput) Validate() error {
  16473. invalidParams := request.ErrInvalidParams{Context: "SetDefaultPolicyVersionInput"}
  16474. if s.PolicyArn == nil {
  16475. invalidParams.Add(request.NewErrParamRequired("PolicyArn"))
  16476. }
  16477. if s.PolicyArn != nil && len(*s.PolicyArn) < 20 {
  16478. invalidParams.Add(request.NewErrParamMinLen("PolicyArn", 20))
  16479. }
  16480. if s.VersionId == nil {
  16481. invalidParams.Add(request.NewErrParamRequired("VersionId"))
  16482. }
  16483. if invalidParams.Len() > 0 {
  16484. return invalidParams
  16485. }
  16486. return nil
  16487. }
  16488. type SetDefaultPolicyVersionOutput struct {
  16489. _ struct{} `type:"structure"`
  16490. }
  16491. // String returns the string representation
  16492. func (s SetDefaultPolicyVersionOutput) String() string {
  16493. return awsutil.Prettify(s)
  16494. }
  16495. // GoString returns the string representation
  16496. func (s SetDefaultPolicyVersionOutput) GoString() string {
  16497. return s.String()
  16498. }
  16499. // Contains information about an X.509 signing certificate.
  16500. //
  16501. // This data type is used as a response element in the UploadSigningCertificate
  16502. // and ListSigningCertificates actions.
  16503. type SigningCertificate struct {
  16504. _ struct{} `type:"structure"`
  16505. // The contents of the signing certificate.
  16506. //
  16507. // CertificateBody is a required field
  16508. CertificateBody *string `min:"1" type:"string" required:"true"`
  16509. // The ID for the signing certificate.
  16510. //
  16511. // CertificateId is a required field
  16512. CertificateId *string `min:"24" type:"string" required:"true"`
  16513. // The status of the signing certificate. Active means the key is valid for
  16514. // API calls, while Inactive means it is not.
  16515. //
  16516. // Status is a required field
  16517. Status *string `type:"string" required:"true" enum:"statusType"`
  16518. // The date when the signing certificate was uploaded.
  16519. UploadDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  16520. // The name of the user the signing certificate is associated with.
  16521. //
  16522. // UserName is a required field
  16523. UserName *string `min:"1" type:"string" required:"true"`
  16524. }
  16525. // String returns the string representation
  16526. func (s SigningCertificate) String() string {
  16527. return awsutil.Prettify(s)
  16528. }
  16529. // GoString returns the string representation
  16530. func (s SigningCertificate) GoString() string {
  16531. return s.String()
  16532. }
  16533. type SimulateCustomPolicyInput struct {
  16534. _ struct{} `type:"structure"`
  16535. // A list of names of API actions to evaluate in the simulation. Each action
  16536. // is evaluated against each resource. Each action must include the service
  16537. // identifier, such as iam:CreateUser.
  16538. //
  16539. // ActionNames is a required field
  16540. ActionNames []*string `type:"list" required:"true"`
  16541. // The ARN of the IAM user that you want to use as the simulated caller of the
  16542. // APIs. CallerArn is required if you include a ResourcePolicy so that the policy's
  16543. // Principal element has a value to use in evaluating the policy.
  16544. //
  16545. // You can specify only the ARN of an IAM user. You cannot specify the ARN of
  16546. // an assumed role, federated user, or a service principal.
  16547. CallerArn *string `min:"1" type:"string"`
  16548. // A list of context keys and corresponding values for the simulation to use.
  16549. // Whenever a context key is evaluated in one of the simulated IAM permission
  16550. // policies, the corresponding value is supplied.
  16551. ContextEntries []*ContextEntry `type:"list"`
  16552. // Use this parameter only when paginating results and only after you receive
  16553. // a response indicating that the results are truncated. Set it to the value
  16554. // of the Marker element in the response that you received to indicate where
  16555. // the next call should start.
  16556. Marker *string `min:"1" type:"string"`
  16557. // Use this only when paginating results to indicate the maximum number of items
  16558. // you want in the response. If additional items exist beyond the maximum you
  16559. // specify, the IsTruncated response element is true.
  16560. //
  16561. // This parameter is optional. If you do not include it, it defaults to 100.
  16562. // Note that IAM might return fewer results, even when there are more results
  16563. // available. In that case, the IsTruncated response element returns true and
  16564. // Marker contains a value to include in the subsequent call that tells the
  16565. // service where to continue from.
  16566. MaxItems *int64 `min:"1" type:"integer"`
  16567. // A list of policy documents to include in the simulation. Each document is
  16568. // specified as a string containing the complete, valid JSON text of an IAM
  16569. // policy. Do not include any resource-based policies in this parameter. Any
  16570. // resource-based policy must be submitted with the ResourcePolicy parameter.
  16571. // The policies cannot be "scope-down" policies, such as you could include in
  16572. // a call to GetFederationToken (http://docs.aws.amazon.com/IAM/latest/APIReference/API_GetFederationToken.html)
  16573. // or one of the AssumeRole (http://docs.aws.amazon.com/IAM/latest/APIReference/API_AssumeRole.html)
  16574. // APIs to restrict what a user can do while using the temporary credentials.
  16575. //
  16576. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  16577. // a string of characters consisting of any printable ASCII character ranging
  16578. // from the space character (\u0020) through end of the ASCII character range
  16579. // (\u00FF). It also includes the special characters tab (\u0009), line feed
  16580. // (\u000A), and carriage return (\u000D).
  16581. //
  16582. // PolicyInputList is a required field
  16583. PolicyInputList []*string `type:"list" required:"true"`
  16584. // A list of ARNs of AWS resources to include in the simulation. If this parameter
  16585. // is not provided then the value defaults to * (all resources). Each API in
  16586. // the ActionNames parameter is evaluated for each resource in this list. The
  16587. // simulation determines the access result (allowed or denied) of each combination
  16588. // and reports it in the response.
  16589. //
  16590. // The simulation does not automatically retrieve policies for the specified
  16591. // resources. If you want to include a resource policy in the simulation, then
  16592. // you must include the policy as a string in the ResourcePolicy parameter.
  16593. //
  16594. // If you include a ResourcePolicy, then it must be applicable to all of the
  16595. // resources included in the simulation or you receive an invalid input error.
  16596. //
  16597. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  16598. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  16599. // in the AWS General Reference.
  16600. ResourceArns []*string `type:"list"`
  16601. // Specifies the type of simulation to run. Different APIs that support resource-based
  16602. // policies require different combinations of resources. By specifying the type
  16603. // of simulation to run, you enable the policy simulator to enforce the presence
  16604. // of the required resources to ensure reliable simulation results. If your
  16605. // simulation does not match one of the following scenarios, then you can omit
  16606. // this parameter. The following list shows each of the supported scenario values
  16607. // and the resources that you must define to run the simulation.
  16608. //
  16609. // Each of the EC2 scenarios requires that you specify instance, image, and
  16610. // security-group resources. If your scenario includes an EBS volume, then you
  16611. // must specify that volume as a resource. If the EC2 scenario includes VPC,
  16612. // then you must supply the network-interface resource. If it includes an IP
  16613. // subnet, then you must specify the subnet resource. For more information on
  16614. // the EC2 scenario options, see Supported Platforms (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html)
  16615. // in the AWS EC2 User Guide.
  16616. //
  16617. // * EC2-Classic-InstanceStore
  16618. //
  16619. // instance, image, security-group
  16620. //
  16621. // * EC2-Classic-EBS
  16622. //
  16623. // instance, image, security-group, volume
  16624. //
  16625. // * EC2-VPC-InstanceStore
  16626. //
  16627. // instance, image, security-group, network-interface
  16628. //
  16629. // * EC2-VPC-InstanceStore-Subnet
  16630. //
  16631. // instance, image, security-group, network-interface, subnet
  16632. //
  16633. // * EC2-VPC-EBS
  16634. //
  16635. // instance, image, security-group, network-interface, volume
  16636. //
  16637. // * EC2-VPC-EBS-Subnet
  16638. //
  16639. // instance, image, security-group, network-interface, subnet, volume
  16640. ResourceHandlingOption *string `min:"1" type:"string"`
  16641. // An AWS account ID that specifies the owner of any simulated resource that
  16642. // does not identify its owner in the resource ARN, such as an S3 bucket or
  16643. // object. If ResourceOwner is specified, it is also used as the account owner
  16644. // of any ResourcePolicy included in the simulation. If the ResourceOwner parameter
  16645. // is not specified, then the owner of the resources and the resource policy
  16646. // defaults to the account of the identity provided in CallerArn. This parameter
  16647. // is required only if you specify a resource-based policy and account that
  16648. // owns the resource is different from the account that owns the simulated calling
  16649. // user CallerArn.
  16650. ResourceOwner *string `min:"1" type:"string"`
  16651. // A resource-based policy to include in the simulation provided as a string.
  16652. // Each resource in the simulation is treated as if it had this policy attached.
  16653. // You can include only one resource-based policy in a simulation.
  16654. //
  16655. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  16656. // a string of characters consisting of any printable ASCII character ranging
  16657. // from the space character (\u0020) through end of the ASCII character range
  16658. // (\u00FF). It also includes the special characters tab (\u0009), line feed
  16659. // (\u000A), and carriage return (\u000D).
  16660. ResourcePolicy *string `min:"1" type:"string"`
  16661. }
  16662. // String returns the string representation
  16663. func (s SimulateCustomPolicyInput) String() string {
  16664. return awsutil.Prettify(s)
  16665. }
  16666. // GoString returns the string representation
  16667. func (s SimulateCustomPolicyInput) GoString() string {
  16668. return s.String()
  16669. }
  16670. // Validate inspects the fields of the type to determine if they are valid.
  16671. func (s *SimulateCustomPolicyInput) Validate() error {
  16672. invalidParams := request.ErrInvalidParams{Context: "SimulateCustomPolicyInput"}
  16673. if s.ActionNames == nil {
  16674. invalidParams.Add(request.NewErrParamRequired("ActionNames"))
  16675. }
  16676. if s.CallerArn != nil && len(*s.CallerArn) < 1 {
  16677. invalidParams.Add(request.NewErrParamMinLen("CallerArn", 1))
  16678. }
  16679. if s.Marker != nil && len(*s.Marker) < 1 {
  16680. invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  16681. }
  16682. if s.MaxItems != nil && *s.MaxItems < 1 {
  16683. invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  16684. }
  16685. if s.PolicyInputList == nil {
  16686. invalidParams.Add(request.NewErrParamRequired("PolicyInputList"))
  16687. }
  16688. if s.ResourceHandlingOption != nil && len(*s.ResourceHandlingOption) < 1 {
  16689. invalidParams.Add(request.NewErrParamMinLen("ResourceHandlingOption", 1))
  16690. }
  16691. if s.ResourceOwner != nil && len(*s.ResourceOwner) < 1 {
  16692. invalidParams.Add(request.NewErrParamMinLen("ResourceOwner", 1))
  16693. }
  16694. if s.ResourcePolicy != nil && len(*s.ResourcePolicy) < 1 {
  16695. invalidParams.Add(request.NewErrParamMinLen("ResourcePolicy", 1))
  16696. }
  16697. if s.ContextEntries != nil {
  16698. for i, v := range s.ContextEntries {
  16699. if v == nil {
  16700. continue
  16701. }
  16702. if err := v.Validate(); err != nil {
  16703. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContextEntries", i), err.(request.ErrInvalidParams))
  16704. }
  16705. }
  16706. }
  16707. if invalidParams.Len() > 0 {
  16708. return invalidParams
  16709. }
  16710. return nil
  16711. }
  16712. // Contains the response to a successful SimulatePrincipalPolicy or SimulateCustomPolicy
  16713. // request.
  16714. type SimulatePolicyResponse struct {
  16715. _ struct{} `type:"structure"`
  16716. // The results of the simulation.
  16717. EvaluationResults []*EvaluationResult `type:"list"`
  16718. // A flag that indicates whether there are more items to return. If your results
  16719. // were truncated, you can make a subsequent pagination request using the Marker
  16720. // request parameter to retrieve more items. Note that IAM might return fewer
  16721. // than the MaxItems number of results even when there are more results available.
  16722. // We recommend that you check IsTruncated after every call to ensure that you
  16723. // receive all of your results.
  16724. IsTruncated *bool `type:"boolean"`
  16725. // When IsTruncated is true, this element is present and contains the value
  16726. // to use for the Marker parameter in a subsequent pagination request.
  16727. Marker *string `min:"1" type:"string"`
  16728. }
  16729. // String returns the string representation
  16730. func (s SimulatePolicyResponse) String() string {
  16731. return awsutil.Prettify(s)
  16732. }
  16733. // GoString returns the string representation
  16734. func (s SimulatePolicyResponse) GoString() string {
  16735. return s.String()
  16736. }
  16737. type SimulatePrincipalPolicyInput struct {
  16738. _ struct{} `type:"structure"`
  16739. // A list of names of API actions to evaluate in the simulation. Each action
  16740. // is evaluated for each resource. Each action must include the service identifier,
  16741. // such as iam:CreateUser.
  16742. //
  16743. // ActionNames is a required field
  16744. ActionNames []*string `type:"list" required:"true"`
  16745. // The ARN of the IAM user that you want to specify as the simulated caller
  16746. // of the APIs. If you do not specify a CallerArn, it defaults to the ARN of
  16747. // the user that you specify in PolicySourceArn, if you specified a user. If
  16748. // you include both a PolicySourceArn (for example, arn:aws:iam::123456789012:user/David)
  16749. // and a CallerArn (for example, arn:aws:iam::123456789012:user/Bob), the result
  16750. // is that you simulate calling the APIs as Bob, as if Bob had David's policies.
  16751. //
  16752. // You can specify only the ARN of an IAM user. You cannot specify the ARN of
  16753. // an assumed role, federated user, or a service principal.
  16754. //
  16755. // CallerArn is required if you include a ResourcePolicy and the PolicySourceArn
  16756. // is not the ARN for an IAM user. This is required so that the resource-based
  16757. // policy's Principal element has a value to use in evaluating the policy.
  16758. //
  16759. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  16760. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  16761. // in the AWS General Reference.
  16762. CallerArn *string `min:"1" type:"string"`
  16763. // A list of context keys and corresponding values for the simulation to use.
  16764. // Whenever a context key is evaluated in one of the simulated IAM permission
  16765. // policies, the corresponding value is supplied.
  16766. ContextEntries []*ContextEntry `type:"list"`
  16767. // Use this parameter only when paginating results and only after you receive
  16768. // a response indicating that the results are truncated. Set it to the value
  16769. // of the Marker element in the response that you received to indicate where
  16770. // the next call should start.
  16771. Marker *string `min:"1" type:"string"`
  16772. // Use this only when paginating results to indicate the maximum number of items
  16773. // you want in the response. If additional items exist beyond the maximum you
  16774. // specify, the IsTruncated response element is true.
  16775. //
  16776. // This parameter is optional. If you do not include it, it defaults to 100.
  16777. // Note that IAM might return fewer results, even when there are more results
  16778. // available. In that case, the IsTruncated response element returns true and
  16779. // Marker contains a value to include in the subsequent call that tells the
  16780. // service where to continue from.
  16781. MaxItems *int64 `min:"1" type:"integer"`
  16782. // An optional list of additional policy documents to include in the simulation.
  16783. // Each document is specified as a string containing the complete, valid JSON
  16784. // text of an IAM policy.
  16785. //
  16786. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  16787. // a string of characters consisting of any printable ASCII character ranging
  16788. // from the space character (\u0020) through end of the ASCII character range
  16789. // (\u00FF). It also includes the special characters tab (\u0009), line feed
  16790. // (\u000A), and carriage return (\u000D).
  16791. PolicyInputList []*string `type:"list"`
  16792. // The Amazon Resource Name (ARN) of a user, group, or role whose policies you
  16793. // want to include in the simulation. If you specify a user, group, or role,
  16794. // the simulation includes all policies that are associated with that entity.
  16795. // If you specify a user, the simulation also includes all policies that are
  16796. // attached to any groups the user belongs to.
  16797. //
  16798. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  16799. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  16800. // in the AWS General Reference.
  16801. //
  16802. // PolicySourceArn is a required field
  16803. PolicySourceArn *string `min:"20" type:"string" required:"true"`
  16804. // A list of ARNs of AWS resources to include in the simulation. If this parameter
  16805. // is not provided then the value defaults to * (all resources). Each API in
  16806. // the ActionNames parameter is evaluated for each resource in this list. The
  16807. // simulation determines the access result (allowed or denied) of each combination
  16808. // and reports it in the response.
  16809. //
  16810. // The simulation does not automatically retrieve policies for the specified
  16811. // resources. If you want to include a resource policy in the simulation, then
  16812. // you must include the policy as a string in the ResourcePolicy parameter.
  16813. //
  16814. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  16815. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  16816. // in the AWS General Reference.
  16817. ResourceArns []*string `type:"list"`
  16818. // Specifies the type of simulation to run. Different APIs that support resource-based
  16819. // policies require different combinations of resources. By specifying the type
  16820. // of simulation to run, you enable the policy simulator to enforce the presence
  16821. // of the required resources to ensure reliable simulation results. If your
  16822. // simulation does not match one of the following scenarios, then you can omit
  16823. // this parameter. The following list shows each of the supported scenario values
  16824. // and the resources that you must define to run the simulation.
  16825. //
  16826. // Each of the EC2 scenarios requires that you specify instance, image, and
  16827. // security-group resources. If your scenario includes an EBS volume, then you
  16828. // must specify that volume as a resource. If the EC2 scenario includes VPC,
  16829. // then you must supply the network-interface resource. If it includes an IP
  16830. // subnet, then you must specify the subnet resource. For more information on
  16831. // the EC2 scenario options, see Supported Platforms (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html)
  16832. // in the AWS EC2 User Guide.
  16833. //
  16834. // * EC2-Classic-InstanceStore
  16835. //
  16836. // instance, image, security-group
  16837. //
  16838. // * EC2-Classic-EBS
  16839. //
  16840. // instance, image, security-group, volume
  16841. //
  16842. // * EC2-VPC-InstanceStore
  16843. //
  16844. // instance, image, security-group, network-interface
  16845. //
  16846. // * EC2-VPC-InstanceStore-Subnet
  16847. //
  16848. // instance, image, security-group, network-interface, subnet
  16849. //
  16850. // * EC2-VPC-EBS
  16851. //
  16852. // instance, image, security-group, network-interface, volume
  16853. //
  16854. // * EC2-VPC-EBS-Subnet
  16855. //
  16856. // instance, image, security-group, network-interface, subnet, volume
  16857. ResourceHandlingOption *string `min:"1" type:"string"`
  16858. // An AWS account ID that specifies the owner of any simulated resource that
  16859. // does not identify its owner in the resource ARN, such as an S3 bucket or
  16860. // object. If ResourceOwner is specified, it is also used as the account owner
  16861. // of any ResourcePolicy included in the simulation. If the ResourceOwner parameter
  16862. // is not specified, then the owner of the resources and the resource policy
  16863. // defaults to the account of the identity provided in CallerArn. This parameter
  16864. // is required only if you specify a resource-based policy and account that
  16865. // owns the resource is different from the account that owns the simulated calling
  16866. // user CallerArn.
  16867. ResourceOwner *string `min:"1" type:"string"`
  16868. // A resource-based policy to include in the simulation provided as a string.
  16869. // Each resource in the simulation is treated as if it had this policy attached.
  16870. // You can include only one resource-based policy in a simulation.
  16871. //
  16872. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  16873. // a string of characters consisting of any printable ASCII character ranging
  16874. // from the space character (\u0020) through end of the ASCII character range
  16875. // (\u00FF). It also includes the special characters tab (\u0009), line feed
  16876. // (\u000A), and carriage return (\u000D).
  16877. ResourcePolicy *string `min:"1" type:"string"`
  16878. }
  16879. // String returns the string representation
  16880. func (s SimulatePrincipalPolicyInput) String() string {
  16881. return awsutil.Prettify(s)
  16882. }
  16883. // GoString returns the string representation
  16884. func (s SimulatePrincipalPolicyInput) GoString() string {
  16885. return s.String()
  16886. }
  16887. // Validate inspects the fields of the type to determine if they are valid.
  16888. func (s *SimulatePrincipalPolicyInput) Validate() error {
  16889. invalidParams := request.ErrInvalidParams{Context: "SimulatePrincipalPolicyInput"}
  16890. if s.ActionNames == nil {
  16891. invalidParams.Add(request.NewErrParamRequired("ActionNames"))
  16892. }
  16893. if s.CallerArn != nil && len(*s.CallerArn) < 1 {
  16894. invalidParams.Add(request.NewErrParamMinLen("CallerArn", 1))
  16895. }
  16896. if s.Marker != nil && len(*s.Marker) < 1 {
  16897. invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
  16898. }
  16899. if s.MaxItems != nil && *s.MaxItems < 1 {
  16900. invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1))
  16901. }
  16902. if s.PolicySourceArn == nil {
  16903. invalidParams.Add(request.NewErrParamRequired("PolicySourceArn"))
  16904. }
  16905. if s.PolicySourceArn != nil && len(*s.PolicySourceArn) < 20 {
  16906. invalidParams.Add(request.NewErrParamMinLen("PolicySourceArn", 20))
  16907. }
  16908. if s.ResourceHandlingOption != nil && len(*s.ResourceHandlingOption) < 1 {
  16909. invalidParams.Add(request.NewErrParamMinLen("ResourceHandlingOption", 1))
  16910. }
  16911. if s.ResourceOwner != nil && len(*s.ResourceOwner) < 1 {
  16912. invalidParams.Add(request.NewErrParamMinLen("ResourceOwner", 1))
  16913. }
  16914. if s.ResourcePolicy != nil && len(*s.ResourcePolicy) < 1 {
  16915. invalidParams.Add(request.NewErrParamMinLen("ResourcePolicy", 1))
  16916. }
  16917. if s.ContextEntries != nil {
  16918. for i, v := range s.ContextEntries {
  16919. if v == nil {
  16920. continue
  16921. }
  16922. if err := v.Validate(); err != nil {
  16923. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContextEntries", i), err.(request.ErrInvalidParams))
  16924. }
  16925. }
  16926. }
  16927. if invalidParams.Len() > 0 {
  16928. return invalidParams
  16929. }
  16930. return nil
  16931. }
  16932. // Contains a reference to a Statement element in a policy document that determines
  16933. // the result of the simulation.
  16934. //
  16935. // This data type is used by the MatchedStatements member of the EvaluationResult
  16936. // type.
  16937. type Statement struct {
  16938. _ struct{} `type:"structure"`
  16939. // The row and column of the end of a Statement in an IAM policy.
  16940. EndPosition *Position `type:"structure"`
  16941. // The identifier of the policy that was provided as an input.
  16942. SourcePolicyId *string `type:"string"`
  16943. // The type of the policy.
  16944. SourcePolicyType *string `type:"string" enum:"PolicySourceType"`
  16945. // The row and column of the beginning of the Statement in an IAM policy.
  16946. StartPosition *Position `type:"structure"`
  16947. }
  16948. // String returns the string representation
  16949. func (s Statement) String() string {
  16950. return awsutil.Prettify(s)
  16951. }
  16952. // GoString returns the string representation
  16953. func (s Statement) GoString() string {
  16954. return s.String()
  16955. }
  16956. type UpdateAccessKeyInput struct {
  16957. _ struct{} `type:"structure"`
  16958. // The access key ID of the secret access key you want to update.
  16959. //
  16960. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  16961. // a string of characters that can consist of any upper or lowercased letter
  16962. // or digit.
  16963. //
  16964. // AccessKeyId is a required field
  16965. AccessKeyId *string `min:"16" type:"string" required:"true"`
  16966. // The status you want to assign to the secret access key. Active means the
  16967. // key can be used for API calls to AWS, while Inactive means the key cannot
  16968. // be used.
  16969. //
  16970. // Status is a required field
  16971. Status *string `type:"string" required:"true" enum:"statusType"`
  16972. // The name of the user whose key you want to update.
  16973. //
  16974. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  16975. // a string of characters consisting of upper and lowercase alphanumeric characters
  16976. // with no spaces. You can also include any of the following characters: =,.@-
  16977. UserName *string `min:"1" type:"string"`
  16978. }
  16979. // String returns the string representation
  16980. func (s UpdateAccessKeyInput) String() string {
  16981. return awsutil.Prettify(s)
  16982. }
  16983. // GoString returns the string representation
  16984. func (s UpdateAccessKeyInput) GoString() string {
  16985. return s.String()
  16986. }
  16987. // Validate inspects the fields of the type to determine if they are valid.
  16988. func (s *UpdateAccessKeyInput) Validate() error {
  16989. invalidParams := request.ErrInvalidParams{Context: "UpdateAccessKeyInput"}
  16990. if s.AccessKeyId == nil {
  16991. invalidParams.Add(request.NewErrParamRequired("AccessKeyId"))
  16992. }
  16993. if s.AccessKeyId != nil && len(*s.AccessKeyId) < 16 {
  16994. invalidParams.Add(request.NewErrParamMinLen("AccessKeyId", 16))
  16995. }
  16996. if s.Status == nil {
  16997. invalidParams.Add(request.NewErrParamRequired("Status"))
  16998. }
  16999. if s.UserName != nil && len(*s.UserName) < 1 {
  17000. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  17001. }
  17002. if invalidParams.Len() > 0 {
  17003. return invalidParams
  17004. }
  17005. return nil
  17006. }
  17007. type UpdateAccessKeyOutput struct {
  17008. _ struct{} `type:"structure"`
  17009. }
  17010. // String returns the string representation
  17011. func (s UpdateAccessKeyOutput) String() string {
  17012. return awsutil.Prettify(s)
  17013. }
  17014. // GoString returns the string representation
  17015. func (s UpdateAccessKeyOutput) GoString() string {
  17016. return s.String()
  17017. }
  17018. type UpdateAccountPasswordPolicyInput struct {
  17019. _ struct{} `type:"structure"`
  17020. // Allows all IAM users in your account to use the AWS Management Console to
  17021. // change their own passwords. For more information, see Letting IAM Users Change
  17022. // Their Own Passwords (http://docs.aws.amazon.com/IAM/latest/UserGuide/HowToPwdIAMUser.html)
  17023. // in the IAM User Guide.
  17024. //
  17025. // Default value: false
  17026. AllowUsersToChangePassword *bool `type:"boolean"`
  17027. // Prevents IAM users from setting a new password after their password has expired.
  17028. //
  17029. // Default value: false
  17030. HardExpiry *bool `type:"boolean"`
  17031. // The number of days that an IAM user password is valid. The default value
  17032. // of 0 means IAM user passwords never expire.
  17033. //
  17034. // Default value: 0
  17035. MaxPasswordAge *int64 `min:"1" type:"integer"`
  17036. // The minimum number of characters allowed in an IAM user password.
  17037. //
  17038. // Default value: 6
  17039. MinimumPasswordLength *int64 `min:"6" type:"integer"`
  17040. // Specifies the number of previous passwords that IAM users are prevented from
  17041. // reusing. The default value of 0 means IAM users are not prevented from reusing
  17042. // previous passwords.
  17043. //
  17044. // Default value: 0
  17045. PasswordReusePrevention *int64 `min:"1" type:"integer"`
  17046. // Specifies whether IAM user passwords must contain at least one lowercase
  17047. // character from the ISO basic Latin alphabet (a to z).
  17048. //
  17049. // Default value: false
  17050. RequireLowercaseCharacters *bool `type:"boolean"`
  17051. // Specifies whether IAM user passwords must contain at least one numeric character
  17052. // (0 to 9).
  17053. //
  17054. // Default value: false
  17055. RequireNumbers *bool `type:"boolean"`
  17056. // Specifies whether IAM user passwords must contain at least one of the following
  17057. // non-alphanumeric characters:
  17058. //
  17059. // ! @ # $ % ^ & * ( ) _ + - = [ ] { } | '
  17060. //
  17061. // Default value: false
  17062. RequireSymbols *bool `type:"boolean"`
  17063. // Specifies whether IAM user passwords must contain at least one uppercase
  17064. // character from the ISO basic Latin alphabet (A to Z).
  17065. //
  17066. // Default value: false
  17067. RequireUppercaseCharacters *bool `type:"boolean"`
  17068. }
  17069. // String returns the string representation
  17070. func (s UpdateAccountPasswordPolicyInput) String() string {
  17071. return awsutil.Prettify(s)
  17072. }
  17073. // GoString returns the string representation
  17074. func (s UpdateAccountPasswordPolicyInput) GoString() string {
  17075. return s.String()
  17076. }
  17077. // Validate inspects the fields of the type to determine if they are valid.
  17078. func (s *UpdateAccountPasswordPolicyInput) Validate() error {
  17079. invalidParams := request.ErrInvalidParams{Context: "UpdateAccountPasswordPolicyInput"}
  17080. if s.MaxPasswordAge != nil && *s.MaxPasswordAge < 1 {
  17081. invalidParams.Add(request.NewErrParamMinValue("MaxPasswordAge", 1))
  17082. }
  17083. if s.MinimumPasswordLength != nil && *s.MinimumPasswordLength < 6 {
  17084. invalidParams.Add(request.NewErrParamMinValue("MinimumPasswordLength", 6))
  17085. }
  17086. if s.PasswordReusePrevention != nil && *s.PasswordReusePrevention < 1 {
  17087. invalidParams.Add(request.NewErrParamMinValue("PasswordReusePrevention", 1))
  17088. }
  17089. if invalidParams.Len() > 0 {
  17090. return invalidParams
  17091. }
  17092. return nil
  17093. }
  17094. type UpdateAccountPasswordPolicyOutput struct {
  17095. _ struct{} `type:"structure"`
  17096. }
  17097. // String returns the string representation
  17098. func (s UpdateAccountPasswordPolicyOutput) String() string {
  17099. return awsutil.Prettify(s)
  17100. }
  17101. // GoString returns the string representation
  17102. func (s UpdateAccountPasswordPolicyOutput) GoString() string {
  17103. return s.String()
  17104. }
  17105. type UpdateAssumeRolePolicyInput struct {
  17106. _ struct{} `type:"structure"`
  17107. // The policy that grants an entity permission to assume the role.
  17108. //
  17109. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  17110. // a string of characters consisting of any printable ASCII character ranging
  17111. // from the space character (\u0020) through end of the ASCII character range
  17112. // (\u00FF). It also includes the special characters tab (\u0009), line feed
  17113. // (\u000A), and carriage return (\u000D).
  17114. //
  17115. // PolicyDocument is a required field
  17116. PolicyDocument *string `min:"1" type:"string" required:"true"`
  17117. // The name of the role to update with the new policy.
  17118. //
  17119. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  17120. // a string of characters consisting of upper and lowercase alphanumeric characters
  17121. // with no spaces. You can also include any of the following characters: =,.@-
  17122. //
  17123. // RoleName is a required field
  17124. RoleName *string `min:"1" type:"string" required:"true"`
  17125. }
  17126. // String returns the string representation
  17127. func (s UpdateAssumeRolePolicyInput) String() string {
  17128. return awsutil.Prettify(s)
  17129. }
  17130. // GoString returns the string representation
  17131. func (s UpdateAssumeRolePolicyInput) GoString() string {
  17132. return s.String()
  17133. }
  17134. // Validate inspects the fields of the type to determine if they are valid.
  17135. func (s *UpdateAssumeRolePolicyInput) Validate() error {
  17136. invalidParams := request.ErrInvalidParams{Context: "UpdateAssumeRolePolicyInput"}
  17137. if s.PolicyDocument == nil {
  17138. invalidParams.Add(request.NewErrParamRequired("PolicyDocument"))
  17139. }
  17140. if s.PolicyDocument != nil && len(*s.PolicyDocument) < 1 {
  17141. invalidParams.Add(request.NewErrParamMinLen("PolicyDocument", 1))
  17142. }
  17143. if s.RoleName == nil {
  17144. invalidParams.Add(request.NewErrParamRequired("RoleName"))
  17145. }
  17146. if s.RoleName != nil && len(*s.RoleName) < 1 {
  17147. invalidParams.Add(request.NewErrParamMinLen("RoleName", 1))
  17148. }
  17149. if invalidParams.Len() > 0 {
  17150. return invalidParams
  17151. }
  17152. return nil
  17153. }
  17154. type UpdateAssumeRolePolicyOutput struct {
  17155. _ struct{} `type:"structure"`
  17156. }
  17157. // String returns the string representation
  17158. func (s UpdateAssumeRolePolicyOutput) String() string {
  17159. return awsutil.Prettify(s)
  17160. }
  17161. // GoString returns the string representation
  17162. func (s UpdateAssumeRolePolicyOutput) GoString() string {
  17163. return s.String()
  17164. }
  17165. type UpdateGroupInput struct {
  17166. _ struct{} `type:"structure"`
  17167. // Name of the IAM group to update. If you're changing the name of the group,
  17168. // this is the original name.
  17169. //
  17170. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  17171. // a string of characters consisting of upper and lowercase alphanumeric characters
  17172. // with no spaces. You can also include any of the following characters: =,.@-
  17173. //
  17174. // GroupName is a required field
  17175. GroupName *string `min:"1" type:"string" required:"true"`
  17176. // New name for the IAM group. Only include this if changing the group's name.
  17177. //
  17178. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  17179. // a string of characters consisting of upper and lowercase alphanumeric characters
  17180. // with no spaces. You can also include any of the following characters: =,.@-
  17181. NewGroupName *string `min:"1" type:"string"`
  17182. // New path for the IAM group. Only include this if changing the group's path.
  17183. //
  17184. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  17185. // a string of characters consisting of either a forward slash (/) by itself
  17186. // or a string that must begin and end with forward slashes, containing any
  17187. // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including
  17188. // most punctuation characters, digits, and upper and lowercased letters.
  17189. NewPath *string `min:"1" type:"string"`
  17190. }
  17191. // String returns the string representation
  17192. func (s UpdateGroupInput) String() string {
  17193. return awsutil.Prettify(s)
  17194. }
  17195. // GoString returns the string representation
  17196. func (s UpdateGroupInput) GoString() string {
  17197. return s.String()
  17198. }
  17199. // Validate inspects the fields of the type to determine if they are valid.
  17200. func (s *UpdateGroupInput) Validate() error {
  17201. invalidParams := request.ErrInvalidParams{Context: "UpdateGroupInput"}
  17202. if s.GroupName == nil {
  17203. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  17204. }
  17205. if s.GroupName != nil && len(*s.GroupName) < 1 {
  17206. invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
  17207. }
  17208. if s.NewGroupName != nil && len(*s.NewGroupName) < 1 {
  17209. invalidParams.Add(request.NewErrParamMinLen("NewGroupName", 1))
  17210. }
  17211. if s.NewPath != nil && len(*s.NewPath) < 1 {
  17212. invalidParams.Add(request.NewErrParamMinLen("NewPath", 1))
  17213. }
  17214. if invalidParams.Len() > 0 {
  17215. return invalidParams
  17216. }
  17217. return nil
  17218. }
  17219. type UpdateGroupOutput struct {
  17220. _ struct{} `type:"structure"`
  17221. }
  17222. // String returns the string representation
  17223. func (s UpdateGroupOutput) String() string {
  17224. return awsutil.Prettify(s)
  17225. }
  17226. // GoString returns the string representation
  17227. func (s UpdateGroupOutput) GoString() string {
  17228. return s.String()
  17229. }
  17230. type UpdateLoginProfileInput struct {
  17231. _ struct{} `type:"structure"`
  17232. // The new password for the specified IAM user.
  17233. //
  17234. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  17235. // a string of characters consisting of any printable ASCII character ranging
  17236. // from the space character (\u0020) through end of the ASCII character range
  17237. // (\u00FF). It also includes the special characters tab (\u0009), line feed
  17238. // (\u000A), and carriage return (\u000D). However, the format can be further
  17239. // restricted by the account administrator by setting a password policy on the
  17240. // AWS account. For more information, see UpdateAccountPasswordPolicy.
  17241. Password *string `min:"1" type:"string"`
  17242. // Allows this new password to be used only once by requiring the specified
  17243. // IAM user to set a new password on next sign-in.
  17244. PasswordResetRequired *bool `type:"boolean"`
  17245. // The name of the user whose password you want to update.
  17246. //
  17247. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  17248. // a string of characters consisting of upper and lowercase alphanumeric characters
  17249. // with no spaces. You can also include any of the following characters: =,.@-
  17250. //
  17251. // UserName is a required field
  17252. UserName *string `min:"1" type:"string" required:"true"`
  17253. }
  17254. // String returns the string representation
  17255. func (s UpdateLoginProfileInput) String() string {
  17256. return awsutil.Prettify(s)
  17257. }
  17258. // GoString returns the string representation
  17259. func (s UpdateLoginProfileInput) GoString() string {
  17260. return s.String()
  17261. }
  17262. // Validate inspects the fields of the type to determine if they are valid.
  17263. func (s *UpdateLoginProfileInput) Validate() error {
  17264. invalidParams := request.ErrInvalidParams{Context: "UpdateLoginProfileInput"}
  17265. if s.Password != nil && len(*s.Password) < 1 {
  17266. invalidParams.Add(request.NewErrParamMinLen("Password", 1))
  17267. }
  17268. if s.UserName == nil {
  17269. invalidParams.Add(request.NewErrParamRequired("UserName"))
  17270. }
  17271. if s.UserName != nil && len(*s.UserName) < 1 {
  17272. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  17273. }
  17274. if invalidParams.Len() > 0 {
  17275. return invalidParams
  17276. }
  17277. return nil
  17278. }
  17279. type UpdateLoginProfileOutput struct {
  17280. _ struct{} `type:"structure"`
  17281. }
  17282. // String returns the string representation
  17283. func (s UpdateLoginProfileOutput) String() string {
  17284. return awsutil.Prettify(s)
  17285. }
  17286. // GoString returns the string representation
  17287. func (s UpdateLoginProfileOutput) GoString() string {
  17288. return s.String()
  17289. }
  17290. type UpdateOpenIDConnectProviderThumbprintInput struct {
  17291. _ struct{} `type:"structure"`
  17292. // The Amazon Resource Name (ARN) of the IAM OIDC provider resource object for
  17293. // which you want to update the thumbprint. You can get a list of OIDC provider
  17294. // ARNs by using the ListOpenIDConnectProviders action.
  17295. //
  17296. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  17297. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  17298. // in the AWS General Reference.
  17299. //
  17300. // OpenIDConnectProviderArn is a required field
  17301. OpenIDConnectProviderArn *string `min:"20" type:"string" required:"true"`
  17302. // A list of certificate thumbprints that are associated with the specified
  17303. // IAM OpenID Connect provider. For more information, see CreateOpenIDConnectProvider.
  17304. //
  17305. // ThumbprintList is a required field
  17306. ThumbprintList []*string `type:"list" required:"true"`
  17307. }
  17308. // String returns the string representation
  17309. func (s UpdateOpenIDConnectProviderThumbprintInput) String() string {
  17310. return awsutil.Prettify(s)
  17311. }
  17312. // GoString returns the string representation
  17313. func (s UpdateOpenIDConnectProviderThumbprintInput) GoString() string {
  17314. return s.String()
  17315. }
  17316. // Validate inspects the fields of the type to determine if they are valid.
  17317. func (s *UpdateOpenIDConnectProviderThumbprintInput) Validate() error {
  17318. invalidParams := request.ErrInvalidParams{Context: "UpdateOpenIDConnectProviderThumbprintInput"}
  17319. if s.OpenIDConnectProviderArn == nil {
  17320. invalidParams.Add(request.NewErrParamRequired("OpenIDConnectProviderArn"))
  17321. }
  17322. if s.OpenIDConnectProviderArn != nil && len(*s.OpenIDConnectProviderArn) < 20 {
  17323. invalidParams.Add(request.NewErrParamMinLen("OpenIDConnectProviderArn", 20))
  17324. }
  17325. if s.ThumbprintList == nil {
  17326. invalidParams.Add(request.NewErrParamRequired("ThumbprintList"))
  17327. }
  17328. if invalidParams.Len() > 0 {
  17329. return invalidParams
  17330. }
  17331. return nil
  17332. }
  17333. type UpdateOpenIDConnectProviderThumbprintOutput struct {
  17334. _ struct{} `type:"structure"`
  17335. }
  17336. // String returns the string representation
  17337. func (s UpdateOpenIDConnectProviderThumbprintOutput) String() string {
  17338. return awsutil.Prettify(s)
  17339. }
  17340. // GoString returns the string representation
  17341. func (s UpdateOpenIDConnectProviderThumbprintOutput) GoString() string {
  17342. return s.String()
  17343. }
  17344. type UpdateSAMLProviderInput struct {
  17345. _ struct{} `type:"structure"`
  17346. // An XML document generated by an identity provider (IdP) that supports SAML
  17347. // 2.0. The document includes the issuer's name, expiration information, and
  17348. // keys that can be used to validate the SAML authentication response (assertions)
  17349. // that are received from the IdP. You must generate the metadata document using
  17350. // the identity management software that is used as your organization's IdP.
  17351. //
  17352. // SAMLMetadataDocument is a required field
  17353. SAMLMetadataDocument *string `min:"1000" type:"string" required:"true"`
  17354. // The Amazon Resource Name (ARN) of the SAML provider to update.
  17355. //
  17356. // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS
  17357. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  17358. // in the AWS General Reference.
  17359. //
  17360. // SAMLProviderArn is a required field
  17361. SAMLProviderArn *string `min:"20" type:"string" required:"true"`
  17362. }
  17363. // String returns the string representation
  17364. func (s UpdateSAMLProviderInput) String() string {
  17365. return awsutil.Prettify(s)
  17366. }
  17367. // GoString returns the string representation
  17368. func (s UpdateSAMLProviderInput) GoString() string {
  17369. return s.String()
  17370. }
  17371. // Validate inspects the fields of the type to determine if they are valid.
  17372. func (s *UpdateSAMLProviderInput) Validate() error {
  17373. invalidParams := request.ErrInvalidParams{Context: "UpdateSAMLProviderInput"}
  17374. if s.SAMLMetadataDocument == nil {
  17375. invalidParams.Add(request.NewErrParamRequired("SAMLMetadataDocument"))
  17376. }
  17377. if s.SAMLMetadataDocument != nil && len(*s.SAMLMetadataDocument) < 1000 {
  17378. invalidParams.Add(request.NewErrParamMinLen("SAMLMetadataDocument", 1000))
  17379. }
  17380. if s.SAMLProviderArn == nil {
  17381. invalidParams.Add(request.NewErrParamRequired("SAMLProviderArn"))
  17382. }
  17383. if s.SAMLProviderArn != nil && len(*s.SAMLProviderArn) < 20 {
  17384. invalidParams.Add(request.NewErrParamMinLen("SAMLProviderArn", 20))
  17385. }
  17386. if invalidParams.Len() > 0 {
  17387. return invalidParams
  17388. }
  17389. return nil
  17390. }
  17391. // Contains the response to a successful UpdateSAMLProvider request.
  17392. type UpdateSAMLProviderOutput struct {
  17393. _ struct{} `type:"structure"`
  17394. // The Amazon Resource Name (ARN) of the SAML provider that was updated.
  17395. SAMLProviderArn *string `min:"20" type:"string"`
  17396. }
  17397. // String returns the string representation
  17398. func (s UpdateSAMLProviderOutput) String() string {
  17399. return awsutil.Prettify(s)
  17400. }
  17401. // GoString returns the string representation
  17402. func (s UpdateSAMLProviderOutput) GoString() string {
  17403. return s.String()
  17404. }
  17405. type UpdateSSHPublicKeyInput struct {
  17406. _ struct{} `type:"structure"`
  17407. // The unique identifier for the SSH public key.
  17408. //
  17409. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  17410. // a string of characters that can consist of any upper or lowercased letter
  17411. // or digit.
  17412. //
  17413. // SSHPublicKeyId is a required field
  17414. SSHPublicKeyId *string `min:"20" type:"string" required:"true"`
  17415. // The status to assign to the SSH public key. Active means the key can be used
  17416. // for authentication with an AWS CodeCommit repository. Inactive means the
  17417. // key cannot be used.
  17418. //
  17419. // Status is a required field
  17420. Status *string `type:"string" required:"true" enum:"statusType"`
  17421. // The name of the IAM user associated with the SSH public key.
  17422. //
  17423. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  17424. // a string of characters consisting of upper and lowercase alphanumeric characters
  17425. // with no spaces. You can also include any of the following characters: =,.@-
  17426. //
  17427. // UserName is a required field
  17428. UserName *string `min:"1" type:"string" required:"true"`
  17429. }
  17430. // String returns the string representation
  17431. func (s UpdateSSHPublicKeyInput) String() string {
  17432. return awsutil.Prettify(s)
  17433. }
  17434. // GoString returns the string representation
  17435. func (s UpdateSSHPublicKeyInput) GoString() string {
  17436. return s.String()
  17437. }
  17438. // Validate inspects the fields of the type to determine if they are valid.
  17439. func (s *UpdateSSHPublicKeyInput) Validate() error {
  17440. invalidParams := request.ErrInvalidParams{Context: "UpdateSSHPublicKeyInput"}
  17441. if s.SSHPublicKeyId == nil {
  17442. invalidParams.Add(request.NewErrParamRequired("SSHPublicKeyId"))
  17443. }
  17444. if s.SSHPublicKeyId != nil && len(*s.SSHPublicKeyId) < 20 {
  17445. invalidParams.Add(request.NewErrParamMinLen("SSHPublicKeyId", 20))
  17446. }
  17447. if s.Status == nil {
  17448. invalidParams.Add(request.NewErrParamRequired("Status"))
  17449. }
  17450. if s.UserName == nil {
  17451. invalidParams.Add(request.NewErrParamRequired("UserName"))
  17452. }
  17453. if s.UserName != nil && len(*s.UserName) < 1 {
  17454. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  17455. }
  17456. if invalidParams.Len() > 0 {
  17457. return invalidParams
  17458. }
  17459. return nil
  17460. }
  17461. type UpdateSSHPublicKeyOutput struct {
  17462. _ struct{} `type:"structure"`
  17463. }
  17464. // String returns the string representation
  17465. func (s UpdateSSHPublicKeyOutput) String() string {
  17466. return awsutil.Prettify(s)
  17467. }
  17468. // GoString returns the string representation
  17469. func (s UpdateSSHPublicKeyOutput) GoString() string {
  17470. return s.String()
  17471. }
  17472. type UpdateServerCertificateInput struct {
  17473. _ struct{} `type:"structure"`
  17474. // The new path for the server certificate. Include this only if you are updating
  17475. // the server certificate's path.
  17476. //
  17477. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  17478. // a string of characters consisting of either a forward slash (/) by itself
  17479. // or a string that must begin and end with forward slashes, containing any
  17480. // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including
  17481. // most punctuation characters, digits, and upper and lowercased letters.
  17482. NewPath *string `min:"1" type:"string"`
  17483. // The new name for the server certificate. Include this only if you are updating
  17484. // the server certificate's name. The name of the certificate cannot contain
  17485. // any spaces.
  17486. //
  17487. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  17488. // a string of characters consisting of upper and lowercase alphanumeric characters
  17489. // with no spaces. You can also include any of the following characters: =,.@-
  17490. NewServerCertificateName *string `min:"1" type:"string"`
  17491. // The name of the server certificate that you want to update.
  17492. //
  17493. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  17494. // a string of characters consisting of upper and lowercase alphanumeric characters
  17495. // with no spaces. You can also include any of the following characters: =,.@-
  17496. //
  17497. // ServerCertificateName is a required field
  17498. ServerCertificateName *string `min:"1" type:"string" required:"true"`
  17499. }
  17500. // String returns the string representation
  17501. func (s UpdateServerCertificateInput) String() string {
  17502. return awsutil.Prettify(s)
  17503. }
  17504. // GoString returns the string representation
  17505. func (s UpdateServerCertificateInput) GoString() string {
  17506. return s.String()
  17507. }
  17508. // Validate inspects the fields of the type to determine if they are valid.
  17509. func (s *UpdateServerCertificateInput) Validate() error {
  17510. invalidParams := request.ErrInvalidParams{Context: "UpdateServerCertificateInput"}
  17511. if s.NewPath != nil && len(*s.NewPath) < 1 {
  17512. invalidParams.Add(request.NewErrParamMinLen("NewPath", 1))
  17513. }
  17514. if s.NewServerCertificateName != nil && len(*s.NewServerCertificateName) < 1 {
  17515. invalidParams.Add(request.NewErrParamMinLen("NewServerCertificateName", 1))
  17516. }
  17517. if s.ServerCertificateName == nil {
  17518. invalidParams.Add(request.NewErrParamRequired("ServerCertificateName"))
  17519. }
  17520. if s.ServerCertificateName != nil && len(*s.ServerCertificateName) < 1 {
  17521. invalidParams.Add(request.NewErrParamMinLen("ServerCertificateName", 1))
  17522. }
  17523. if invalidParams.Len() > 0 {
  17524. return invalidParams
  17525. }
  17526. return nil
  17527. }
  17528. type UpdateServerCertificateOutput struct {
  17529. _ struct{} `type:"structure"`
  17530. }
  17531. // String returns the string representation
  17532. func (s UpdateServerCertificateOutput) String() string {
  17533. return awsutil.Prettify(s)
  17534. }
  17535. // GoString returns the string representation
  17536. func (s UpdateServerCertificateOutput) GoString() string {
  17537. return s.String()
  17538. }
  17539. type UpdateSigningCertificateInput struct {
  17540. _ struct{} `type:"structure"`
  17541. // The ID of the signing certificate you want to update.
  17542. //
  17543. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  17544. // a string of characters that can consist of any upper or lowercased letter
  17545. // or digit.
  17546. //
  17547. // CertificateId is a required field
  17548. CertificateId *string `min:"24" type:"string" required:"true"`
  17549. // The status you want to assign to the certificate. Active means the certificate
  17550. // can be used for API calls to AWS, while Inactive means the certificate cannot
  17551. // be used.
  17552. //
  17553. // Status is a required field
  17554. Status *string `type:"string" required:"true" enum:"statusType"`
  17555. // The name of the IAM user the signing certificate belongs to.
  17556. //
  17557. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  17558. // a string of characters consisting of upper and lowercase alphanumeric characters
  17559. // with no spaces. You can also include any of the following characters: =,.@-
  17560. UserName *string `min:"1" type:"string"`
  17561. }
  17562. // String returns the string representation
  17563. func (s UpdateSigningCertificateInput) String() string {
  17564. return awsutil.Prettify(s)
  17565. }
  17566. // GoString returns the string representation
  17567. func (s UpdateSigningCertificateInput) GoString() string {
  17568. return s.String()
  17569. }
  17570. // Validate inspects the fields of the type to determine if they are valid.
  17571. func (s *UpdateSigningCertificateInput) Validate() error {
  17572. invalidParams := request.ErrInvalidParams{Context: "UpdateSigningCertificateInput"}
  17573. if s.CertificateId == nil {
  17574. invalidParams.Add(request.NewErrParamRequired("CertificateId"))
  17575. }
  17576. if s.CertificateId != nil && len(*s.CertificateId) < 24 {
  17577. invalidParams.Add(request.NewErrParamMinLen("CertificateId", 24))
  17578. }
  17579. if s.Status == nil {
  17580. invalidParams.Add(request.NewErrParamRequired("Status"))
  17581. }
  17582. if s.UserName != nil && len(*s.UserName) < 1 {
  17583. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  17584. }
  17585. if invalidParams.Len() > 0 {
  17586. return invalidParams
  17587. }
  17588. return nil
  17589. }
  17590. type UpdateSigningCertificateOutput struct {
  17591. _ struct{} `type:"structure"`
  17592. }
  17593. // String returns the string representation
  17594. func (s UpdateSigningCertificateOutput) String() string {
  17595. return awsutil.Prettify(s)
  17596. }
  17597. // GoString returns the string representation
  17598. func (s UpdateSigningCertificateOutput) GoString() string {
  17599. return s.String()
  17600. }
  17601. type UpdateUserInput struct {
  17602. _ struct{} `type:"structure"`
  17603. // New path for the IAM user. Include this parameter only if you're changing
  17604. // the user's path.
  17605. //
  17606. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  17607. // a string of characters consisting of either a forward slash (/) by itself
  17608. // or a string that must begin and end with forward slashes, containing any
  17609. // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including
  17610. // most punctuation characters, digits, and upper and lowercased letters.
  17611. NewPath *string `min:"1" type:"string"`
  17612. // New name for the user. Include this parameter only if you're changing the
  17613. // user's name.
  17614. //
  17615. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  17616. // a string of characters consisting of upper and lowercase alphanumeric characters
  17617. // with no spaces. You can also include any of the following characters: =,.@-
  17618. NewUserName *string `min:"1" type:"string"`
  17619. // Name of the user to update. If you're changing the name of the user, this
  17620. // is the original user name.
  17621. //
  17622. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  17623. // a string of characters consisting of upper and lowercase alphanumeric characters
  17624. // with no spaces. You can also include any of the following characters: =,.@-
  17625. //
  17626. // UserName is a required field
  17627. UserName *string `min:"1" type:"string" required:"true"`
  17628. }
  17629. // String returns the string representation
  17630. func (s UpdateUserInput) String() string {
  17631. return awsutil.Prettify(s)
  17632. }
  17633. // GoString returns the string representation
  17634. func (s UpdateUserInput) GoString() string {
  17635. return s.String()
  17636. }
  17637. // Validate inspects the fields of the type to determine if they are valid.
  17638. func (s *UpdateUserInput) Validate() error {
  17639. invalidParams := request.ErrInvalidParams{Context: "UpdateUserInput"}
  17640. if s.NewPath != nil && len(*s.NewPath) < 1 {
  17641. invalidParams.Add(request.NewErrParamMinLen("NewPath", 1))
  17642. }
  17643. if s.NewUserName != nil && len(*s.NewUserName) < 1 {
  17644. invalidParams.Add(request.NewErrParamMinLen("NewUserName", 1))
  17645. }
  17646. if s.UserName == nil {
  17647. invalidParams.Add(request.NewErrParamRequired("UserName"))
  17648. }
  17649. if s.UserName != nil && len(*s.UserName) < 1 {
  17650. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  17651. }
  17652. if invalidParams.Len() > 0 {
  17653. return invalidParams
  17654. }
  17655. return nil
  17656. }
  17657. type UpdateUserOutput struct {
  17658. _ struct{} `type:"structure"`
  17659. }
  17660. // String returns the string representation
  17661. func (s UpdateUserOutput) String() string {
  17662. return awsutil.Prettify(s)
  17663. }
  17664. // GoString returns the string representation
  17665. func (s UpdateUserOutput) GoString() string {
  17666. return s.String()
  17667. }
  17668. type UploadSSHPublicKeyInput struct {
  17669. _ struct{} `type:"structure"`
  17670. // The SSH public key. The public key must be encoded in ssh-rsa format or PEM
  17671. // format.
  17672. //
  17673. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  17674. // a string of characters consisting of any printable ASCII character ranging
  17675. // from the space character (\u0020) through end of the ASCII character range
  17676. // (\u00FF). It also includes the special characters tab (\u0009), line feed
  17677. // (\u000A), and carriage return (\u000D).
  17678. //
  17679. // SSHPublicKeyBody is a required field
  17680. SSHPublicKeyBody *string `min:"1" type:"string" required:"true"`
  17681. // The name of the IAM user to associate the SSH public key with.
  17682. //
  17683. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  17684. // a string of characters consisting of upper and lowercase alphanumeric characters
  17685. // with no spaces. You can also include any of the following characters: =,.@-
  17686. //
  17687. // UserName is a required field
  17688. UserName *string `min:"1" type:"string" required:"true"`
  17689. }
  17690. // String returns the string representation
  17691. func (s UploadSSHPublicKeyInput) String() string {
  17692. return awsutil.Prettify(s)
  17693. }
  17694. // GoString returns the string representation
  17695. func (s UploadSSHPublicKeyInput) GoString() string {
  17696. return s.String()
  17697. }
  17698. // Validate inspects the fields of the type to determine if they are valid.
  17699. func (s *UploadSSHPublicKeyInput) Validate() error {
  17700. invalidParams := request.ErrInvalidParams{Context: "UploadSSHPublicKeyInput"}
  17701. if s.SSHPublicKeyBody == nil {
  17702. invalidParams.Add(request.NewErrParamRequired("SSHPublicKeyBody"))
  17703. }
  17704. if s.SSHPublicKeyBody != nil && len(*s.SSHPublicKeyBody) < 1 {
  17705. invalidParams.Add(request.NewErrParamMinLen("SSHPublicKeyBody", 1))
  17706. }
  17707. if s.UserName == nil {
  17708. invalidParams.Add(request.NewErrParamRequired("UserName"))
  17709. }
  17710. if s.UserName != nil && len(*s.UserName) < 1 {
  17711. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  17712. }
  17713. if invalidParams.Len() > 0 {
  17714. return invalidParams
  17715. }
  17716. return nil
  17717. }
  17718. // Contains the response to a successful UploadSSHPublicKey request.
  17719. type UploadSSHPublicKeyOutput struct {
  17720. _ struct{} `type:"structure"`
  17721. // Contains information about the SSH public key.
  17722. SSHPublicKey *SSHPublicKey `type:"structure"`
  17723. }
  17724. // String returns the string representation
  17725. func (s UploadSSHPublicKeyOutput) String() string {
  17726. return awsutil.Prettify(s)
  17727. }
  17728. // GoString returns the string representation
  17729. func (s UploadSSHPublicKeyOutput) GoString() string {
  17730. return s.String()
  17731. }
  17732. type UploadServerCertificateInput struct {
  17733. _ struct{} `type:"structure"`
  17734. // The contents of the public key certificate in PEM-encoded format.
  17735. //
  17736. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  17737. // a string of characters consisting of any printable ASCII character ranging
  17738. // from the space character (\u0020) through end of the ASCII character range
  17739. // (\u00FF). It also includes the special characters tab (\u0009), line feed
  17740. // (\u000A), and carriage return (\u000D).
  17741. //
  17742. // CertificateBody is a required field
  17743. CertificateBody *string `min:"1" type:"string" required:"true"`
  17744. // The contents of the certificate chain. This is typically a concatenation
  17745. // of the PEM-encoded public key certificates of the chain.
  17746. //
  17747. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  17748. // a string of characters consisting of any printable ASCII character ranging
  17749. // from the space character (\u0020) through end of the ASCII character range
  17750. // (\u00FF). It also includes the special characters tab (\u0009), line feed
  17751. // (\u000A), and carriage return (\u000D).
  17752. CertificateChain *string `min:"1" type:"string"`
  17753. // The path for the server certificate. For more information about paths, see
  17754. // IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  17755. // in the IAM User Guide.
  17756. //
  17757. // This parameter is optional. If it is not included, it defaults to a slash
  17758. // (/). The regex pattern (http://wikipedia.org/wiki/regex) for this parameter
  17759. // is a string of characters consisting of either a forward slash (/) by itself
  17760. // or a string that must begin and end with forward slashes, containing any
  17761. // ASCII character from the ! (\u0021) thru the DEL character (\u007F), including
  17762. // most punctuation characters, digits, and upper and lowercased letters.
  17763. //
  17764. // If you are uploading a server certificate specifically for use with Amazon
  17765. // CloudFront distributions, you must specify a path using the --path option.
  17766. // The path must begin with /cloudfront and must include a trailing slash (for
  17767. // example, /cloudfront/test/).
  17768. Path *string `min:"1" type:"string"`
  17769. // The contents of the private key in PEM-encoded format.
  17770. //
  17771. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  17772. // a string of characters consisting of any printable ASCII character ranging
  17773. // from the space character (\u0020) through end of the ASCII character range
  17774. // (\u00FF). It also includes the special characters tab (\u0009), line feed
  17775. // (\u000A), and carriage return (\u000D).
  17776. //
  17777. // PrivateKey is a required field
  17778. PrivateKey *string `min:"1" type:"string" required:"true"`
  17779. // The name for the server certificate. Do not include the path in this value.
  17780. // The name of the certificate cannot contain any spaces.
  17781. //
  17782. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  17783. // a string of characters consisting of upper and lowercase alphanumeric characters
  17784. // with no spaces. You can also include any of the following characters: =,.@-
  17785. //
  17786. // ServerCertificateName is a required field
  17787. ServerCertificateName *string `min:"1" type:"string" required:"true"`
  17788. }
  17789. // String returns the string representation
  17790. func (s UploadServerCertificateInput) String() string {
  17791. return awsutil.Prettify(s)
  17792. }
  17793. // GoString returns the string representation
  17794. func (s UploadServerCertificateInput) GoString() string {
  17795. return s.String()
  17796. }
  17797. // Validate inspects the fields of the type to determine if they are valid.
  17798. func (s *UploadServerCertificateInput) Validate() error {
  17799. invalidParams := request.ErrInvalidParams{Context: "UploadServerCertificateInput"}
  17800. if s.CertificateBody == nil {
  17801. invalidParams.Add(request.NewErrParamRequired("CertificateBody"))
  17802. }
  17803. if s.CertificateBody != nil && len(*s.CertificateBody) < 1 {
  17804. invalidParams.Add(request.NewErrParamMinLen("CertificateBody", 1))
  17805. }
  17806. if s.CertificateChain != nil && len(*s.CertificateChain) < 1 {
  17807. invalidParams.Add(request.NewErrParamMinLen("CertificateChain", 1))
  17808. }
  17809. if s.Path != nil && len(*s.Path) < 1 {
  17810. invalidParams.Add(request.NewErrParamMinLen("Path", 1))
  17811. }
  17812. if s.PrivateKey == nil {
  17813. invalidParams.Add(request.NewErrParamRequired("PrivateKey"))
  17814. }
  17815. if s.PrivateKey != nil && len(*s.PrivateKey) < 1 {
  17816. invalidParams.Add(request.NewErrParamMinLen("PrivateKey", 1))
  17817. }
  17818. if s.ServerCertificateName == nil {
  17819. invalidParams.Add(request.NewErrParamRequired("ServerCertificateName"))
  17820. }
  17821. if s.ServerCertificateName != nil && len(*s.ServerCertificateName) < 1 {
  17822. invalidParams.Add(request.NewErrParamMinLen("ServerCertificateName", 1))
  17823. }
  17824. if invalidParams.Len() > 0 {
  17825. return invalidParams
  17826. }
  17827. return nil
  17828. }
  17829. // Contains the response to a successful UploadServerCertificate request.
  17830. type UploadServerCertificateOutput struct {
  17831. _ struct{} `type:"structure"`
  17832. // The meta information of the uploaded server certificate without its certificate
  17833. // body, certificate chain, and private key.
  17834. ServerCertificateMetadata *ServerCertificateMetadata `type:"structure"`
  17835. }
  17836. // String returns the string representation
  17837. func (s UploadServerCertificateOutput) String() string {
  17838. return awsutil.Prettify(s)
  17839. }
  17840. // GoString returns the string representation
  17841. func (s UploadServerCertificateOutput) GoString() string {
  17842. return s.String()
  17843. }
  17844. type UploadSigningCertificateInput struct {
  17845. _ struct{} `type:"structure"`
  17846. // The contents of the signing certificate.
  17847. //
  17848. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  17849. // a string of characters consisting of any printable ASCII character ranging
  17850. // from the space character (\u0020) through end of the ASCII character range
  17851. // (\u00FF). It also includes the special characters tab (\u0009), line feed
  17852. // (\u000A), and carriage return (\u000D).
  17853. //
  17854. // CertificateBody is a required field
  17855. CertificateBody *string `min:"1" type:"string" required:"true"`
  17856. // The name of the user the signing certificate is for.
  17857. //
  17858. // The regex pattern (http://wikipedia.org/wiki/regex) for this parameter is
  17859. // a string of characters consisting of upper and lowercase alphanumeric characters
  17860. // with no spaces. You can also include any of the following characters: =,.@-
  17861. UserName *string `min:"1" type:"string"`
  17862. }
  17863. // String returns the string representation
  17864. func (s UploadSigningCertificateInput) String() string {
  17865. return awsutil.Prettify(s)
  17866. }
  17867. // GoString returns the string representation
  17868. func (s UploadSigningCertificateInput) GoString() string {
  17869. return s.String()
  17870. }
  17871. // Validate inspects the fields of the type to determine if they are valid.
  17872. func (s *UploadSigningCertificateInput) Validate() error {
  17873. invalidParams := request.ErrInvalidParams{Context: "UploadSigningCertificateInput"}
  17874. if s.CertificateBody == nil {
  17875. invalidParams.Add(request.NewErrParamRequired("CertificateBody"))
  17876. }
  17877. if s.CertificateBody != nil && len(*s.CertificateBody) < 1 {
  17878. invalidParams.Add(request.NewErrParamMinLen("CertificateBody", 1))
  17879. }
  17880. if s.UserName != nil && len(*s.UserName) < 1 {
  17881. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  17882. }
  17883. if invalidParams.Len() > 0 {
  17884. return invalidParams
  17885. }
  17886. return nil
  17887. }
  17888. // Contains the response to a successful UploadSigningCertificate request.
  17889. type UploadSigningCertificateOutput struct {
  17890. _ struct{} `type:"structure"`
  17891. // Information about the certificate.
  17892. //
  17893. // Certificate is a required field
  17894. Certificate *SigningCertificate `type:"structure" required:"true"`
  17895. }
  17896. // String returns the string representation
  17897. func (s UploadSigningCertificateOutput) String() string {
  17898. return awsutil.Prettify(s)
  17899. }
  17900. // GoString returns the string representation
  17901. func (s UploadSigningCertificateOutput) GoString() string {
  17902. return s.String()
  17903. }
  17904. // Contains information about an IAM user entity.
  17905. //
  17906. // This data type is used as a response element in the following actions:
  17907. //
  17908. // * CreateUser
  17909. //
  17910. // * GetUser
  17911. //
  17912. // * ListUsers
  17913. type User struct {
  17914. _ struct{} `type:"structure"`
  17915. // The Amazon Resource Name (ARN) that identifies the user. For more information
  17916. // about ARNs and how to use ARNs in policies, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  17917. // in the Using IAM guide.
  17918. //
  17919. // Arn is a required field
  17920. Arn *string `min:"20" type:"string" required:"true"`
  17921. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  17922. // when the user was created.
  17923. //
  17924. // CreateDate is a required field
  17925. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  17926. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  17927. // when the user's password was last used to sign in to an AWS website. For
  17928. // a list of AWS websites that capture a user's last sign-in time, see the Credential
  17929. // Reports (http://docs.aws.amazon.com/IAM/latest/UserGuide/credential-reports.html)
  17930. // topic in the Using IAM guide. If a password is used more than once in a five-minute
  17931. // span, only the first use is returned in this field. This field is null (not
  17932. // present) when:
  17933. //
  17934. // * The user does not have a password
  17935. //
  17936. // * The password exists but has never been used (at least not since IAM
  17937. // started tracking this information on October 20th, 2014
  17938. //
  17939. // * there is no sign-in data associated with the user
  17940. //
  17941. // This value is returned only in the GetUser and ListUsers actions.
  17942. PasswordLastUsed *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  17943. // The path to the user. For more information about paths, see IAM Identifiers
  17944. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  17945. // in the Using IAM guide.
  17946. //
  17947. // Path is a required field
  17948. Path *string `min:"1" type:"string" required:"true"`
  17949. // The stable and unique string identifying the user. For more information about
  17950. // IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  17951. // in the Using IAM guide.
  17952. //
  17953. // UserId is a required field
  17954. UserId *string `min:"16" type:"string" required:"true"`
  17955. // The friendly name identifying the user.
  17956. //
  17957. // UserName is a required field
  17958. UserName *string `min:"1" type:"string" required:"true"`
  17959. }
  17960. // String returns the string representation
  17961. func (s User) String() string {
  17962. return awsutil.Prettify(s)
  17963. }
  17964. // GoString returns the string representation
  17965. func (s User) GoString() string {
  17966. return s.String()
  17967. }
  17968. // Contains information about an IAM user, including all the user's policies
  17969. // and all the IAM groups the user is in.
  17970. //
  17971. // This data type is used as a response element in the GetAccountAuthorizationDetails
  17972. // action.
  17973. type UserDetail struct {
  17974. _ struct{} `type:"structure"`
  17975. // The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.
  17976. //
  17977. // For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS
  17978. // Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)
  17979. // in the AWS General Reference.
  17980. Arn *string `min:"20" type:"string"`
  17981. // A list of the managed policies attached to the user.
  17982. AttachedManagedPolicies []*AttachedPolicy `type:"list"`
  17983. // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601),
  17984. // when the user was created.
  17985. CreateDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  17986. // A list of IAM groups that the user is in.
  17987. GroupList []*string `type:"list"`
  17988. // The path to the user. For more information about paths, see IAM Identifiers
  17989. // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  17990. // in the Using IAM guide.
  17991. Path *string `min:"1" type:"string"`
  17992. // The stable and unique string identifying the user. For more information about
  17993. // IDs, see IAM Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html)
  17994. // in the Using IAM guide.
  17995. UserId *string `min:"16" type:"string"`
  17996. // The friendly name identifying the user.
  17997. UserName *string `min:"1" type:"string"`
  17998. // A list of the inline policies embedded in the user.
  17999. UserPolicyList []*PolicyDetail `type:"list"`
  18000. }
  18001. // String returns the string representation
  18002. func (s UserDetail) String() string {
  18003. return awsutil.Prettify(s)
  18004. }
  18005. // GoString returns the string representation
  18006. func (s UserDetail) GoString() string {
  18007. return s.String()
  18008. }
  18009. // Contains information about a virtual MFA device.
  18010. type VirtualMFADevice struct {
  18011. _ struct{} `type:"structure"`
  18012. // The Base32 seed defined as specified in RFC3548 (http://www.ietf.org/rfc/rfc3548.txt).
  18013. // The Base32StringSeed is Base64-encoded.
  18014. //
  18015. // Base32StringSeed is automatically base64 encoded/decoded by the SDK.
  18016. Base32StringSeed []byte `type:"blob"`
  18017. // The date and time on which the virtual MFA device was enabled.
  18018. EnableDate *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  18019. // A QR code PNG image that encodes otpauth://totp/$virtualMFADeviceName@$AccountName?secret=$Base32String
  18020. // where $virtualMFADeviceName is one of the create call arguments, AccountName
  18021. // is the user name if set (otherwise, the account ID otherwise), and Base32String
  18022. // is the seed in Base32 format. The Base32String value is Base64-encoded.
  18023. //
  18024. // QRCodePNG is automatically base64 encoded/decoded by the SDK.
  18025. QRCodePNG []byte `type:"blob"`
  18026. // The serial number associated with VirtualMFADevice.
  18027. //
  18028. // SerialNumber is a required field
  18029. SerialNumber *string `min:"9" type:"string" required:"true"`
  18030. // Contains information about an IAM user entity.
  18031. //
  18032. // This data type is used as a response element in the following actions:
  18033. //
  18034. // * CreateUser
  18035. //
  18036. // * GetUser
  18037. //
  18038. // * ListUsers
  18039. User *User `type:"structure"`
  18040. }
  18041. // String returns the string representation
  18042. func (s VirtualMFADevice) String() string {
  18043. return awsutil.Prettify(s)
  18044. }
  18045. // GoString returns the string representation
  18046. func (s VirtualMFADevice) GoString() string {
  18047. return s.String()
  18048. }
  18049. const (
  18050. // ContextKeyTypeEnumString is a ContextKeyTypeEnum enum value
  18051. ContextKeyTypeEnumString = "string"
  18052. // ContextKeyTypeEnumStringList is a ContextKeyTypeEnum enum value
  18053. ContextKeyTypeEnumStringList = "stringList"
  18054. // ContextKeyTypeEnumNumeric is a ContextKeyTypeEnum enum value
  18055. ContextKeyTypeEnumNumeric = "numeric"
  18056. // ContextKeyTypeEnumNumericList is a ContextKeyTypeEnum enum value
  18057. ContextKeyTypeEnumNumericList = "numericList"
  18058. // ContextKeyTypeEnumBoolean is a ContextKeyTypeEnum enum value
  18059. ContextKeyTypeEnumBoolean = "boolean"
  18060. // ContextKeyTypeEnumBooleanList is a ContextKeyTypeEnum enum value
  18061. ContextKeyTypeEnumBooleanList = "booleanList"
  18062. // ContextKeyTypeEnumIp is a ContextKeyTypeEnum enum value
  18063. ContextKeyTypeEnumIp = "ip"
  18064. // ContextKeyTypeEnumIpList is a ContextKeyTypeEnum enum value
  18065. ContextKeyTypeEnumIpList = "ipList"
  18066. // ContextKeyTypeEnumBinary is a ContextKeyTypeEnum enum value
  18067. ContextKeyTypeEnumBinary = "binary"
  18068. // ContextKeyTypeEnumBinaryList is a ContextKeyTypeEnum enum value
  18069. ContextKeyTypeEnumBinaryList = "binaryList"
  18070. // ContextKeyTypeEnumDate is a ContextKeyTypeEnum enum value
  18071. ContextKeyTypeEnumDate = "date"
  18072. // ContextKeyTypeEnumDateList is a ContextKeyTypeEnum enum value
  18073. ContextKeyTypeEnumDateList = "dateList"
  18074. )
  18075. const (
  18076. // EntityTypeUser is a EntityType enum value
  18077. EntityTypeUser = "User"
  18078. // EntityTypeRole is a EntityType enum value
  18079. EntityTypeRole = "Role"
  18080. // EntityTypeGroup is a EntityType enum value
  18081. EntityTypeGroup = "Group"
  18082. // EntityTypeLocalManagedPolicy is a EntityType enum value
  18083. EntityTypeLocalManagedPolicy = "LocalManagedPolicy"
  18084. // EntityTypeAwsmanagedPolicy is a EntityType enum value
  18085. EntityTypeAwsmanagedPolicy = "AWSManagedPolicy"
  18086. )
  18087. const (
  18088. // PolicyEvaluationDecisionTypeAllowed is a PolicyEvaluationDecisionType enum value
  18089. PolicyEvaluationDecisionTypeAllowed = "allowed"
  18090. // PolicyEvaluationDecisionTypeExplicitDeny is a PolicyEvaluationDecisionType enum value
  18091. PolicyEvaluationDecisionTypeExplicitDeny = "explicitDeny"
  18092. // PolicyEvaluationDecisionTypeImplicitDeny is a PolicyEvaluationDecisionType enum value
  18093. PolicyEvaluationDecisionTypeImplicitDeny = "implicitDeny"
  18094. )
  18095. const (
  18096. // PolicySourceTypeUser is a PolicySourceType enum value
  18097. PolicySourceTypeUser = "user"
  18098. // PolicySourceTypeGroup is a PolicySourceType enum value
  18099. PolicySourceTypeGroup = "group"
  18100. // PolicySourceTypeRole is a PolicySourceType enum value
  18101. PolicySourceTypeRole = "role"
  18102. // PolicySourceTypeAwsManaged is a PolicySourceType enum value
  18103. PolicySourceTypeAwsManaged = "aws-managed"
  18104. // PolicySourceTypeUserManaged is a PolicySourceType enum value
  18105. PolicySourceTypeUserManaged = "user-managed"
  18106. // PolicySourceTypeResource is a PolicySourceType enum value
  18107. PolicySourceTypeResource = "resource"
  18108. // PolicySourceTypeNone is a PolicySourceType enum value
  18109. PolicySourceTypeNone = "none"
  18110. )
  18111. const (
  18112. // ReportFormatTypeTextCsv is a ReportFormatType enum value
  18113. ReportFormatTypeTextCsv = "text/csv"
  18114. )
  18115. const (
  18116. // ReportStateTypeStarted is a ReportStateType enum value
  18117. ReportStateTypeStarted = "STARTED"
  18118. // ReportStateTypeInprogress is a ReportStateType enum value
  18119. ReportStateTypeInprogress = "INPROGRESS"
  18120. // ReportStateTypeComplete is a ReportStateType enum value
  18121. ReportStateTypeComplete = "COMPLETE"
  18122. )
  18123. const (
  18124. // AssignmentStatusTypeAssigned is a assignmentStatusType enum value
  18125. AssignmentStatusTypeAssigned = "Assigned"
  18126. // AssignmentStatusTypeUnassigned is a assignmentStatusType enum value
  18127. AssignmentStatusTypeUnassigned = "Unassigned"
  18128. // AssignmentStatusTypeAny is a assignmentStatusType enum value
  18129. AssignmentStatusTypeAny = "Any"
  18130. )
  18131. const (
  18132. // EncodingTypeSsh is a encodingType enum value
  18133. EncodingTypeSsh = "SSH"
  18134. // EncodingTypePem is a encodingType enum value
  18135. EncodingTypePem = "PEM"
  18136. )
  18137. const (
  18138. // PolicyScopeTypeAll is a policyScopeType enum value
  18139. PolicyScopeTypeAll = "All"
  18140. // PolicyScopeTypeAws is a policyScopeType enum value
  18141. PolicyScopeTypeAws = "AWS"
  18142. // PolicyScopeTypeLocal is a policyScopeType enum value
  18143. PolicyScopeTypeLocal = "Local"
  18144. )
  18145. const (
  18146. // StatusTypeActive is a statusType enum value
  18147. StatusTypeActive = "Active"
  18148. // StatusTypeInactive is a statusType enum value
  18149. StatusTypeInactive = "Inactive"
  18150. )
  18151. const (
  18152. // SummaryKeyTypeUsers is a summaryKeyType enum value
  18153. SummaryKeyTypeUsers = "Users"
  18154. // SummaryKeyTypeUsersQuota is a summaryKeyType enum value
  18155. SummaryKeyTypeUsersQuota = "UsersQuota"
  18156. // SummaryKeyTypeGroups is a summaryKeyType enum value
  18157. SummaryKeyTypeGroups = "Groups"
  18158. // SummaryKeyTypeGroupsQuota is a summaryKeyType enum value
  18159. SummaryKeyTypeGroupsQuota = "GroupsQuota"
  18160. // SummaryKeyTypeServerCertificates is a summaryKeyType enum value
  18161. SummaryKeyTypeServerCertificates = "ServerCertificates"
  18162. // SummaryKeyTypeServerCertificatesQuota is a summaryKeyType enum value
  18163. SummaryKeyTypeServerCertificatesQuota = "ServerCertificatesQuota"
  18164. // SummaryKeyTypeUserPolicySizeQuota is a summaryKeyType enum value
  18165. SummaryKeyTypeUserPolicySizeQuota = "UserPolicySizeQuota"
  18166. // SummaryKeyTypeGroupPolicySizeQuota is a summaryKeyType enum value
  18167. SummaryKeyTypeGroupPolicySizeQuota = "GroupPolicySizeQuota"
  18168. // SummaryKeyTypeGroupsPerUserQuota is a summaryKeyType enum value
  18169. SummaryKeyTypeGroupsPerUserQuota = "GroupsPerUserQuota"
  18170. // SummaryKeyTypeSigningCertificatesPerUserQuota is a summaryKeyType enum value
  18171. SummaryKeyTypeSigningCertificatesPerUserQuota = "SigningCertificatesPerUserQuota"
  18172. // SummaryKeyTypeAccessKeysPerUserQuota is a summaryKeyType enum value
  18173. SummaryKeyTypeAccessKeysPerUserQuota = "AccessKeysPerUserQuota"
  18174. // SummaryKeyTypeMfadevices is a summaryKeyType enum value
  18175. SummaryKeyTypeMfadevices = "MFADevices"
  18176. // SummaryKeyTypeMfadevicesInUse is a summaryKeyType enum value
  18177. SummaryKeyTypeMfadevicesInUse = "MFADevicesInUse"
  18178. // SummaryKeyTypeAccountMfaenabled is a summaryKeyType enum value
  18179. SummaryKeyTypeAccountMfaenabled = "AccountMFAEnabled"
  18180. // SummaryKeyTypeAccountAccessKeysPresent is a summaryKeyType enum value
  18181. SummaryKeyTypeAccountAccessKeysPresent = "AccountAccessKeysPresent"
  18182. // SummaryKeyTypeAccountSigningCertificatesPresent is a summaryKeyType enum value
  18183. SummaryKeyTypeAccountSigningCertificatesPresent = "AccountSigningCertificatesPresent"
  18184. // SummaryKeyTypeAttachedPoliciesPerGroupQuota is a summaryKeyType enum value
  18185. SummaryKeyTypeAttachedPoliciesPerGroupQuota = "AttachedPoliciesPerGroupQuota"
  18186. // SummaryKeyTypeAttachedPoliciesPerRoleQuota is a summaryKeyType enum value
  18187. SummaryKeyTypeAttachedPoliciesPerRoleQuota = "AttachedPoliciesPerRoleQuota"
  18188. // SummaryKeyTypeAttachedPoliciesPerUserQuota is a summaryKeyType enum value
  18189. SummaryKeyTypeAttachedPoliciesPerUserQuota = "AttachedPoliciesPerUserQuota"
  18190. // SummaryKeyTypePolicies is a summaryKeyType enum value
  18191. SummaryKeyTypePolicies = "Policies"
  18192. // SummaryKeyTypePoliciesQuota is a summaryKeyType enum value
  18193. SummaryKeyTypePoliciesQuota = "PoliciesQuota"
  18194. // SummaryKeyTypePolicySizeQuota is a summaryKeyType enum value
  18195. SummaryKeyTypePolicySizeQuota = "PolicySizeQuota"
  18196. // SummaryKeyTypePolicyVersionsInUse is a summaryKeyType enum value
  18197. SummaryKeyTypePolicyVersionsInUse = "PolicyVersionsInUse"
  18198. // SummaryKeyTypePolicyVersionsInUseQuota is a summaryKeyType enum value
  18199. SummaryKeyTypePolicyVersionsInUseQuota = "PolicyVersionsInUseQuota"
  18200. // SummaryKeyTypeVersionsPerPolicyQuota is a summaryKeyType enum value
  18201. SummaryKeyTypeVersionsPerPolicyQuota = "VersionsPerPolicyQuota"
  18202. )