123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860 |
- // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
- // Package configservice provides a client for AWS Config.
- package configservice
- import (
- "fmt"
- "time"
- "github.com/aws/aws-sdk-go/aws/awsutil"
- "github.com/aws/aws-sdk-go/aws/request"
- "github.com/aws/aws-sdk-go/private/protocol"
- "github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
- )
- const opDeleteConfigRule = "DeleteConfigRule"
- // DeleteConfigRuleRequest generates a "aws/request.Request" representing the
- // client's request for the DeleteConfigRule operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DeleteConfigRule for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DeleteConfigRule method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the DeleteConfigRuleRequest method.
- // req, resp := client.DeleteConfigRuleRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *ConfigService) DeleteConfigRuleRequest(input *DeleteConfigRuleInput) (req *request.Request, output *DeleteConfigRuleOutput) {
- op := &request.Operation{
- Name: opDeleteConfigRule,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeleteConfigRuleInput{}
- }
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
- req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
- output = &DeleteConfigRuleOutput{}
- req.Data = output
- return
- }
- // DeleteConfigRule API operation for AWS Config.
- //
- // Deletes the specified AWS Config rule and all of its evaluation results.
- //
- // AWS Config sets the state of a rule to DELETING until the deletion is complete.
- // You cannot update a rule while it is in this state. If you make a PutConfigRule
- // or DeleteConfigRule request for the rule, you will receive a ResourceInUseException.
- //
- // You can check the state of a rule by using the DescribeConfigRules request.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for AWS Config's
- // API operation DeleteConfigRule for usage and error information.
- //
- // Returned Error Codes:
- // * NoSuchConfigRuleException
- // One or more AWS Config rules in the request are invalid. Verify that the
- // rule names are correct and try again.
- //
- // * ResourceInUseException
- // The rule is currently being deleted or the rule is deleting your evaluation
- // results. Try your request again later.
- //
- func (c *ConfigService) DeleteConfigRule(input *DeleteConfigRuleInput) (*DeleteConfigRuleOutput, error) {
- req, out := c.DeleteConfigRuleRequest(input)
- err := req.Send()
- return out, err
- }
- const opDeleteConfigurationRecorder = "DeleteConfigurationRecorder"
- // DeleteConfigurationRecorderRequest generates a "aws/request.Request" representing the
- // client's request for the DeleteConfigurationRecorder operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DeleteConfigurationRecorder for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DeleteConfigurationRecorder method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the DeleteConfigurationRecorderRequest method.
- // req, resp := client.DeleteConfigurationRecorderRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *ConfigService) DeleteConfigurationRecorderRequest(input *DeleteConfigurationRecorderInput) (req *request.Request, output *DeleteConfigurationRecorderOutput) {
- op := &request.Operation{
- Name: opDeleteConfigurationRecorder,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeleteConfigurationRecorderInput{}
- }
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
- req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
- output = &DeleteConfigurationRecorderOutput{}
- req.Data = output
- return
- }
- // DeleteConfigurationRecorder API operation for AWS Config.
- //
- // Deletes the configuration recorder.
- //
- // After the configuration recorder is deleted, AWS Config will not record resource
- // configuration changes until you create a new configuration recorder.
- //
- // This action does not delete the configuration information that was previously
- // recorded. You will be able to access the previously recorded information
- // by using the GetResourceConfigHistory action, but you will not be able to
- // access this information in the AWS Config console until you create a new
- // configuration recorder.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for AWS Config's
- // API operation DeleteConfigurationRecorder for usage and error information.
- //
- // Returned Error Codes:
- // * NoSuchConfigurationRecorderException
- // You have specified a configuration recorder that does not exist.
- //
- func (c *ConfigService) DeleteConfigurationRecorder(input *DeleteConfigurationRecorderInput) (*DeleteConfigurationRecorderOutput, error) {
- req, out := c.DeleteConfigurationRecorderRequest(input)
- err := req.Send()
- return out, err
- }
- const opDeleteDeliveryChannel = "DeleteDeliveryChannel"
- // DeleteDeliveryChannelRequest generates a "aws/request.Request" representing the
- // client's request for the DeleteDeliveryChannel operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DeleteDeliveryChannel for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DeleteDeliveryChannel method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the DeleteDeliveryChannelRequest method.
- // req, resp := client.DeleteDeliveryChannelRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *ConfigService) DeleteDeliveryChannelRequest(input *DeleteDeliveryChannelInput) (req *request.Request, output *DeleteDeliveryChannelOutput) {
- op := &request.Operation{
- Name: opDeleteDeliveryChannel,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeleteDeliveryChannelInput{}
- }
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
- req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
- output = &DeleteDeliveryChannelOutput{}
- req.Data = output
- return
- }
- // DeleteDeliveryChannel API operation for AWS Config.
- //
- // Deletes the delivery channel.
- //
- // Before you can delete the delivery channel, you must stop the configuration
- // recorder by using the StopConfigurationRecorder action.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for AWS Config's
- // API operation DeleteDeliveryChannel for usage and error information.
- //
- // Returned Error Codes:
- // * NoSuchDeliveryChannelException
- // You have specified a delivery channel that does not exist.
- //
- // * LastDeliveryChannelDeleteFailedException
- // You cannot delete the delivery channel you specified because the configuration
- // recorder is running.
- //
- func (c *ConfigService) DeleteDeliveryChannel(input *DeleteDeliveryChannelInput) (*DeleteDeliveryChannelOutput, error) {
- req, out := c.DeleteDeliveryChannelRequest(input)
- err := req.Send()
- return out, err
- }
- const opDeleteEvaluationResults = "DeleteEvaluationResults"
- // DeleteEvaluationResultsRequest generates a "aws/request.Request" representing the
- // client's request for the DeleteEvaluationResults operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DeleteEvaluationResults for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DeleteEvaluationResults method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the DeleteEvaluationResultsRequest method.
- // req, resp := client.DeleteEvaluationResultsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *ConfigService) DeleteEvaluationResultsRequest(input *DeleteEvaluationResultsInput) (req *request.Request, output *DeleteEvaluationResultsOutput) {
- op := &request.Operation{
- Name: opDeleteEvaluationResults,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeleteEvaluationResultsInput{}
- }
- req = c.newRequest(op, input, output)
- output = &DeleteEvaluationResultsOutput{}
- req.Data = output
- return
- }
- // DeleteEvaluationResults API operation for AWS Config.
- //
- // Deletes the evaluation results for the specified Config rule. You can specify
- // one Config rule per request. After you delete the evaluation results, you
- // can call the StartConfigRulesEvaluation API to start evaluating your AWS
- // resources against the rule.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for AWS Config's
- // API operation DeleteEvaluationResults for usage and error information.
- //
- // Returned Error Codes:
- // * NoSuchConfigRuleException
- // One or more AWS Config rules in the request are invalid. Verify that the
- // rule names are correct and try again.
- //
- // * ResourceInUseException
- // The rule is currently being deleted or the rule is deleting your evaluation
- // results. Try your request again later.
- //
- func (c *ConfigService) DeleteEvaluationResults(input *DeleteEvaluationResultsInput) (*DeleteEvaluationResultsOutput, error) {
- req, out := c.DeleteEvaluationResultsRequest(input)
- err := req.Send()
- return out, err
- }
- const opDeliverConfigSnapshot = "DeliverConfigSnapshot"
- // DeliverConfigSnapshotRequest generates a "aws/request.Request" representing the
- // client's request for the DeliverConfigSnapshot operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DeliverConfigSnapshot for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DeliverConfigSnapshot method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the DeliverConfigSnapshotRequest method.
- // req, resp := client.DeliverConfigSnapshotRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *ConfigService) DeliverConfigSnapshotRequest(input *DeliverConfigSnapshotInput) (req *request.Request, output *DeliverConfigSnapshotOutput) {
- op := &request.Operation{
- Name: opDeliverConfigSnapshot,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeliverConfigSnapshotInput{}
- }
- req = c.newRequest(op, input, output)
- output = &DeliverConfigSnapshotOutput{}
- req.Data = output
- return
- }
- // DeliverConfigSnapshot API operation for AWS Config.
- //
- // Schedules delivery of a configuration snapshot to the Amazon S3 bucket in
- // the specified delivery channel. After the delivery has started, AWS Config
- // sends following notifications using an Amazon SNS topic that you have specified.
- //
- // * Notification of starting the delivery.
- //
- // * Notification of delivery completed, if the delivery was successfully
- // completed.
- //
- // * Notification of delivery failure, if the delivery failed to complete.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for AWS Config's
- // API operation DeliverConfigSnapshot for usage and error information.
- //
- // Returned Error Codes:
- // * NoSuchDeliveryChannelException
- // You have specified a delivery channel that does not exist.
- //
- // * NoAvailableConfigurationRecorderException
- // There are no configuration recorders available to provide the role needed
- // to describe your resources. Create a configuration recorder.
- //
- // * NoRunningConfigurationRecorderException
- // There is no configuration recorder running.
- //
- func (c *ConfigService) DeliverConfigSnapshot(input *DeliverConfigSnapshotInput) (*DeliverConfigSnapshotOutput, error) {
- req, out := c.DeliverConfigSnapshotRequest(input)
- err := req.Send()
- return out, err
- }
- const opDescribeComplianceByConfigRule = "DescribeComplianceByConfigRule"
- // DescribeComplianceByConfigRuleRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeComplianceByConfigRule operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DescribeComplianceByConfigRule for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DescribeComplianceByConfigRule method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the DescribeComplianceByConfigRuleRequest method.
- // req, resp := client.DescribeComplianceByConfigRuleRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *ConfigService) DescribeComplianceByConfigRuleRequest(input *DescribeComplianceByConfigRuleInput) (req *request.Request, output *DescribeComplianceByConfigRuleOutput) {
- op := &request.Operation{
- Name: opDescribeComplianceByConfigRule,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeComplianceByConfigRuleInput{}
- }
- req = c.newRequest(op, input, output)
- output = &DescribeComplianceByConfigRuleOutput{}
- req.Data = output
- return
- }
- // DescribeComplianceByConfigRule API operation for AWS Config.
- //
- // Indicates whether the specified AWS Config rules are compliant. If a rule
- // is noncompliant, this action returns the number of AWS resources that do
- // not comply with the rule.
- //
- // A rule is compliant if all of the evaluated resources comply with it, and
- // it is noncompliant if any of these resources do not comply.
- //
- // If AWS Config has no current evaluation results for the rule, it returns
- // INSUFFICIENT_DATA. This result might indicate one of the following conditions:
- //
- // * AWS Config has never invoked an evaluation for the rule. To check whether
- // it has, use the DescribeConfigRuleEvaluationStatus action to get the LastSuccessfulInvocationTime
- // and LastFailedInvocationTime.
- //
- // * The rule's AWS Lambda function is failing to send evaluation results
- // to AWS Config. Verify that the role that you assigned to your configuration
- // recorder includes the config:PutEvaluations permission. If the rule is
- // a custom rule, verify that the AWS Lambda execution role includes the
- // config:PutEvaluations permission.
- //
- // * The rule's AWS Lambda function has returned NOT_APPLICABLE for all evaluation
- // results. This can occur if the resources were deleted or removed from
- // the rule's scope.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for AWS Config's
- // API operation DescribeComplianceByConfigRule for usage and error information.
- //
- // Returned Error Codes:
- // * InvalidParameterValueException
- // One or more of the specified parameters are invalid. Verify that your parameters
- // are valid and try again.
- //
- // * NoSuchConfigRuleException
- // One or more AWS Config rules in the request are invalid. Verify that the
- // rule names are correct and try again.
- //
- func (c *ConfigService) DescribeComplianceByConfigRule(input *DescribeComplianceByConfigRuleInput) (*DescribeComplianceByConfigRuleOutput, error) {
- req, out := c.DescribeComplianceByConfigRuleRequest(input)
- err := req.Send()
- return out, err
- }
- const opDescribeComplianceByResource = "DescribeComplianceByResource"
- // DescribeComplianceByResourceRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeComplianceByResource operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DescribeComplianceByResource for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DescribeComplianceByResource method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the DescribeComplianceByResourceRequest method.
- // req, resp := client.DescribeComplianceByResourceRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *ConfigService) DescribeComplianceByResourceRequest(input *DescribeComplianceByResourceInput) (req *request.Request, output *DescribeComplianceByResourceOutput) {
- op := &request.Operation{
- Name: opDescribeComplianceByResource,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeComplianceByResourceInput{}
- }
- req = c.newRequest(op, input, output)
- output = &DescribeComplianceByResourceOutput{}
- req.Data = output
- return
- }
- // DescribeComplianceByResource API operation for AWS Config.
- //
- // Indicates whether the specified AWS resources are compliant. If a resource
- // is noncompliant, this action returns the number of AWS Config rules that
- // the resource does not comply with.
- //
- // A resource is compliant if it complies with all the AWS Config rules that
- // evaluate it. It is noncompliant if it does not comply with one or more of
- // these rules.
- //
- // If AWS Config has no current evaluation results for the resource, it returns
- // INSUFFICIENT_DATA. This result might indicate one of the following conditions
- // about the rules that evaluate the resource:
- //
- // * AWS Config has never invoked an evaluation for the rule. To check whether
- // it has, use the DescribeConfigRuleEvaluationStatus action to get the LastSuccessfulInvocationTime
- // and LastFailedInvocationTime.
- //
- // * The rule's AWS Lambda function is failing to send evaluation results
- // to AWS Config. Verify that the role that you assigned to your configuration
- // recorder includes the config:PutEvaluations permission. If the rule is
- // a custom rule, verify that the AWS Lambda execution role includes the
- // config:PutEvaluations permission.
- //
- // * The rule's AWS Lambda function has returned NOT_APPLICABLE for all evaluation
- // results. This can occur if the resources were deleted or removed from
- // the rule's scope.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for AWS Config's
- // API operation DescribeComplianceByResource for usage and error information.
- //
- // Returned Error Codes:
- // * InvalidParameterValueException
- // One or more of the specified parameters are invalid. Verify that your parameters
- // are valid and try again.
- //
- // * InvalidNextTokenException
- // The specified next token is invalid. Specify the nextToken string that was
- // returned in the previous response to get the next page of results.
- //
- func (c *ConfigService) DescribeComplianceByResource(input *DescribeComplianceByResourceInput) (*DescribeComplianceByResourceOutput, error) {
- req, out := c.DescribeComplianceByResourceRequest(input)
- err := req.Send()
- return out, err
- }
- const opDescribeConfigRuleEvaluationStatus = "DescribeConfigRuleEvaluationStatus"
- // DescribeConfigRuleEvaluationStatusRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeConfigRuleEvaluationStatus operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DescribeConfigRuleEvaluationStatus for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DescribeConfigRuleEvaluationStatus method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the DescribeConfigRuleEvaluationStatusRequest method.
- // req, resp := client.DescribeConfigRuleEvaluationStatusRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *ConfigService) DescribeConfigRuleEvaluationStatusRequest(input *DescribeConfigRuleEvaluationStatusInput) (req *request.Request, output *DescribeConfigRuleEvaluationStatusOutput) {
- op := &request.Operation{
- Name: opDescribeConfigRuleEvaluationStatus,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeConfigRuleEvaluationStatusInput{}
- }
- req = c.newRequest(op, input, output)
- output = &DescribeConfigRuleEvaluationStatusOutput{}
- req.Data = output
- return
- }
- // DescribeConfigRuleEvaluationStatus API operation for AWS Config.
- //
- // Returns status information for each of your AWS managed Config rules. The
- // status includes information such as the last time AWS Config invoked the
- // rule, the last time AWS Config failed to invoke the rule, and the related
- // error for the last failure.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for AWS Config's
- // API operation DescribeConfigRuleEvaluationStatus for usage and error information.
- //
- // Returned Error Codes:
- // * NoSuchConfigRuleException
- // One or more AWS Config rules in the request are invalid. Verify that the
- // rule names are correct and try again.
- //
- func (c *ConfigService) DescribeConfigRuleEvaluationStatus(input *DescribeConfigRuleEvaluationStatusInput) (*DescribeConfigRuleEvaluationStatusOutput, error) {
- req, out := c.DescribeConfigRuleEvaluationStatusRequest(input)
- err := req.Send()
- return out, err
- }
- const opDescribeConfigRules = "DescribeConfigRules"
- // DescribeConfigRulesRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeConfigRules operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DescribeConfigRules for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DescribeConfigRules method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the DescribeConfigRulesRequest method.
- // req, resp := client.DescribeConfigRulesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *ConfigService) DescribeConfigRulesRequest(input *DescribeConfigRulesInput) (req *request.Request, output *DescribeConfigRulesOutput) {
- op := &request.Operation{
- Name: opDescribeConfigRules,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeConfigRulesInput{}
- }
- req = c.newRequest(op, input, output)
- output = &DescribeConfigRulesOutput{}
- req.Data = output
- return
- }
- // DescribeConfigRules API operation for AWS Config.
- //
- // Returns details about your AWS Config rules.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for AWS Config's
- // API operation DescribeConfigRules for usage and error information.
- //
- // Returned Error Codes:
- // * NoSuchConfigRuleException
- // One or more AWS Config rules in the request are invalid. Verify that the
- // rule names are correct and try again.
- //
- func (c *ConfigService) DescribeConfigRules(input *DescribeConfigRulesInput) (*DescribeConfigRulesOutput, error) {
- req, out := c.DescribeConfigRulesRequest(input)
- err := req.Send()
- return out, err
- }
- const opDescribeConfigurationRecorderStatus = "DescribeConfigurationRecorderStatus"
- // DescribeConfigurationRecorderStatusRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeConfigurationRecorderStatus operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DescribeConfigurationRecorderStatus for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DescribeConfigurationRecorderStatus method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the DescribeConfigurationRecorderStatusRequest method.
- // req, resp := client.DescribeConfigurationRecorderStatusRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *ConfigService) DescribeConfigurationRecorderStatusRequest(input *DescribeConfigurationRecorderStatusInput) (req *request.Request, output *DescribeConfigurationRecorderStatusOutput) {
- op := &request.Operation{
- Name: opDescribeConfigurationRecorderStatus,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeConfigurationRecorderStatusInput{}
- }
- req = c.newRequest(op, input, output)
- output = &DescribeConfigurationRecorderStatusOutput{}
- req.Data = output
- return
- }
- // DescribeConfigurationRecorderStatus API operation for AWS Config.
- //
- // Returns the current status of the specified configuration recorder. If a
- // configuration recorder is not specified, this action returns the status of
- // all configuration recorder associated with the account.
- //
- // Currently, you can specify only one configuration recorder per region in
- // your account.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for AWS Config's
- // API operation DescribeConfigurationRecorderStatus for usage and error information.
- //
- // Returned Error Codes:
- // * NoSuchConfigurationRecorderException
- // You have specified a configuration recorder that does not exist.
- //
- func (c *ConfigService) DescribeConfigurationRecorderStatus(input *DescribeConfigurationRecorderStatusInput) (*DescribeConfigurationRecorderStatusOutput, error) {
- req, out := c.DescribeConfigurationRecorderStatusRequest(input)
- err := req.Send()
- return out, err
- }
- const opDescribeConfigurationRecorders = "DescribeConfigurationRecorders"
- // DescribeConfigurationRecordersRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeConfigurationRecorders operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DescribeConfigurationRecorders for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DescribeConfigurationRecorders method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the DescribeConfigurationRecordersRequest method.
- // req, resp := client.DescribeConfigurationRecordersRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *ConfigService) DescribeConfigurationRecordersRequest(input *DescribeConfigurationRecordersInput) (req *request.Request, output *DescribeConfigurationRecordersOutput) {
- op := &request.Operation{
- Name: opDescribeConfigurationRecorders,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeConfigurationRecordersInput{}
- }
- req = c.newRequest(op, input, output)
- output = &DescribeConfigurationRecordersOutput{}
- req.Data = output
- return
- }
- // DescribeConfigurationRecorders API operation for AWS Config.
- //
- // Returns the details for the specified configuration recorders. If the configuration
- // recorder is not specified, this action returns the details for all configuration
- // recorders associated with the account.
- //
- // Currently, you can specify only one configuration recorder per region in
- // your account.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for AWS Config's
- // API operation DescribeConfigurationRecorders for usage and error information.
- //
- // Returned Error Codes:
- // * NoSuchConfigurationRecorderException
- // You have specified a configuration recorder that does not exist.
- //
- func (c *ConfigService) DescribeConfigurationRecorders(input *DescribeConfigurationRecordersInput) (*DescribeConfigurationRecordersOutput, error) {
- req, out := c.DescribeConfigurationRecordersRequest(input)
- err := req.Send()
- return out, err
- }
- const opDescribeDeliveryChannelStatus = "DescribeDeliveryChannelStatus"
- // DescribeDeliveryChannelStatusRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeDeliveryChannelStatus operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DescribeDeliveryChannelStatus for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DescribeDeliveryChannelStatus method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the DescribeDeliveryChannelStatusRequest method.
- // req, resp := client.DescribeDeliveryChannelStatusRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *ConfigService) DescribeDeliveryChannelStatusRequest(input *DescribeDeliveryChannelStatusInput) (req *request.Request, output *DescribeDeliveryChannelStatusOutput) {
- op := &request.Operation{
- Name: opDescribeDeliveryChannelStatus,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeDeliveryChannelStatusInput{}
- }
- req = c.newRequest(op, input, output)
- output = &DescribeDeliveryChannelStatusOutput{}
- req.Data = output
- return
- }
- // DescribeDeliveryChannelStatus API operation for AWS Config.
- //
- // Returns the current status of the specified delivery channel. If a delivery
- // channel is not specified, this action returns the current status of all delivery
- // channels associated with the account.
- //
- // Currently, you can specify only one delivery channel per region in your account.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for AWS Config's
- // API operation DescribeDeliveryChannelStatus for usage and error information.
- //
- // Returned Error Codes:
- // * NoSuchDeliveryChannelException
- // You have specified a delivery channel that does not exist.
- //
- func (c *ConfigService) DescribeDeliveryChannelStatus(input *DescribeDeliveryChannelStatusInput) (*DescribeDeliveryChannelStatusOutput, error) {
- req, out := c.DescribeDeliveryChannelStatusRequest(input)
- err := req.Send()
- return out, err
- }
- const opDescribeDeliveryChannels = "DescribeDeliveryChannels"
- // DescribeDeliveryChannelsRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeDeliveryChannels operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DescribeDeliveryChannels for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DescribeDeliveryChannels method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the DescribeDeliveryChannelsRequest method.
- // req, resp := client.DescribeDeliveryChannelsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *ConfigService) DescribeDeliveryChannelsRequest(input *DescribeDeliveryChannelsInput) (req *request.Request, output *DescribeDeliveryChannelsOutput) {
- op := &request.Operation{
- Name: opDescribeDeliveryChannels,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeDeliveryChannelsInput{}
- }
- req = c.newRequest(op, input, output)
- output = &DescribeDeliveryChannelsOutput{}
- req.Data = output
- return
- }
- // DescribeDeliveryChannels API operation for AWS Config.
- //
- // Returns details about the specified delivery channel. If a delivery channel
- // is not specified, this action returns the details of all delivery channels
- // associated with the account.
- //
- // Currently, you can specify only one delivery channel per region in your account.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for AWS Config's
- // API operation DescribeDeliveryChannels for usage and error information.
- //
- // Returned Error Codes:
- // * NoSuchDeliveryChannelException
- // You have specified a delivery channel that does not exist.
- //
- func (c *ConfigService) DescribeDeliveryChannels(input *DescribeDeliveryChannelsInput) (*DescribeDeliveryChannelsOutput, error) {
- req, out := c.DescribeDeliveryChannelsRequest(input)
- err := req.Send()
- return out, err
- }
- const opGetComplianceDetailsByConfigRule = "GetComplianceDetailsByConfigRule"
- // GetComplianceDetailsByConfigRuleRequest generates a "aws/request.Request" representing the
- // client's request for the GetComplianceDetailsByConfigRule operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See GetComplianceDetailsByConfigRule for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the GetComplianceDetailsByConfigRule method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the GetComplianceDetailsByConfigRuleRequest method.
- // req, resp := client.GetComplianceDetailsByConfigRuleRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *ConfigService) GetComplianceDetailsByConfigRuleRequest(input *GetComplianceDetailsByConfigRuleInput) (req *request.Request, output *GetComplianceDetailsByConfigRuleOutput) {
- op := &request.Operation{
- Name: opGetComplianceDetailsByConfigRule,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &GetComplianceDetailsByConfigRuleInput{}
- }
- req = c.newRequest(op, input, output)
- output = &GetComplianceDetailsByConfigRuleOutput{}
- req.Data = output
- return
- }
- // GetComplianceDetailsByConfigRule API operation for AWS Config.
- //
- // Returns the evaluation results for the specified AWS Config rule. The results
- // indicate which AWS resources were evaluated by the rule, when each resource
- // was last evaluated, and whether each resource complies with the rule.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for AWS Config's
- // API operation GetComplianceDetailsByConfigRule for usage and error information.
- //
- // Returned Error Codes:
- // * InvalidParameterValueException
- // One or more of the specified parameters are invalid. Verify that your parameters
- // are valid and try again.
- //
- // * InvalidNextTokenException
- // The specified next token is invalid. Specify the nextToken string that was
- // returned in the previous response to get the next page of results.
- //
- // * NoSuchConfigRuleException
- // One or more AWS Config rules in the request are invalid. Verify that the
- // rule names are correct and try again.
- //
- func (c *ConfigService) GetComplianceDetailsByConfigRule(input *GetComplianceDetailsByConfigRuleInput) (*GetComplianceDetailsByConfigRuleOutput, error) {
- req, out := c.GetComplianceDetailsByConfigRuleRequest(input)
- err := req.Send()
- return out, err
- }
- const opGetComplianceDetailsByResource = "GetComplianceDetailsByResource"
- // GetComplianceDetailsByResourceRequest generates a "aws/request.Request" representing the
- // client's request for the GetComplianceDetailsByResource operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See GetComplianceDetailsByResource for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the GetComplianceDetailsByResource method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the GetComplianceDetailsByResourceRequest method.
- // req, resp := client.GetComplianceDetailsByResourceRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *ConfigService) GetComplianceDetailsByResourceRequest(input *GetComplianceDetailsByResourceInput) (req *request.Request, output *GetComplianceDetailsByResourceOutput) {
- op := &request.Operation{
- Name: opGetComplianceDetailsByResource,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &GetComplianceDetailsByResourceInput{}
- }
- req = c.newRequest(op, input, output)
- output = &GetComplianceDetailsByResourceOutput{}
- req.Data = output
- return
- }
- // GetComplianceDetailsByResource API operation for AWS Config.
- //
- // Returns the evaluation results for the specified AWS resource. The results
- // indicate which AWS Config rules were used to evaluate the resource, when
- // each rule was last used, and whether the resource complies with each rule.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for AWS Config's
- // API operation GetComplianceDetailsByResource for usage and error information.
- //
- // Returned Error Codes:
- // * InvalidParameterValueException
- // One or more of the specified parameters are invalid. Verify that your parameters
- // are valid and try again.
- //
- func (c *ConfigService) GetComplianceDetailsByResource(input *GetComplianceDetailsByResourceInput) (*GetComplianceDetailsByResourceOutput, error) {
- req, out := c.GetComplianceDetailsByResourceRequest(input)
- err := req.Send()
- return out, err
- }
- const opGetComplianceSummaryByConfigRule = "GetComplianceSummaryByConfigRule"
- // GetComplianceSummaryByConfigRuleRequest generates a "aws/request.Request" representing the
- // client's request for the GetComplianceSummaryByConfigRule operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See GetComplianceSummaryByConfigRule for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the GetComplianceSummaryByConfigRule method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the GetComplianceSummaryByConfigRuleRequest method.
- // req, resp := client.GetComplianceSummaryByConfigRuleRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *ConfigService) GetComplianceSummaryByConfigRuleRequest(input *GetComplianceSummaryByConfigRuleInput) (req *request.Request, output *GetComplianceSummaryByConfigRuleOutput) {
- op := &request.Operation{
- Name: opGetComplianceSummaryByConfigRule,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &GetComplianceSummaryByConfigRuleInput{}
- }
- req = c.newRequest(op, input, output)
- output = &GetComplianceSummaryByConfigRuleOutput{}
- req.Data = output
- return
- }
- // GetComplianceSummaryByConfigRule API operation for AWS Config.
- //
- // Returns the number of AWS Config rules that are compliant and noncompliant,
- // up to a maximum of 25 for each.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for AWS Config's
- // API operation GetComplianceSummaryByConfigRule for usage and error information.
- func (c *ConfigService) GetComplianceSummaryByConfigRule(input *GetComplianceSummaryByConfigRuleInput) (*GetComplianceSummaryByConfigRuleOutput, error) {
- req, out := c.GetComplianceSummaryByConfigRuleRequest(input)
- err := req.Send()
- return out, err
- }
- const opGetComplianceSummaryByResourceType = "GetComplianceSummaryByResourceType"
- // GetComplianceSummaryByResourceTypeRequest generates a "aws/request.Request" representing the
- // client's request for the GetComplianceSummaryByResourceType operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See GetComplianceSummaryByResourceType for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the GetComplianceSummaryByResourceType method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the GetComplianceSummaryByResourceTypeRequest method.
- // req, resp := client.GetComplianceSummaryByResourceTypeRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *ConfigService) GetComplianceSummaryByResourceTypeRequest(input *GetComplianceSummaryByResourceTypeInput) (req *request.Request, output *GetComplianceSummaryByResourceTypeOutput) {
- op := &request.Operation{
- Name: opGetComplianceSummaryByResourceType,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &GetComplianceSummaryByResourceTypeInput{}
- }
- req = c.newRequest(op, input, output)
- output = &GetComplianceSummaryByResourceTypeOutput{}
- req.Data = output
- return
- }
- // GetComplianceSummaryByResourceType API operation for AWS Config.
- //
- // Returns the number of resources that are compliant and the number that are
- // noncompliant. You can specify one or more resource types to get these numbers
- // for each resource type. The maximum number returned is 100.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for AWS Config's
- // API operation GetComplianceSummaryByResourceType for usage and error information.
- //
- // Returned Error Codes:
- // * InvalidParameterValueException
- // One or more of the specified parameters are invalid. Verify that your parameters
- // are valid and try again.
- //
- func (c *ConfigService) GetComplianceSummaryByResourceType(input *GetComplianceSummaryByResourceTypeInput) (*GetComplianceSummaryByResourceTypeOutput, error) {
- req, out := c.GetComplianceSummaryByResourceTypeRequest(input)
- err := req.Send()
- return out, err
- }
- const opGetResourceConfigHistory = "GetResourceConfigHistory"
- // GetResourceConfigHistoryRequest generates a "aws/request.Request" representing the
- // client's request for the GetResourceConfigHistory operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See GetResourceConfigHistory for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the GetResourceConfigHistory method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the GetResourceConfigHistoryRequest method.
- // req, resp := client.GetResourceConfigHistoryRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *ConfigService) GetResourceConfigHistoryRequest(input *GetResourceConfigHistoryInput) (req *request.Request, output *GetResourceConfigHistoryOutput) {
- op := &request.Operation{
- Name: opGetResourceConfigHistory,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"nextToken"},
- OutputTokens: []string{"nextToken"},
- LimitToken: "limit",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &GetResourceConfigHistoryInput{}
- }
- req = c.newRequest(op, input, output)
- output = &GetResourceConfigHistoryOutput{}
- req.Data = output
- return
- }
- // GetResourceConfigHistory API operation for AWS Config.
- //
- // Returns a list of configuration items for the specified resource. The list
- // contains details about each state of the resource during the specified time
- // interval.
- //
- // The response is paginated, and by default, AWS Config returns a limit of
- // 10 configuration items per page. You can customize this number with the limit
- // parameter. The response includes a nextToken string, and to get the next
- // page of results, run the request again and enter this string for the nextToken
- // parameter.
- //
- // Each call to the API is limited to span a duration of seven days. It is likely
- // that the number of records returned is smaller than the specified limit.
- // In such cases, you can make another call, using the nextToken.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for AWS Config's
- // API operation GetResourceConfigHistory for usage and error information.
- //
- // Returned Error Codes:
- // * ValidationException
- // The requested action is not valid.
- //
- // * InvalidTimeRangeException
- // The specified time range is not valid. The earlier time is not chronologically
- // before the later time.
- //
- // * InvalidLimitException
- // The specified limit is outside the allowable range.
- //
- // * InvalidNextTokenException
- // The specified next token is invalid. Specify the nextToken string that was
- // returned in the previous response to get the next page of results.
- //
- // * NoAvailableConfigurationRecorderException
- // There are no configuration recorders available to provide the role needed
- // to describe your resources. Create a configuration recorder.
- //
- // * ResourceNotDiscoveredException
- // You have specified a resource that is either unknown or has not been discovered.
- //
- func (c *ConfigService) GetResourceConfigHistory(input *GetResourceConfigHistoryInput) (*GetResourceConfigHistoryOutput, error) {
- req, out := c.GetResourceConfigHistoryRequest(input)
- err := req.Send()
- return out, err
- }
- // GetResourceConfigHistoryPages iterates over the pages of a GetResourceConfigHistory operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See GetResourceConfigHistory method for more information on how to use this operation.
- //
- // Note: This operation can generate multiple requests to a service.
- //
- // // Example iterating over at most 3 pages of a GetResourceConfigHistory operation.
- // pageNum := 0
- // err := client.GetResourceConfigHistoryPages(params,
- // func(page *GetResourceConfigHistoryOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- //
- func (c *ConfigService) GetResourceConfigHistoryPages(input *GetResourceConfigHistoryInput, fn func(p *GetResourceConfigHistoryOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.GetResourceConfigHistoryRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*GetResourceConfigHistoryOutput), lastPage)
- })
- }
- const opListDiscoveredResources = "ListDiscoveredResources"
- // ListDiscoveredResourcesRequest generates a "aws/request.Request" representing the
- // client's request for the ListDiscoveredResources operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See ListDiscoveredResources for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the ListDiscoveredResources method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the ListDiscoveredResourcesRequest method.
- // req, resp := client.ListDiscoveredResourcesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *ConfigService) ListDiscoveredResourcesRequest(input *ListDiscoveredResourcesInput) (req *request.Request, output *ListDiscoveredResourcesOutput) {
- op := &request.Operation{
- Name: opListDiscoveredResources,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &ListDiscoveredResourcesInput{}
- }
- req = c.newRequest(op, input, output)
- output = &ListDiscoveredResourcesOutput{}
- req.Data = output
- return
- }
- // ListDiscoveredResources API operation for AWS Config.
- //
- // Accepts a resource type and returns a list of resource identifiers for the
- // resources of that type. A resource identifier includes the resource type,
- // ID, and (if available) the custom resource name. The results consist of resources
- // that AWS Config has discovered, including those that AWS Config is not currently
- // recording. You can narrow the results to include only resources that have
- // specific resource IDs or a resource name.
- //
- // You can specify either resource IDs or a resource name but not both in the
- // same request.
- //
- // The response is paginated, and by default AWS Config lists 100 resource identifiers
- // on each page. You can customize this number with the limit parameter. The
- // response includes a nextToken string, and to get the next page of results,
- // run the request again and enter this string for the nextToken parameter.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for AWS Config's
- // API operation ListDiscoveredResources for usage and error information.
- //
- // Returned Error Codes:
- // * ValidationException
- // The requested action is not valid.
- //
- // * InvalidLimitException
- // The specified limit is outside the allowable range.
- //
- // * InvalidNextTokenException
- // The specified next token is invalid. Specify the nextToken string that was
- // returned in the previous response to get the next page of results.
- //
- // * NoAvailableConfigurationRecorderException
- // There are no configuration recorders available to provide the role needed
- // to describe your resources. Create a configuration recorder.
- //
- func (c *ConfigService) ListDiscoveredResources(input *ListDiscoveredResourcesInput) (*ListDiscoveredResourcesOutput, error) {
- req, out := c.ListDiscoveredResourcesRequest(input)
- err := req.Send()
- return out, err
- }
- const opPutConfigRule = "PutConfigRule"
- // PutConfigRuleRequest generates a "aws/request.Request" representing the
- // client's request for the PutConfigRule operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See PutConfigRule for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the PutConfigRule method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the PutConfigRuleRequest method.
- // req, resp := client.PutConfigRuleRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *ConfigService) PutConfigRuleRequest(input *PutConfigRuleInput) (req *request.Request, output *PutConfigRuleOutput) {
- op := &request.Operation{
- Name: opPutConfigRule,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &PutConfigRuleInput{}
- }
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
- req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
- output = &PutConfigRuleOutput{}
- req.Data = output
- return
- }
- // PutConfigRule API operation for AWS Config.
- //
- // Adds or updates an AWS Config rule for evaluating whether your AWS resources
- // comply with your desired configurations.
- //
- // You can use this action for custom Config rules and AWS managed Config rules.
- // A custom Config rule is a rule that you develop and maintain. An AWS managed
- // Config rule is a customizable, predefined rule that AWS Config provides.
- //
- // If you are adding a new custom Config rule, you must first create the AWS
- // Lambda function that the rule invokes to evaluate your resources. When you
- // use the PutConfigRule action to add the rule to AWS Config, you must specify
- // the Amazon Resource Name (ARN) that AWS Lambda assigns to the function. Specify
- // the ARN for the SourceIdentifier key. This key is part of the Source object,
- // which is part of the ConfigRule object.
- //
- // If you are adding a new AWS managed Config rule, specify the rule's identifier
- // for the SourceIdentifier key. To reference AWS managed Config rule identifiers,
- // see Using AWS Managed Config Rules (http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).
- //
- // For any new rule that you add, specify the ConfigRuleName in the ConfigRule
- // object. Do not specify the ConfigRuleArn or the ConfigRuleId. These values
- // are generated by AWS Config for new rules.
- //
- // If you are updating a rule that you added previously, you can specify the
- // rule by ConfigRuleName, ConfigRuleId, or ConfigRuleArn in the ConfigRule
- // data type that you use in this request.
- //
- // The maximum number of rules that AWS Config supports is 25.
- //
- // For more information about developing and using AWS Config rules, see Evaluating
- // AWS Resource Configurations with AWS Config (http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html)
- // in the AWS Config Developer Guide.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for AWS Config's
- // API operation PutConfigRule for usage and error information.
- //
- // Returned Error Codes:
- // * InvalidParameterValueException
- // One or more of the specified parameters are invalid. Verify that your parameters
- // are valid and try again.
- //
- // * MaxNumberOfConfigRulesExceededException
- // Failed to add the AWS Config rule because the account already contains the
- // maximum number of 25 rules. Consider deleting any deactivated rules before
- // adding new rules.
- //
- // * ResourceInUseException
- // The rule is currently being deleted or the rule is deleting your evaluation
- // results. Try your request again later.
- //
- // * InsufficientPermissionsException
- // Indicates one of the following errors:
- //
- // * The rule cannot be created because the IAM role assigned to AWS Config
- // lacks permissions to perform the config:Put* action.
- //
- // * The AWS Lambda function cannot be invoked. Check the function ARN, and
- // check the function's permissions.
- //
- // * NoAvailableConfigurationRecorderException
- // There are no configuration recorders available to provide the role needed
- // to describe your resources. Create a configuration recorder.
- //
- func (c *ConfigService) PutConfigRule(input *PutConfigRuleInput) (*PutConfigRuleOutput, error) {
- req, out := c.PutConfigRuleRequest(input)
- err := req.Send()
- return out, err
- }
- const opPutConfigurationRecorder = "PutConfigurationRecorder"
- // PutConfigurationRecorderRequest generates a "aws/request.Request" representing the
- // client's request for the PutConfigurationRecorder operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See PutConfigurationRecorder for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the PutConfigurationRecorder method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the PutConfigurationRecorderRequest method.
- // req, resp := client.PutConfigurationRecorderRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *ConfigService) PutConfigurationRecorderRequest(input *PutConfigurationRecorderInput) (req *request.Request, output *PutConfigurationRecorderOutput) {
- op := &request.Operation{
- Name: opPutConfigurationRecorder,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &PutConfigurationRecorderInput{}
- }
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
- req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
- output = &PutConfigurationRecorderOutput{}
- req.Data = output
- return
- }
- // PutConfigurationRecorder API operation for AWS Config.
- //
- // Creates a new configuration recorder to record the selected resource configurations.
- //
- // You can use this action to change the role roleARN and/or the recordingGroup
- // of an existing recorder. To change the role, call the action on the existing
- // configuration recorder and specify a role.
- //
- // Currently, you can specify only one configuration recorder per region in
- // your account.
- //
- // If ConfigurationRecorder does not have the recordingGroup parameter specified,
- // the default is to record all supported resource types.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for AWS Config's
- // API operation PutConfigurationRecorder for usage and error information.
- //
- // Returned Error Codes:
- // * MaxNumberOfConfigurationRecordersExceededException
- // You have reached the limit on the number of recorders you can create.
- //
- // * InvalidConfigurationRecorderNameException
- // You have provided a configuration recorder name that is not valid.
- //
- // * InvalidRoleException
- // You have provided a null or empty role ARN.
- //
- // * InvalidRecordingGroupException
- // AWS Config throws an exception if the recording group does not contain a
- // valid list of resource types. Invalid values could also be incorrectly formatted.
- //
- func (c *ConfigService) PutConfigurationRecorder(input *PutConfigurationRecorderInput) (*PutConfigurationRecorderOutput, error) {
- req, out := c.PutConfigurationRecorderRequest(input)
- err := req.Send()
- return out, err
- }
- const opPutDeliveryChannel = "PutDeliveryChannel"
- // PutDeliveryChannelRequest generates a "aws/request.Request" representing the
- // client's request for the PutDeliveryChannel operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See PutDeliveryChannel for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the PutDeliveryChannel method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the PutDeliveryChannelRequest method.
- // req, resp := client.PutDeliveryChannelRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *ConfigService) PutDeliveryChannelRequest(input *PutDeliveryChannelInput) (req *request.Request, output *PutDeliveryChannelOutput) {
- op := &request.Operation{
- Name: opPutDeliveryChannel,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &PutDeliveryChannelInput{}
- }
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
- req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
- output = &PutDeliveryChannelOutput{}
- req.Data = output
- return
- }
- // PutDeliveryChannel API operation for AWS Config.
- //
- // Creates a delivery channel object to deliver configuration information to
- // an Amazon S3 bucket and Amazon SNS topic.
- //
- // Before you can create a delivery channel, you must create a configuration
- // recorder.
- //
- // You can use this action to change the Amazon S3 bucket or an Amazon SNS topic
- // of the existing delivery channel. To change the Amazon S3 bucket or an Amazon
- // SNS topic, call this action and specify the changed values for the S3 bucket
- // and the SNS topic. If you specify a different value for either the S3 bucket
- // or the SNS topic, this action will keep the existing value for the parameter
- // that is not changed.
- //
- // You can have only one delivery channel per region in your account.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for AWS Config's
- // API operation PutDeliveryChannel for usage and error information.
- //
- // Returned Error Codes:
- // * MaxNumberOfDeliveryChannelsExceededException
- // You have reached the limit on the number of delivery channels you can create.
- //
- // * NoAvailableConfigurationRecorderException
- // There are no configuration recorders available to provide the role needed
- // to describe your resources. Create a configuration recorder.
- //
- // * InvalidDeliveryChannelNameException
- // The specified delivery channel name is not valid.
- //
- // * NoSuchBucketException
- // The specified Amazon S3 bucket does not exist.
- //
- // * InvalidS3KeyPrefixException
- // The specified Amazon S3 key prefix is not valid.
- //
- // * InvalidSNSTopicARNException
- // The specified Amazon SNS topic does not exist.
- //
- // * InsufficientDeliveryPolicyException
- // Your Amazon S3 bucket policy does not permit AWS Config to write to it.
- //
- func (c *ConfigService) PutDeliveryChannel(input *PutDeliveryChannelInput) (*PutDeliveryChannelOutput, error) {
- req, out := c.PutDeliveryChannelRequest(input)
- err := req.Send()
- return out, err
- }
- const opPutEvaluations = "PutEvaluations"
- // PutEvaluationsRequest generates a "aws/request.Request" representing the
- // client's request for the PutEvaluations operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See PutEvaluations for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the PutEvaluations method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the PutEvaluationsRequest method.
- // req, resp := client.PutEvaluationsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *ConfigService) PutEvaluationsRequest(input *PutEvaluationsInput) (req *request.Request, output *PutEvaluationsOutput) {
- op := &request.Operation{
- Name: opPutEvaluations,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &PutEvaluationsInput{}
- }
- req = c.newRequest(op, input, output)
- output = &PutEvaluationsOutput{}
- req.Data = output
- return
- }
- // PutEvaluations API operation for AWS Config.
- //
- // Used by an AWS Lambda function to deliver evaluation results to AWS Config.
- // This action is required in every AWS Lambda function that is invoked by an
- // AWS Config rule.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for AWS Config's
- // API operation PutEvaluations for usage and error information.
- //
- // Returned Error Codes:
- // * InvalidParameterValueException
- // One or more of the specified parameters are invalid. Verify that your parameters
- // are valid and try again.
- //
- // * InvalidResultTokenException
- // The result token is invalid.
- //
- // * NoSuchConfigRuleException
- // One or more AWS Config rules in the request are invalid. Verify that the
- // rule names are correct and try again.
- //
- func (c *ConfigService) PutEvaluations(input *PutEvaluationsInput) (*PutEvaluationsOutput, error) {
- req, out := c.PutEvaluationsRequest(input)
- err := req.Send()
- return out, err
- }
- const opStartConfigRulesEvaluation = "StartConfigRulesEvaluation"
- // StartConfigRulesEvaluationRequest generates a "aws/request.Request" representing the
- // client's request for the StartConfigRulesEvaluation operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See StartConfigRulesEvaluation for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the StartConfigRulesEvaluation method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the StartConfigRulesEvaluationRequest method.
- // req, resp := client.StartConfigRulesEvaluationRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *ConfigService) StartConfigRulesEvaluationRequest(input *StartConfigRulesEvaluationInput) (req *request.Request, output *StartConfigRulesEvaluationOutput) {
- op := &request.Operation{
- Name: opStartConfigRulesEvaluation,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &StartConfigRulesEvaluationInput{}
- }
- req = c.newRequest(op, input, output)
- output = &StartConfigRulesEvaluationOutput{}
- req.Data = output
- return
- }
- // StartConfigRulesEvaluation API operation for AWS Config.
- //
- // Evaluates your resources against the specified Config rules. You can specify
- // up to 25 Config rules per request.
- //
- // An existing StartConfigRulesEvaluation call must complete for the specified
- // rules before you can call the API again. If you chose to have AWS Config
- // stream to an Amazon SNS topic, you will receive a ConfigRuleEvaluationStarted
- // notification when the evaluation starts.
- //
- // You don't need to call the StartConfigRulesEvaluation API to run an evaluation
- // for a new rule. When you create a new rule, AWS Config automatically evaluates
- // your resources against the rule.
- //
- // The StartConfigRulesEvaluation API is useful if you want to run on-demand
- // evaluations, such as the following example:
- //
- // You have a custom rule that evaluates your IAM resources every 24 hours.
- //
- // You update your Lambda function to add additional conditions to your rule.
- //
- // Instead of waiting for the next periodic evaluation, you call the StartConfigRulesEvaluation
- // API.
- //
- // AWS Config invokes your Lambda function and evaluates your IAM resources.
- //
- // Your custom rule will still run periodic evaluations every 24 hours.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for AWS Config's
- // API operation StartConfigRulesEvaluation for usage and error information.
- //
- // Returned Error Codes:
- // * NoSuchConfigRuleException
- // One or more AWS Config rules in the request are invalid. Verify that the
- // rule names are correct and try again.
- //
- // * LimitExceededException
- // This exception is thrown if an evaluation is in progress or if you call the
- // StartConfigRulesEvaluation API more than once per minute.
- //
- // * ResourceInUseException
- // The rule is currently being deleted or the rule is deleting your evaluation
- // results. Try your request again later.
- //
- // * InvalidParameterValueException
- // One or more of the specified parameters are invalid. Verify that your parameters
- // are valid and try again.
- //
- func (c *ConfigService) StartConfigRulesEvaluation(input *StartConfigRulesEvaluationInput) (*StartConfigRulesEvaluationOutput, error) {
- req, out := c.StartConfigRulesEvaluationRequest(input)
- err := req.Send()
- return out, err
- }
- const opStartConfigurationRecorder = "StartConfigurationRecorder"
- // StartConfigurationRecorderRequest generates a "aws/request.Request" representing the
- // client's request for the StartConfigurationRecorder operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See StartConfigurationRecorder for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the StartConfigurationRecorder method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the StartConfigurationRecorderRequest method.
- // req, resp := client.StartConfigurationRecorderRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *ConfigService) StartConfigurationRecorderRequest(input *StartConfigurationRecorderInput) (req *request.Request, output *StartConfigurationRecorderOutput) {
- op := &request.Operation{
- Name: opStartConfigurationRecorder,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &StartConfigurationRecorderInput{}
- }
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
- req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
- output = &StartConfigurationRecorderOutput{}
- req.Data = output
- return
- }
- // StartConfigurationRecorder API operation for AWS Config.
- //
- // Starts recording configurations of the AWS resources you have selected to
- // record in your AWS account.
- //
- // You must have created at least one delivery channel to successfully start
- // the configuration recorder.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for AWS Config's
- // API operation StartConfigurationRecorder for usage and error information.
- //
- // Returned Error Codes:
- // * NoSuchConfigurationRecorderException
- // You have specified a configuration recorder that does not exist.
- //
- // * NoAvailableDeliveryChannelException
- // There is no delivery channel available to record configurations.
- //
- func (c *ConfigService) StartConfigurationRecorder(input *StartConfigurationRecorderInput) (*StartConfigurationRecorderOutput, error) {
- req, out := c.StartConfigurationRecorderRequest(input)
- err := req.Send()
- return out, err
- }
- const opStopConfigurationRecorder = "StopConfigurationRecorder"
- // StopConfigurationRecorderRequest generates a "aws/request.Request" representing the
- // client's request for the StopConfigurationRecorder operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See StopConfigurationRecorder for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the StopConfigurationRecorder method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the StopConfigurationRecorderRequest method.
- // req, resp := client.StopConfigurationRecorderRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *ConfigService) StopConfigurationRecorderRequest(input *StopConfigurationRecorderInput) (req *request.Request, output *StopConfigurationRecorderOutput) {
- op := &request.Operation{
- Name: opStopConfigurationRecorder,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &StopConfigurationRecorderInput{}
- }
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
- req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
- output = &StopConfigurationRecorderOutput{}
- req.Data = output
- return
- }
- // StopConfigurationRecorder API operation for AWS Config.
- //
- // Stops recording configurations of the AWS resources you have selected to
- // record in your AWS account.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for AWS Config's
- // API operation StopConfigurationRecorder for usage and error information.
- //
- // Returned Error Codes:
- // * NoSuchConfigurationRecorderException
- // You have specified a configuration recorder that does not exist.
- //
- func (c *ConfigService) StopConfigurationRecorder(input *StopConfigurationRecorderInput) (*StopConfigurationRecorderOutput, error) {
- req, out := c.StopConfigurationRecorderRequest(input)
- err := req.Send()
- return out, err
- }
- // Indicates whether an AWS resource or AWS Config rule is compliant and provides
- // the number of contributors that affect the compliance.
- type Compliance struct {
- _ struct{} `type:"structure"`
- // The number of AWS resources or AWS Config rules that cause a result of NON_COMPLIANT,
- // up to a maximum number.
- ComplianceContributorCount *ComplianceContributorCount `type:"structure"`
- // Indicates whether an AWS resource or AWS Config rule is compliant.
- //
- // A resource is compliant if it complies with all of the AWS Config rules that
- // evaluate it, and it is noncompliant if it does not comply with one or more
- // of these rules.
- //
- // A rule is compliant if all of the resources that the rule evaluates comply
- // with it, and it is noncompliant if any of these resources do not comply.
- //
- // AWS Config returns the INSUFFICIENT_DATA value when no evaluation results
- // are available for the AWS resource or Config rule.
- //
- // For the Compliance data type, AWS Config supports only COMPLIANT, NON_COMPLIANT,
- // and INSUFFICIENT_DATA values. AWS Config does not support the NOT_APPLICABLE
- // value for the Compliance data type.
- ComplianceType *string `type:"string" enum:"ComplianceType"`
- }
- // String returns the string representation
- func (s Compliance) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Compliance) GoString() string {
- return s.String()
- }
- // Indicates whether an AWS Config rule is compliant. A rule is compliant if
- // all of the resources that the rule evaluated comply with it, and it is noncompliant
- // if any of these resources do not comply.
- type ComplianceByConfigRule struct {
- _ struct{} `type:"structure"`
- // Indicates whether the AWS Config rule is compliant.
- Compliance *Compliance `type:"structure"`
- // The name of the AWS Config rule.
- ConfigRuleName *string `min:"1" type:"string"`
- }
- // String returns the string representation
- func (s ComplianceByConfigRule) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ComplianceByConfigRule) GoString() string {
- return s.String()
- }
- // Indicates whether an AWS resource that is evaluated according to one or more
- // AWS Config rules is compliant. A resource is compliant if it complies with
- // all of the rules that evaluate it, and it is noncompliant if it does not
- // comply with one or more of these rules.
- type ComplianceByResource struct {
- _ struct{} `type:"structure"`
- // Indicates whether the AWS resource complies with all of the AWS Config rules
- // that evaluated it.
- Compliance *Compliance `type:"structure"`
- // The ID of the AWS resource that was evaluated.
- ResourceId *string `min:"1" type:"string"`
- // The type of the AWS resource that was evaluated.
- ResourceType *string `min:"1" type:"string"`
- }
- // String returns the string representation
- func (s ComplianceByResource) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ComplianceByResource) GoString() string {
- return s.String()
- }
- // The number of AWS resources or AWS Config rules responsible for the current
- // compliance of the item, up to a maximum number.
- type ComplianceContributorCount struct {
- _ struct{} `type:"structure"`
- // Indicates whether the maximum count is reached.
- CapExceeded *bool `type:"boolean"`
- // The number of AWS resources or AWS Config rules responsible for the current
- // compliance of the item.
- CappedCount *int64 `type:"integer"`
- }
- // String returns the string representation
- func (s ComplianceContributorCount) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ComplianceContributorCount) GoString() string {
- return s.String()
- }
- // The number of AWS Config rules or AWS resources that are compliant and noncompliant,
- // up to a maximum.
- type ComplianceSummary struct {
- _ struct{} `type:"structure"`
- // The time that AWS Config created the compliance summary.
- ComplianceSummaryTimestamp *time.Time `type:"timestamp" timestampFormat:"unix"`
- // The number of AWS Config rules or AWS resources that are compliant, up to
- // a maximum of 25 for rules and 100 for resources.
- CompliantResourceCount *ComplianceContributorCount `type:"structure"`
- // The number of AWS Config rules or AWS resources that are noncompliant, up
- // to a maximum of 25 for rules and 100 for resources.
- NonCompliantResourceCount *ComplianceContributorCount `type:"structure"`
- }
- // String returns the string representation
- func (s ComplianceSummary) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ComplianceSummary) GoString() string {
- return s.String()
- }
- // The number of AWS resources of a specific type that are compliant or noncompliant,
- // up to a maximum of 100 for each compliance.
- type ComplianceSummaryByResourceType struct {
- _ struct{} `type:"structure"`
- // The number of AWS resources that are compliant or noncompliant, up to a maximum
- // of 100 for each compliance.
- ComplianceSummary *ComplianceSummary `type:"structure"`
- // The type of AWS resource.
- ResourceType *string `min:"1" type:"string"`
- }
- // String returns the string representation
- func (s ComplianceSummaryByResourceType) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ComplianceSummaryByResourceType) GoString() string {
- return s.String()
- }
- // A list that contains the status of the delivery of either the snapshot or
- // the configuration history to the specified Amazon S3 bucket.
- type ConfigExportDeliveryInfo struct {
- _ struct{} `type:"structure"`
- // The time of the last attempted delivery.
- LastAttemptTime *time.Time `locationName:"lastAttemptTime" type:"timestamp" timestampFormat:"unix"`
- // The error code from the last attempted delivery.
- LastErrorCode *string `locationName:"lastErrorCode" type:"string"`
- // The error message from the last attempted delivery.
- LastErrorMessage *string `locationName:"lastErrorMessage" type:"string"`
- // Status of the last attempted delivery.
- LastStatus *string `locationName:"lastStatus" type:"string" enum:"DeliveryStatus"`
- // The time of the last successful delivery.
- LastSuccessfulTime *time.Time `locationName:"lastSuccessfulTime" type:"timestamp" timestampFormat:"unix"`
- // The time that the next delivery occurs.
- NextDeliveryTime *time.Time `locationName:"nextDeliveryTime" type:"timestamp" timestampFormat:"unix"`
- }
- // String returns the string representation
- func (s ConfigExportDeliveryInfo) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ConfigExportDeliveryInfo) GoString() string {
- return s.String()
- }
- // An AWS Config rule represents an AWS Lambda function that you create for
- // a custom rule or a predefined function for an AWS managed rule. The function
- // evaluates configuration items to assess whether your AWS resources comply
- // with your desired configurations. This function can run when AWS Config detects
- // a configuration change to an AWS resource and at a periodic frequency that
- // you choose (for example, every 24 hours).
- //
- // You can use the AWS CLI and AWS SDKs if you want to create a rule that triggers
- // evaluations for your resources when AWS Config delivers the configuration
- // snapshot. For more information, see ConfigSnapshotDeliveryProperties.
- //
- // For more information about developing and using AWS Config rules, see Evaluating
- // AWS Resource Configurations with AWS Config (http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html)
- // in the AWS Config Developer Guide.
- type ConfigRule struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the AWS Config rule.
- ConfigRuleArn *string `type:"string"`
- // The ID of the AWS Config rule.
- ConfigRuleId *string `type:"string"`
- // The name that you assign to the AWS Config rule. The name is required if
- // you are adding a new rule.
- ConfigRuleName *string `min:"1" type:"string"`
- // Indicates whether the AWS Config rule is active or is currently being deleted
- // by AWS Config. It can also indicate the evaluation status for the Config
- // rule.
- //
- // AWS Config sets the state of the rule to EVALUATING temporarily after you
- // use the StartConfigRulesEvaluation request to evaluate your resources against
- // the Config rule.
- //
- // AWS Config sets the state of the rule to DELETING_RESULTS temporarily after
- // you use the DeleteEvaluationResults request to delete the current evaluation
- // results for the Config rule.
- //
- // AWS Config sets the state of a rule to DELETING temporarily after you use
- // the DeleteConfigRule request to delete the rule. After AWS Config deletes
- // the rule, the rule and all of its evaluations are erased and are no longer
- // available.
- ConfigRuleState *string `type:"string" enum:"ConfigRuleState"`
- // The description that you provide for the AWS Config rule.
- Description *string `type:"string"`
- // A string in JSON format that is passed to the AWS Config rule Lambda function.
- InputParameters *string `min:"1" type:"string"`
- // The maximum frequency with which AWS Config runs evaluations for a rule.
- // You can specify a value for MaximumExecutionFrequency when:
- //
- // * You are using an AWS managed rule that is triggered at a periodic frequency.
- //
- // * Your custom rule is triggered when AWS Config delivers the configuration
- // snapshot.
- //
- // For more information, see ConfigSnapshotDeliveryProperties.
- MaximumExecutionFrequency *string `type:"string" enum:"MaximumExecutionFrequency"`
- // Defines which resources can trigger an evaluation for the rule. The scope
- // can include one or more resource types, a combination of one resource type
- // and one resource ID, or a combination of a tag key and value. Specify a scope
- // to constrain the resources that can trigger an evaluation for the rule. If
- // you do not specify a scope, evaluations are triggered when any resource in
- // the recording group changes.
- Scope *Scope `type:"structure"`
- // Provides the rule owner (AWS or customer), the rule identifier, and the notifications
- // that cause the function to evaluate your AWS resources.
- //
- // Source is a required field
- Source *Source `type:"structure" required:"true"`
- }
- // String returns the string representation
- func (s ConfigRule) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ConfigRule) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ConfigRule) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ConfigRule"}
- if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
- }
- if s.InputParameters != nil && len(*s.InputParameters) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("InputParameters", 1))
- }
- if s.Source == nil {
- invalidParams.Add(request.NewErrParamRequired("Source"))
- }
- if s.Scope != nil {
- if err := s.Scope.Validate(); err != nil {
- invalidParams.AddNested("Scope", err.(request.ErrInvalidParams))
- }
- }
- if s.Source != nil {
- if err := s.Source.Validate(); err != nil {
- invalidParams.AddNested("Source", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // Status information for your AWS managed Config rules. The status includes
- // information such as the last time the rule ran, the last time it failed,
- // and the related error for the last failure.
- //
- // This action does not return status information about custom Config rules.
- type ConfigRuleEvaluationStatus struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) of the AWS Config rule.
- ConfigRuleArn *string `type:"string"`
- // The ID of the AWS Config rule.
- ConfigRuleId *string `type:"string"`
- // The name of the AWS Config rule.
- ConfigRuleName *string `min:"1" type:"string"`
- // The time that you first activated the AWS Config rule.
- FirstActivatedTime *time.Time `type:"timestamp" timestampFormat:"unix"`
- // Indicates whether AWS Config has evaluated your resources against the rule
- // at least once.
- //
- // * true - AWS Config has evaluated your AWS resources against the rule
- // at least once.
- //
- // * false - AWS Config has not once finished evaluating your AWS resources
- // against the rule.
- FirstEvaluationStarted *bool `type:"boolean"`
- // The error code that AWS Config returned when the rule last failed.
- LastErrorCode *string `type:"string"`
- // The error message that AWS Config returned when the rule last failed.
- LastErrorMessage *string `type:"string"`
- // The time that AWS Config last failed to evaluate your AWS resources against
- // the rule.
- LastFailedEvaluationTime *time.Time `type:"timestamp" timestampFormat:"unix"`
- // The time that AWS Config last failed to invoke the AWS Config rule to evaluate
- // your AWS resources.
- LastFailedInvocationTime *time.Time `type:"timestamp" timestampFormat:"unix"`
- // The time that AWS Config last successfully evaluated your AWS resources against
- // the rule.
- LastSuccessfulEvaluationTime *time.Time `type:"timestamp" timestampFormat:"unix"`
- // The time that AWS Config last successfully invoked the AWS Config rule to
- // evaluate your AWS resources.
- LastSuccessfulInvocationTime *time.Time `type:"timestamp" timestampFormat:"unix"`
- }
- // String returns the string representation
- func (s ConfigRuleEvaluationStatus) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ConfigRuleEvaluationStatus) GoString() string {
- return s.String()
- }
- // Provides options for how often AWS Config delivers configuration snapshots
- // to the Amazon S3 bucket in your delivery channel.
- //
- // If you want to create a rule that triggers evaluations for your resources
- // when AWS Config delivers the configuration snapshot, see the following:
- //
- // The frequency for a rule that triggers evaluations for your resources when
- // AWS Config delivers the configuration snapshot is set by one of two values,
- // depending on which is less frequent:
- //
- // * The value for the deliveryFrequency parameter within the delivery channel
- // configuration, which sets how often AWS Config delivers configuration
- // snapshots. This value also sets how often AWS Config invokes evaluations
- // for Config rules.
- //
- // * The value for the MaximumExecutionFrequency parameter, which sets the
- // maximum frequency with which AWS Config invokes evaluations for the rule.
- // For more information, see ConfigRule.
- //
- // If the deliveryFrequency value is less frequent than the MaximumExecutionFrequency
- // value for a rule, AWS Config invokes the rule only as often as the deliveryFrequency
- // value.
- //
- // For example, you want your rule to run evaluations when AWS Config delivers
- // the configuration snapshot.
- //
- // You specify the MaximumExecutionFrequency value for Six_Hours.
- //
- // You then specify the delivery channel deliveryFrequency value for TwentyFour_Hours.
- //
- // Because the value for deliveryFrequency is less frequent than MaximumExecutionFrequency,
- // AWS Config invokes evaluations for the rule every 24 hours.
- //
- // You should set the MaximumExecutionFrequency value to be at least as frequent
- // as the deliveryFrequency value. You can view the deliveryFrequency value
- // by using the DescribeDeliveryChannnels action.
- //
- // To update the deliveryFrequency with which AWS Config delivers your configuration
- // snapshots, use the PutDeliveryChannel action.
- type ConfigSnapshotDeliveryProperties struct {
- _ struct{} `type:"structure"`
- // The frequency with which AWS Config delivers configuration snapshots.
- DeliveryFrequency *string `locationName:"deliveryFrequency" type:"string" enum:"MaximumExecutionFrequency"`
- }
- // String returns the string representation
- func (s ConfigSnapshotDeliveryProperties) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ConfigSnapshotDeliveryProperties) GoString() string {
- return s.String()
- }
- // A list that contains the status of the delivery of the configuration stream
- // notification to the Amazon SNS topic.
- type ConfigStreamDeliveryInfo struct {
- _ struct{} `type:"structure"`
- // The error code from the last attempted delivery.
- LastErrorCode *string `locationName:"lastErrorCode" type:"string"`
- // The error message from the last attempted delivery.
- LastErrorMessage *string `locationName:"lastErrorMessage" type:"string"`
- // Status of the last attempted delivery.
- //
- // Note Providing an SNS topic on a DeliveryChannel (http://docs.aws.amazon.com/config/latest/APIReference/API_DeliveryChannel.html)
- // for AWS Config is optional. If the SNS delivery is turned off, the last status
- // will be Not_Applicable.
- LastStatus *string `locationName:"lastStatus" type:"string" enum:"DeliveryStatus"`
- // The time from the last status change.
- LastStatusChangeTime *time.Time `locationName:"lastStatusChangeTime" type:"timestamp" timestampFormat:"unix"`
- }
- // String returns the string representation
- func (s ConfigStreamDeliveryInfo) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ConfigStreamDeliveryInfo) GoString() string {
- return s.String()
- }
- // A list that contains detailed configurations of a specified resource.
- //
- // Currently, the list does not contain information about non-AWS components
- // (for example, applications on your Amazon EC2 instances).
- type ConfigurationItem struct {
- _ struct{} `type:"structure"`
- // The 12 digit AWS account ID associated with the resource.
- AccountId *string `locationName:"accountId" type:"string"`
- // The Amazon Resource Name (ARN) of the resource.
- Arn *string `locationName:"arn" type:"string"`
- // The Availability Zone associated with the resource.
- AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
- // The region where the resource resides.
- AwsRegion *string `locationName:"awsRegion" type:"string"`
- // The description of the resource configuration.
- Configuration *string `locationName:"configuration" type:"string"`
- // The time when the configuration recording was initiated.
- ConfigurationItemCaptureTime *time.Time `locationName:"configurationItemCaptureTime" type:"timestamp" timestampFormat:"unix"`
- // Unique MD5 hash that represents the configuration item's state.
- //
- // You can use MD5 hash to compare the states of two or more configuration items
- // that are associated with the same resource.
- ConfigurationItemMD5Hash *string `locationName:"configurationItemMD5Hash" type:"string"`
- // The configuration item status.
- ConfigurationItemStatus *string `locationName:"configurationItemStatus" type:"string" enum:"ConfigurationItemStatus"`
- // An identifier that indicates the ordering of the configuration items of a
- // resource.
- ConfigurationStateId *string `locationName:"configurationStateId" type:"string"`
- // A list of CloudTrail event IDs.
- //
- // A populated field indicates that the current configuration was initiated
- // by the events recorded in the CloudTrail log. For more information about
- // CloudTrail, see What is AWS CloudTrail? (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html).
- //
- // An empty field indicates that the current configuration was not initiated
- // by any event.
- RelatedEvents []*string `locationName:"relatedEvents" type:"list"`
- // A list of related AWS resources.
- Relationships []*Relationship `locationName:"relationships" type:"list"`
- // The time stamp when the resource was created.
- ResourceCreationTime *time.Time `locationName:"resourceCreationTime" type:"timestamp" timestampFormat:"unix"`
- // The ID of the resource (for example., sg-xxxxxx).
- ResourceId *string `locationName:"resourceId" type:"string"`
- // The custom name of the resource, if available.
- ResourceName *string `locationName:"resourceName" type:"string"`
- // The type of AWS resource.
- ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
- // Configuration attributes that AWS Config returns for certain resource types
- // to supplement the information returned for the configuration parameter.
- SupplementaryConfiguration map[string]*string `locationName:"supplementaryConfiguration" type:"map"`
- // A mapping of key value tags associated with the resource.
- Tags map[string]*string `locationName:"tags" type:"map"`
- // The version number of the resource configuration.
- Version *string `locationName:"version" type:"string"`
- }
- // String returns the string representation
- func (s ConfigurationItem) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ConfigurationItem) GoString() string {
- return s.String()
- }
- // An object that represents the recording of configuration changes of an AWS
- // resource.
- type ConfigurationRecorder struct {
- _ struct{} `type:"structure"`
- // The name of the recorder. By default, AWS Config automatically assigns the
- // name "default" when creating the configuration recorder. You cannot change
- // the assigned name.
- Name *string `locationName:"name" min:"1" type:"string"`
- // Specifies the types of AWS resource for which AWS Config records configuration
- // changes.
- RecordingGroup *RecordingGroup `locationName:"recordingGroup" type:"structure"`
- // Amazon Resource Name (ARN) of the IAM role used to describe the AWS resources
- // associated with the account.
- RoleARN *string `locationName:"roleARN" type:"string"`
- }
- // String returns the string representation
- func (s ConfigurationRecorder) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ConfigurationRecorder) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ConfigurationRecorder) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ConfigurationRecorder"}
- if s.Name != nil && len(*s.Name) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Name", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The current status of the configuration recorder.
- type ConfigurationRecorderStatus struct {
- _ struct{} `type:"structure"`
- // The error code indicating that the recording failed.
- LastErrorCode *string `locationName:"lastErrorCode" type:"string"`
- // The message indicating that the recording failed due to an error.
- LastErrorMessage *string `locationName:"lastErrorMessage" type:"string"`
- // The time the recorder was last started.
- LastStartTime *time.Time `locationName:"lastStartTime" type:"timestamp" timestampFormat:"unix"`
- // The last (previous) status of the recorder.
- LastStatus *string `locationName:"lastStatus" type:"string" enum:"RecorderStatus"`
- // The time when the status was last changed.
- LastStatusChangeTime *time.Time `locationName:"lastStatusChangeTime" type:"timestamp" timestampFormat:"unix"`
- // The time the recorder was last stopped.
- LastStopTime *time.Time `locationName:"lastStopTime" type:"timestamp" timestampFormat:"unix"`
- // The name of the configuration recorder.
- Name *string `locationName:"name" type:"string"`
- // Specifies whether the recorder is currently recording or not.
- Recording *bool `locationName:"recording" type:"boolean"`
- }
- // String returns the string representation
- func (s ConfigurationRecorderStatus) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ConfigurationRecorderStatus) GoString() string {
- return s.String()
- }
- type DeleteConfigRuleInput struct {
- _ struct{} `type:"structure"`
- // The name of the AWS Config rule that you want to delete.
- //
- // ConfigRuleName is a required field
- ConfigRuleName *string `min:"1" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DeleteConfigRuleInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteConfigRuleInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeleteConfigRuleInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteConfigRuleInput"}
- if s.ConfigRuleName == nil {
- invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
- }
- if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type DeleteConfigRuleOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s DeleteConfigRuleOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteConfigRuleOutput) GoString() string {
- return s.String()
- }
- // The request object for the DeleteConfigurationRecorder action.
- type DeleteConfigurationRecorderInput struct {
- _ struct{} `type:"structure"`
- // The name of the configuration recorder to be deleted. You can retrieve the
- // name of your configuration recorder by using the DescribeConfigurationRecorders
- // action.
- //
- // ConfigurationRecorderName is a required field
- ConfigurationRecorderName *string `min:"1" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DeleteConfigurationRecorderInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteConfigurationRecorderInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeleteConfigurationRecorderInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteConfigurationRecorderInput"}
- if s.ConfigurationRecorderName == nil {
- invalidParams.Add(request.NewErrParamRequired("ConfigurationRecorderName"))
- }
- if s.ConfigurationRecorderName != nil && len(*s.ConfigurationRecorderName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ConfigurationRecorderName", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type DeleteConfigurationRecorderOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s DeleteConfigurationRecorderOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteConfigurationRecorderOutput) GoString() string {
- return s.String()
- }
- // The input for the DeleteDeliveryChannel action. The action accepts the following
- // data in JSON format.
- type DeleteDeliveryChannelInput struct {
- _ struct{} `type:"structure"`
- // The name of the delivery channel to delete.
- //
- // DeliveryChannelName is a required field
- DeliveryChannelName *string `min:"1" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DeleteDeliveryChannelInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteDeliveryChannelInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeleteDeliveryChannelInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteDeliveryChannelInput"}
- if s.DeliveryChannelName == nil {
- invalidParams.Add(request.NewErrParamRequired("DeliveryChannelName"))
- }
- if s.DeliveryChannelName != nil && len(*s.DeliveryChannelName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("DeliveryChannelName", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type DeleteDeliveryChannelOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s DeleteDeliveryChannelOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteDeliveryChannelOutput) GoString() string {
- return s.String()
- }
- type DeleteEvaluationResultsInput struct {
- _ struct{} `type:"structure"`
- // The name of the Config rule for which you want to delete the evaluation results.
- //
- // ConfigRuleName is a required field
- ConfigRuleName *string `min:"1" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DeleteEvaluationResultsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteEvaluationResultsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeleteEvaluationResultsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteEvaluationResultsInput"}
- if s.ConfigRuleName == nil {
- invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
- }
- if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The output when you delete the evaluation results for the specified Config
- // rule.
- type DeleteEvaluationResultsOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s DeleteEvaluationResultsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteEvaluationResultsOutput) GoString() string {
- return s.String()
- }
- // The input for the DeliverConfigSnapshot action.
- type DeliverConfigSnapshotInput struct {
- _ struct{} `type:"structure"`
- // The name of the delivery channel through which the snapshot is delivered.
- //
- // DeliveryChannelName is a required field
- DeliveryChannelName *string `locationName:"deliveryChannelName" min:"1" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DeliverConfigSnapshotInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeliverConfigSnapshotInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeliverConfigSnapshotInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeliverConfigSnapshotInput"}
- if s.DeliveryChannelName == nil {
- invalidParams.Add(request.NewErrParamRequired("DeliveryChannelName"))
- }
- if s.DeliveryChannelName != nil && len(*s.DeliveryChannelName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("DeliveryChannelName", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The output for the DeliverConfigSnapshot action in JSON format.
- type DeliverConfigSnapshotOutput struct {
- _ struct{} `type:"structure"`
- // The ID of the snapshot that is being created.
- ConfigSnapshotId *string `locationName:"configSnapshotId" type:"string"`
- }
- // String returns the string representation
- func (s DeliverConfigSnapshotOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeliverConfigSnapshotOutput) GoString() string {
- return s.String()
- }
- // The channel through which AWS Config delivers notifications and updated configuration
- // states.
- type DeliveryChannel struct {
- _ struct{} `type:"structure"`
- // Provides options for how often AWS Config delivers configuration snapshots
- // to the Amazon S3 bucket in your delivery channel.
- //
- // If you want to create a rule that triggers evaluations for your resources
- // when AWS Config delivers the configuration snapshot, see the following:
- //
- // The frequency for a rule that triggers evaluations for your resources when
- // AWS Config delivers the configuration snapshot is set by one of two values,
- // depending on which is less frequent:
- //
- // * The value for the deliveryFrequency parameter within the delivery channel
- // configuration, which sets how often AWS Config delivers configuration
- // snapshots. This value also sets how often AWS Config invokes evaluations
- // for Config rules.
- //
- // * The value for the MaximumExecutionFrequency parameter, which sets the
- // maximum frequency with which AWS Config invokes evaluations for the rule.
- // For more information, see ConfigRule.
- //
- // If the deliveryFrequency value is less frequent than the MaximumExecutionFrequency
- // value for a rule, AWS Config invokes the rule only as often as the deliveryFrequency
- // value.
- //
- // For example, you want your rule to run evaluations when AWS Config delivers
- // the configuration snapshot.
- //
- // You specify the MaximumExecutionFrequency value for Six_Hours.
- //
- // You then specify the delivery channel deliveryFrequency value for TwentyFour_Hours.
- //
- // Because the value for deliveryFrequency is less frequent than MaximumExecutionFrequency,
- // AWS Config invokes evaluations for the rule every 24 hours.
- //
- // You should set the MaximumExecutionFrequency value to be at least as frequent
- // as the deliveryFrequency value. You can view the deliveryFrequency value
- // by using the DescribeDeliveryChannnels action.
- //
- // To update the deliveryFrequency with which AWS Config delivers your configuration
- // snapshots, use the PutDeliveryChannel action.
- ConfigSnapshotDeliveryProperties *ConfigSnapshotDeliveryProperties `locationName:"configSnapshotDeliveryProperties" type:"structure"`
- // The name of the delivery channel. By default, AWS Config assigns the name
- // "default" when creating the delivery channel. To change the delivery channel
- // name, you must use the DeleteDeliveryChannel action to delete your current
- // delivery channel, and then you must use the PutDeliveryChannel command to
- // create a delivery channel that has the desired name.
- Name *string `locationName:"name" min:"1" type:"string"`
- // The name of the Amazon S3 bucket to which AWS Config delivers configuration
- // snapshots and configuration history files.
- //
- // If you specify a bucket that belongs to another AWS account, that bucket
- // must have policies that grant access permissions to AWS Config. For more
- // information, see Permissions for the Amazon S3 Bucket (http://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-policy.html)
- // in the AWS Config Developer Guide.
- S3BucketName *string `locationName:"s3BucketName" type:"string"`
- // The prefix for the specified Amazon S3 bucket.
- S3KeyPrefix *string `locationName:"s3KeyPrefix" type:"string"`
- // The Amazon Resource Name (ARN) of the Amazon SNS topic to which AWS Config
- // sends notifications about configuration changes.
- //
- // If you choose a topic from another account, the topic must have policies
- // that grant access permissions to AWS Config. For more information, see Permissions
- // for the Amazon SNS Topic (http://docs.aws.amazon.com/config/latest/developerguide/sns-topic-policy.html)
- // in the AWS Config Developer Guide.
- SnsTopicARN *string `locationName:"snsTopicARN" type:"string"`
- }
- // String returns the string representation
- func (s DeliveryChannel) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeliveryChannel) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeliveryChannel) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeliveryChannel"}
- if s.Name != nil && len(*s.Name) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Name", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The status of a specified delivery channel.
- //
- // Valid values: Success | Failure
- type DeliveryChannelStatus struct {
- _ struct{} `type:"structure"`
- // A list that contains the status of the delivery of the configuration history
- // to the specified Amazon S3 bucket.
- ConfigHistoryDeliveryInfo *ConfigExportDeliveryInfo `locationName:"configHistoryDeliveryInfo" type:"structure"`
- // A list containing the status of the delivery of the snapshot to the specified
- // Amazon S3 bucket.
- ConfigSnapshotDeliveryInfo *ConfigExportDeliveryInfo `locationName:"configSnapshotDeliveryInfo" type:"structure"`
- // A list containing the status of the delivery of the configuration stream
- // notification to the specified Amazon SNS topic.
- ConfigStreamDeliveryInfo *ConfigStreamDeliveryInfo `locationName:"configStreamDeliveryInfo" type:"structure"`
- // The name of the delivery channel.
- Name *string `locationName:"name" type:"string"`
- }
- // String returns the string representation
- func (s DeliveryChannelStatus) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeliveryChannelStatus) GoString() string {
- return s.String()
- }
- type DescribeComplianceByConfigRuleInput struct {
- _ struct{} `type:"structure"`
- // Filters the results by compliance.
- //
- // The allowed values are COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA.
- ComplianceTypes []*string `type:"list"`
- // Specify one or more AWS Config rule names to filter the results by rule.
- ConfigRuleNames []*string `type:"list"`
- // The nextToken string returned on a previous page that you use to get the
- // next page of results in a paginated response.
- NextToken *string `type:"string"`
- }
- // String returns the string representation
- func (s DescribeComplianceByConfigRuleInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeComplianceByConfigRuleInput) GoString() string {
- return s.String()
- }
- type DescribeComplianceByConfigRuleOutput struct {
- _ struct{} `type:"structure"`
- // Indicates whether each of the specified AWS Config rules is compliant.
- ComplianceByConfigRules []*ComplianceByConfigRule `type:"list"`
- // The string that you use in a subsequent request to get the next page of results
- // in a paginated response.
- NextToken *string `type:"string"`
- }
- // String returns the string representation
- func (s DescribeComplianceByConfigRuleOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeComplianceByConfigRuleOutput) GoString() string {
- return s.String()
- }
- type DescribeComplianceByResourceInput struct {
- _ struct{} `type:"structure"`
- // Filters the results by compliance.
- //
- // The allowed values are COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA.
- ComplianceTypes []*string `type:"list"`
- // The maximum number of evaluation results returned on each page. The default
- // is 10. You cannot specify a limit greater than 100. If you specify 0, AWS
- // Config uses the default.
- Limit *int64 `type:"integer"`
- // The nextToken string returned on a previous page that you use to get the
- // next page of results in a paginated response.
- NextToken *string `type:"string"`
- // The ID of the AWS resource for which you want compliance information. You
- // can specify only one resource ID. If you specify a resource ID, you must
- // also specify a type for ResourceType.
- ResourceId *string `min:"1" type:"string"`
- // The types of AWS resources for which you want compliance information; for
- // example, AWS::EC2::Instance. For this action, you can specify that the resource
- // type is an AWS account by specifying AWS::::Account.
- ResourceType *string `min:"1" type:"string"`
- }
- // String returns the string representation
- func (s DescribeComplianceByResourceInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeComplianceByResourceInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeComplianceByResourceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeComplianceByResourceInput"}
- if s.ResourceId != nil && len(*s.ResourceId) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
- }
- if s.ResourceType != nil && len(*s.ResourceType) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type DescribeComplianceByResourceOutput struct {
- _ struct{} `type:"structure"`
- // Indicates whether the specified AWS resource complies with all of the AWS
- // Config rules that evaluate it.
- ComplianceByResources []*ComplianceByResource `type:"list"`
- // The string that you use in a subsequent request to get the next page of results
- // in a paginated response.
- NextToken *string `type:"string"`
- }
- // String returns the string representation
- func (s DescribeComplianceByResourceOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeComplianceByResourceOutput) GoString() string {
- return s.String()
- }
- type DescribeConfigRuleEvaluationStatusInput struct {
- _ struct{} `type:"structure"`
- // The name of the AWS managed Config rules for which you want status information.
- // If you do not specify any names, AWS Config returns status information for
- // all AWS managed Config rules that you use.
- ConfigRuleNames []*string `type:"list"`
- }
- // String returns the string representation
- func (s DescribeConfigRuleEvaluationStatusInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeConfigRuleEvaluationStatusInput) GoString() string {
- return s.String()
- }
- type DescribeConfigRuleEvaluationStatusOutput struct {
- _ struct{} `type:"structure"`
- // Status information about your AWS managed Config rules.
- ConfigRulesEvaluationStatus []*ConfigRuleEvaluationStatus `type:"list"`
- }
- // String returns the string representation
- func (s DescribeConfigRuleEvaluationStatusOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeConfigRuleEvaluationStatusOutput) GoString() string {
- return s.String()
- }
- type DescribeConfigRulesInput struct {
- _ struct{} `type:"structure"`
- // The names of the AWS Config rules for which you want details. If you do not
- // specify any names, AWS Config returns details for all your rules.
- ConfigRuleNames []*string `type:"list"`
- // The nextToken string returned on a previous page that you use to get the
- // next page of results in a paginated response.
- NextToken *string `type:"string"`
- }
- // String returns the string representation
- func (s DescribeConfigRulesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeConfigRulesInput) GoString() string {
- return s.String()
- }
- type DescribeConfigRulesOutput struct {
- _ struct{} `type:"structure"`
- // The details about your AWS Config rules.
- ConfigRules []*ConfigRule `type:"list"`
- // The string that you use in a subsequent request to get the next page of results
- // in a paginated response.
- NextToken *string `type:"string"`
- }
- // String returns the string representation
- func (s DescribeConfigRulesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeConfigRulesOutput) GoString() string {
- return s.String()
- }
- // The input for the DescribeConfigurationRecorderStatus action.
- type DescribeConfigurationRecorderStatusInput struct {
- _ struct{} `type:"structure"`
- // The name(s) of the configuration recorder. If the name is not specified,
- // the action returns the current status of all the configuration recorders
- // associated with the account.
- ConfigurationRecorderNames []*string `type:"list"`
- }
- // String returns the string representation
- func (s DescribeConfigurationRecorderStatusInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeConfigurationRecorderStatusInput) GoString() string {
- return s.String()
- }
- // The output for the DescribeConfigurationRecorderStatus action in JSON format.
- type DescribeConfigurationRecorderStatusOutput struct {
- _ struct{} `type:"structure"`
- // A list that contains status of the specified recorders.
- ConfigurationRecordersStatus []*ConfigurationRecorderStatus `type:"list"`
- }
- // String returns the string representation
- func (s DescribeConfigurationRecorderStatusOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeConfigurationRecorderStatusOutput) GoString() string {
- return s.String()
- }
- // The input for the DescribeConfigurationRecorders action.
- type DescribeConfigurationRecordersInput struct {
- _ struct{} `type:"structure"`
- // A list of configuration recorder names.
- ConfigurationRecorderNames []*string `type:"list"`
- }
- // String returns the string representation
- func (s DescribeConfigurationRecordersInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeConfigurationRecordersInput) GoString() string {
- return s.String()
- }
- // The output for the DescribeConfigurationRecorders action.
- type DescribeConfigurationRecordersOutput struct {
- _ struct{} `type:"structure"`
- // A list that contains the descriptions of the specified configuration recorders.
- ConfigurationRecorders []*ConfigurationRecorder `type:"list"`
- }
- // String returns the string representation
- func (s DescribeConfigurationRecordersOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeConfigurationRecordersOutput) GoString() string {
- return s.String()
- }
- // The input for the DeliveryChannelStatus action.
- type DescribeDeliveryChannelStatusInput struct {
- _ struct{} `type:"structure"`
- // A list of delivery channel names.
- DeliveryChannelNames []*string `type:"list"`
- }
- // String returns the string representation
- func (s DescribeDeliveryChannelStatusInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeDeliveryChannelStatusInput) GoString() string {
- return s.String()
- }
- // The output for the DescribeDeliveryChannelStatus action.
- type DescribeDeliveryChannelStatusOutput struct {
- _ struct{} `type:"structure"`
- // A list that contains the status of a specified delivery channel.
- DeliveryChannelsStatus []*DeliveryChannelStatus `type:"list"`
- }
- // String returns the string representation
- func (s DescribeDeliveryChannelStatusOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeDeliveryChannelStatusOutput) GoString() string {
- return s.String()
- }
- // The input for the DescribeDeliveryChannels action.
- type DescribeDeliveryChannelsInput struct {
- _ struct{} `type:"structure"`
- // A list of delivery channel names.
- DeliveryChannelNames []*string `type:"list"`
- }
- // String returns the string representation
- func (s DescribeDeliveryChannelsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeDeliveryChannelsInput) GoString() string {
- return s.String()
- }
- // The output for the DescribeDeliveryChannels action.
- type DescribeDeliveryChannelsOutput struct {
- _ struct{} `type:"structure"`
- // A list that contains the descriptions of the specified delivery channel.
- DeliveryChannels []*DeliveryChannel `type:"list"`
- }
- // String returns the string representation
- func (s DescribeDeliveryChannelsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeDeliveryChannelsOutput) GoString() string {
- return s.String()
- }
- // Identifies an AWS resource and indicates whether it complies with the AWS
- // Config rule that it was evaluated against.
- type Evaluation struct {
- _ struct{} `type:"structure"`
- // Supplementary information about how the evaluation determined the compliance.
- Annotation *string `min:"1" type:"string"`
- // The ID of the AWS resource that was evaluated.
- //
- // ComplianceResourceId is a required field
- ComplianceResourceId *string `min:"1" type:"string" required:"true"`
- // The type of AWS resource that was evaluated.
- //
- // ComplianceResourceType is a required field
- ComplianceResourceType *string `min:"1" type:"string" required:"true"`
- // Indicates whether the AWS resource complies with the AWS Config rule that
- // it was evaluated against.
- //
- // For the Evaluation data type, AWS Config supports only the COMPLIANT, NON_COMPLIANT,
- // and NOT_APPLICABLE values. AWS Config does not support the INSUFFICIENT_DATA
- // value for this data type.
- //
- // Similarly, AWS Config does not accept INSUFFICIENT_DATA as the value for
- // ComplianceType from a PutEvaluations request. For example, an AWS Lambda
- // function for a custom Config rule cannot pass an INSUFFICIENT_DATA value
- // to AWS Config.
- //
- // ComplianceType is a required field
- ComplianceType *string `type:"string" required:"true" enum:"ComplianceType"`
- // The time of the event in AWS Config that triggered the evaluation. For event-based
- // evaluations, the time indicates when AWS Config created the configuration
- // item that triggered the evaluation. For periodic evaluations, the time indicates
- // when AWS Config delivered the configuration snapshot that triggered the evaluation.
- //
- // OrderingTimestamp is a required field
- OrderingTimestamp *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"`
- }
- // String returns the string representation
- func (s Evaluation) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Evaluation) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Evaluation) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Evaluation"}
- if s.Annotation != nil && len(*s.Annotation) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("Annotation", 1))
- }
- if s.ComplianceResourceId == nil {
- invalidParams.Add(request.NewErrParamRequired("ComplianceResourceId"))
- }
- if s.ComplianceResourceId != nil && len(*s.ComplianceResourceId) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ComplianceResourceId", 1))
- }
- if s.ComplianceResourceType == nil {
- invalidParams.Add(request.NewErrParamRequired("ComplianceResourceType"))
- }
- if s.ComplianceResourceType != nil && len(*s.ComplianceResourceType) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ComplianceResourceType", 1))
- }
- if s.ComplianceType == nil {
- invalidParams.Add(request.NewErrParamRequired("ComplianceType"))
- }
- if s.OrderingTimestamp == nil {
- invalidParams.Add(request.NewErrParamRequired("OrderingTimestamp"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The details of an AWS Config evaluation. Provides the AWS resource that was
- // evaluated, the compliance of the resource, related timestamps, and supplementary
- // information.
- type EvaluationResult struct {
- _ struct{} `type:"structure"`
- // Supplementary information about how the evaluation determined the compliance.
- Annotation *string `min:"1" type:"string"`
- // Indicates whether the AWS resource complies with the AWS Config rule that
- // evaluated it.
- //
- // For the EvaluationResult data type, AWS Config supports only the COMPLIANT,
- // NON_COMPLIANT, and NOT_APPLICABLE values. AWS Config does not support the
- // INSUFFICIENT_DATA value for the EvaluationResult data type.
- ComplianceType *string `type:"string" enum:"ComplianceType"`
- // The time when the AWS Config rule evaluated the AWS resource.
- ConfigRuleInvokedTime *time.Time `type:"timestamp" timestampFormat:"unix"`
- // Uniquely identifies the evaluation result.
- EvaluationResultIdentifier *EvaluationResultIdentifier `type:"structure"`
- // The time when AWS Config recorded the evaluation result.
- ResultRecordedTime *time.Time `type:"timestamp" timestampFormat:"unix"`
- // An encrypted token that associates an evaluation with an AWS Config rule.
- // The token identifies the rule, the AWS resource being evaluated, and the
- // event that triggered the evaluation.
- ResultToken *string `type:"string"`
- }
- // String returns the string representation
- func (s EvaluationResult) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s EvaluationResult) GoString() string {
- return s.String()
- }
- // Uniquely identifies an evaluation result.
- type EvaluationResultIdentifier struct {
- _ struct{} `type:"structure"`
- // Identifies an AWS Config rule used to evaluate an AWS resource, and provides
- // the type and ID of the evaluated resource.
- EvaluationResultQualifier *EvaluationResultQualifier `type:"structure"`
- // The time of the event that triggered the evaluation of your AWS resources.
- // The time can indicate when AWS Config delivered a configuration item change
- // notification, or it can indicate when AWS Config delivered the configuration
- // snapshot, depending on which event triggered the evaluation.
- OrderingTimestamp *time.Time `type:"timestamp" timestampFormat:"unix"`
- }
- // String returns the string representation
- func (s EvaluationResultIdentifier) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s EvaluationResultIdentifier) GoString() string {
- return s.String()
- }
- // Identifies an AWS Config rule that evaluated an AWS resource, and provides
- // the type and ID of the resource that the rule evaluated.
- type EvaluationResultQualifier struct {
- _ struct{} `type:"structure"`
- // The name of the AWS Config rule that was used in the evaluation.
- ConfigRuleName *string `min:"1" type:"string"`
- // The ID of the evaluated AWS resource.
- ResourceId *string `min:"1" type:"string"`
- // The type of AWS resource that was evaluated.
- ResourceType *string `min:"1" type:"string"`
- }
- // String returns the string representation
- func (s EvaluationResultQualifier) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s EvaluationResultQualifier) GoString() string {
- return s.String()
- }
- type GetComplianceDetailsByConfigRuleInput struct {
- _ struct{} `type:"structure"`
- // Filters the results by compliance.
- //
- // The allowed values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.
- ComplianceTypes []*string `type:"list"`
- // The name of the AWS Config rule for which you want compliance information.
- //
- // ConfigRuleName is a required field
- ConfigRuleName *string `min:"1" type:"string" required:"true"`
- // The maximum number of evaluation results returned on each page. The default
- // is 10. You cannot specify a limit greater than 100. If you specify 0, AWS
- // Config uses the default.
- Limit *int64 `type:"integer"`
- // The nextToken string returned on a previous page that you use to get the
- // next page of results in a paginated response.
- NextToken *string `type:"string"`
- }
- // String returns the string representation
- func (s GetComplianceDetailsByConfigRuleInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetComplianceDetailsByConfigRuleInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *GetComplianceDetailsByConfigRuleInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetComplianceDetailsByConfigRuleInput"}
- if s.ConfigRuleName == nil {
- invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
- }
- if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type GetComplianceDetailsByConfigRuleOutput struct {
- _ struct{} `type:"structure"`
- // Indicates whether the AWS resource complies with the specified AWS Config
- // rule.
- EvaluationResults []*EvaluationResult `type:"list"`
- // The string that you use in a subsequent request to get the next page of results
- // in a paginated response.
- NextToken *string `type:"string"`
- }
- // String returns the string representation
- func (s GetComplianceDetailsByConfigRuleOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetComplianceDetailsByConfigRuleOutput) GoString() string {
- return s.String()
- }
- type GetComplianceDetailsByResourceInput struct {
- _ struct{} `type:"structure"`
- // Filters the results by compliance.
- //
- // The allowed values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.
- ComplianceTypes []*string `type:"list"`
- // The nextToken string returned on a previous page that you use to get the
- // next page of results in a paginated response.
- NextToken *string `type:"string"`
- // The ID of the AWS resource for which you want compliance information.
- //
- // ResourceId is a required field
- ResourceId *string `min:"1" type:"string" required:"true"`
- // The type of the AWS resource for which you want compliance information.
- //
- // ResourceType is a required field
- ResourceType *string `min:"1" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s GetComplianceDetailsByResourceInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetComplianceDetailsByResourceInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *GetComplianceDetailsByResourceInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetComplianceDetailsByResourceInput"}
- if s.ResourceId == nil {
- invalidParams.Add(request.NewErrParamRequired("ResourceId"))
- }
- if s.ResourceId != nil && len(*s.ResourceId) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
- }
- if s.ResourceType == nil {
- invalidParams.Add(request.NewErrParamRequired("ResourceType"))
- }
- if s.ResourceType != nil && len(*s.ResourceType) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type GetComplianceDetailsByResourceOutput struct {
- _ struct{} `type:"structure"`
- // Indicates whether the specified AWS resource complies each AWS Config rule.
- EvaluationResults []*EvaluationResult `type:"list"`
- // The string that you use in a subsequent request to get the next page of results
- // in a paginated response.
- NextToken *string `type:"string"`
- }
- // String returns the string representation
- func (s GetComplianceDetailsByResourceOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetComplianceDetailsByResourceOutput) GoString() string {
- return s.String()
- }
- type GetComplianceSummaryByConfigRuleInput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s GetComplianceSummaryByConfigRuleInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetComplianceSummaryByConfigRuleInput) GoString() string {
- return s.String()
- }
- type GetComplianceSummaryByConfigRuleOutput struct {
- _ struct{} `type:"structure"`
- // The number of AWS Config rules that are compliant and the number that are
- // noncompliant, up to a maximum of 25 for each.
- ComplianceSummary *ComplianceSummary `type:"structure"`
- }
- // String returns the string representation
- func (s GetComplianceSummaryByConfigRuleOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetComplianceSummaryByConfigRuleOutput) GoString() string {
- return s.String()
- }
- type GetComplianceSummaryByResourceTypeInput struct {
- _ struct{} `type:"structure"`
- // Specify one or more resource types to get the number of resources that are
- // compliant and the number that are noncompliant for each resource type.
- //
- // For this request, you can specify an AWS resource type such as AWS::EC2::Instance,
- // and you can specify that the resource type is an AWS account by specifying
- // AWS::::Account.
- ResourceTypes []*string `type:"list"`
- }
- // String returns the string representation
- func (s GetComplianceSummaryByResourceTypeInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetComplianceSummaryByResourceTypeInput) GoString() string {
- return s.String()
- }
- type GetComplianceSummaryByResourceTypeOutput struct {
- _ struct{} `type:"structure"`
- // The number of resources that are compliant and the number that are noncompliant.
- // If one or more resource types were provided with the request, the numbers
- // are returned for each resource type. The maximum number returned is 100.
- ComplianceSummariesByResourceType []*ComplianceSummaryByResourceType `type:"list"`
- }
- // String returns the string representation
- func (s GetComplianceSummaryByResourceTypeOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetComplianceSummaryByResourceTypeOutput) GoString() string {
- return s.String()
- }
- // The input for the GetResourceConfigHistory action.
- type GetResourceConfigHistoryInput struct {
- _ struct{} `type:"structure"`
- // The chronological order for configuration items listed. By default the results
- // are listed in reverse chronological order.
- ChronologicalOrder *string `locationName:"chronologicalOrder" type:"string" enum:"ChronologicalOrder"`
- // The time stamp that indicates an earlier time. If not specified, the action
- // returns paginated results that contain configuration items that start from
- // when the first configuration item was recorded.
- EarlierTime *time.Time `locationName:"earlierTime" type:"timestamp" timestampFormat:"unix"`
- // The time stamp that indicates a later time. If not specified, current time
- // is taken.
- LaterTime *time.Time `locationName:"laterTime" type:"timestamp" timestampFormat:"unix"`
- // The maximum number of configuration items returned on each page. The default
- // is 10. You cannot specify a limit greater than 100. If you specify 0, AWS
- // Config uses the default.
- Limit *int64 `locationName:"limit" type:"integer"`
- // The nextToken string returned on a previous page that you use to get the
- // next page of results in a paginated response.
- NextToken *string `locationName:"nextToken" type:"string"`
- // The ID of the resource (for example., sg-xxxxxx).
- //
- // ResourceId is a required field
- ResourceId *string `locationName:"resourceId" type:"string" required:"true"`
- // The resource type.
- //
- // ResourceType is a required field
- ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"`
- }
- // String returns the string representation
- func (s GetResourceConfigHistoryInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetResourceConfigHistoryInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *GetResourceConfigHistoryInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetResourceConfigHistoryInput"}
- if s.ResourceId == nil {
- invalidParams.Add(request.NewErrParamRequired("ResourceId"))
- }
- if s.ResourceType == nil {
- invalidParams.Add(request.NewErrParamRequired("ResourceType"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The output for the GetResourceConfigHistory action.
- type GetResourceConfigHistoryOutput struct {
- _ struct{} `type:"structure"`
- // A list that contains the configuration history of one or more resources.
- ConfigurationItems []*ConfigurationItem `locationName:"configurationItems" type:"list"`
- // The string that you use in a subsequent request to get the next page of results
- // in a paginated response.
- NextToken *string `locationName:"nextToken" type:"string"`
- }
- // String returns the string representation
- func (s GetResourceConfigHistoryOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetResourceConfigHistoryOutput) GoString() string {
- return s.String()
- }
- type ListDiscoveredResourcesInput struct {
- _ struct{} `type:"structure"`
- // Specifies whether AWS Config includes deleted resources in the results. By
- // default, deleted resources are not included.
- IncludeDeletedResources *bool `locationName:"includeDeletedResources" type:"boolean"`
- // The maximum number of resource identifiers returned on each page. The default
- // is 100. You cannot specify a limit greater than 100. If you specify 0, AWS
- // Config uses the default.
- Limit *int64 `locationName:"limit" type:"integer"`
- // The nextToken string returned on a previous page that you use to get the
- // next page of results in a paginated response.
- NextToken *string `locationName:"nextToken" type:"string"`
- // The IDs of only those resources that you want AWS Config to list in the response.
- // If you do not specify this parameter, AWS Config lists all resources of the
- // specified type that it has discovered.
- ResourceIds []*string `locationName:"resourceIds" type:"list"`
- // The custom name of only those resources that you want AWS Config to list
- // in the response. If you do not specify this parameter, AWS Config lists all
- // resources of the specified type that it has discovered.
- ResourceName *string `locationName:"resourceName" type:"string"`
- // The type of resources that you want AWS Config to list in the response.
- //
- // ResourceType is a required field
- ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"`
- }
- // String returns the string representation
- func (s ListDiscoveredResourcesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListDiscoveredResourcesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListDiscoveredResourcesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListDiscoveredResourcesInput"}
- if s.ResourceType == nil {
- invalidParams.Add(request.NewErrParamRequired("ResourceType"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type ListDiscoveredResourcesOutput struct {
- _ struct{} `type:"structure"`
- // The string that you use in a subsequent request to get the next page of results
- // in a paginated response.
- NextToken *string `locationName:"nextToken" type:"string"`
- // The details that identify a resource that is discovered by AWS Config, including
- // the resource type, ID, and (if available) the custom resource name.
- ResourceIdentifiers []*ResourceIdentifier `locationName:"resourceIdentifiers" type:"list"`
- }
- // String returns the string representation
- func (s ListDiscoveredResourcesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListDiscoveredResourcesOutput) GoString() string {
- return s.String()
- }
- type PutConfigRuleInput struct {
- _ struct{} `type:"structure"`
- // An AWS Config rule represents an AWS Lambda function that you create for
- // a custom rule or a predefined function for an AWS managed rule. The function
- // evaluates configuration items to assess whether your AWS resources comply
- // with your desired configurations. This function can run when AWS Config detects
- // a configuration change to an AWS resource and at a periodic frequency that
- // you choose (for example, every 24 hours).
- //
- // You can use the AWS CLI and AWS SDKs if you want to create a rule that triggers
- // evaluations for your resources when AWS Config delivers the configuration
- // snapshot. For more information, see ConfigSnapshotDeliveryProperties.
- //
- // For more information about developing and using AWS Config rules, see Evaluating
- // AWS Resource Configurations with AWS Config (http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html)
- // in the AWS Config Developer Guide.
- //
- // ConfigRule is a required field
- ConfigRule *ConfigRule `type:"structure" required:"true"`
- }
- // String returns the string representation
- func (s PutConfigRuleInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s PutConfigRuleInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *PutConfigRuleInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "PutConfigRuleInput"}
- if s.ConfigRule == nil {
- invalidParams.Add(request.NewErrParamRequired("ConfigRule"))
- }
- if s.ConfigRule != nil {
- if err := s.ConfigRule.Validate(); err != nil {
- invalidParams.AddNested("ConfigRule", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type PutConfigRuleOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s PutConfigRuleOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s PutConfigRuleOutput) GoString() string {
- return s.String()
- }
- // The input for the PutConfigurationRecorder action.
- type PutConfigurationRecorderInput struct {
- _ struct{} `type:"structure"`
- // The configuration recorder object that records each configuration change
- // made to the resources.
- //
- // ConfigurationRecorder is a required field
- ConfigurationRecorder *ConfigurationRecorder `type:"structure" required:"true"`
- }
- // String returns the string representation
- func (s PutConfigurationRecorderInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s PutConfigurationRecorderInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *PutConfigurationRecorderInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "PutConfigurationRecorderInput"}
- if s.ConfigurationRecorder == nil {
- invalidParams.Add(request.NewErrParamRequired("ConfigurationRecorder"))
- }
- if s.ConfigurationRecorder != nil {
- if err := s.ConfigurationRecorder.Validate(); err != nil {
- invalidParams.AddNested("ConfigurationRecorder", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type PutConfigurationRecorderOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s PutConfigurationRecorderOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s PutConfigurationRecorderOutput) GoString() string {
- return s.String()
- }
- // The input for the PutDeliveryChannel action.
- type PutDeliveryChannelInput struct {
- _ struct{} `type:"structure"`
- // The configuration delivery channel object that delivers the configuration
- // information to an Amazon S3 bucket, and to an Amazon SNS topic.
- //
- // DeliveryChannel is a required field
- DeliveryChannel *DeliveryChannel `type:"structure" required:"true"`
- }
- // String returns the string representation
- func (s PutDeliveryChannelInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s PutDeliveryChannelInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *PutDeliveryChannelInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "PutDeliveryChannelInput"}
- if s.DeliveryChannel == nil {
- invalidParams.Add(request.NewErrParamRequired("DeliveryChannel"))
- }
- if s.DeliveryChannel != nil {
- if err := s.DeliveryChannel.Validate(); err != nil {
- invalidParams.AddNested("DeliveryChannel", err.(request.ErrInvalidParams))
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type PutDeliveryChannelOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s PutDeliveryChannelOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s PutDeliveryChannelOutput) GoString() string {
- return s.String()
- }
- type PutEvaluationsInput struct {
- _ struct{} `type:"structure"`
- // The assessments that the AWS Lambda function performs. Each evaluation identifies
- // an AWS resource and indicates whether it complies with the AWS Config rule
- // that invokes the AWS Lambda function.
- Evaluations []*Evaluation `type:"list"`
- // An encrypted token that associates an evaluation with an AWS Config rule.
- // Identifies the rule and the event that triggered the evaluation
- //
- // ResultToken is a required field
- ResultToken *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s PutEvaluationsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s PutEvaluationsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *PutEvaluationsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "PutEvaluationsInput"}
- if s.ResultToken == nil {
- invalidParams.Add(request.NewErrParamRequired("ResultToken"))
- }
- if s.Evaluations != nil {
- for i, v := range s.Evaluations {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Evaluations", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type PutEvaluationsOutput struct {
- _ struct{} `type:"structure"`
- // Requests that failed because of a client or server error.
- FailedEvaluations []*Evaluation `type:"list"`
- }
- // String returns the string representation
- func (s PutEvaluationsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s PutEvaluationsOutput) GoString() string {
- return s.String()
- }
- // Specifies the types of AWS resource for which AWS Config records configuration
- // changes.
- //
- // In the recording group, you specify whether all supported types or specific
- // types of resources are recorded.
- //
- // By default, AWS Config records configuration changes for all supported types
- // of regional resources that AWS Config discovers in the region in which it
- // is running. Regional resources are tied to a region and can be used only
- // in that region. Examples of regional resources are EC2 instances and EBS
- // volumes.
- //
- // You can also have AWS Config record configuration changes for supported types
- // of global resources (for example, IAM resources). Global resources are not
- // tied to an individual region and can be used in all regions.
- //
- // The configuration details for any global resource are the same in all regions.
- // If you customize AWS Config in multiple regions to record global resources,
- // it will create multiple configuration items each time a global resource changes:
- // one configuration item for each region. These configuration items will contain
- // identical data. To prevent duplicate configuration items, you should consider
- // customizing AWS Config in only one region to record global resources, unless
- // you want the configuration items to be available in multiple regions.
- //
- // If you don't want AWS Config to record all resources, you can specify which
- // types of resources it will record with the resourceTypes parameter.
- //
- // For a list of supported resource types, see Supported resource types (http://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources).
- //
- // For more information, see Selecting Which Resources AWS Config Records (http://docs.aws.amazon.com/config/latest/developerguide/select-resources.html).
- type RecordingGroup struct {
- _ struct{} `type:"structure"`
- // Specifies whether AWS Config records configuration changes for every supported
- // type of regional resource.
- //
- // If you set this option to true, when AWS Config adds support for a new type
- // of regional resource, it automatically starts recording resources of that
- // type.
- //
- // If you set this option to true, you cannot enumerate a list of resourceTypes.
- AllSupported *bool `locationName:"allSupported" type:"boolean"`
- // Specifies whether AWS Config includes all supported types of global resources
- // (for example, IAM resources) with the resources that it records.
- //
- // Before you can set this option to true, you must set the allSupported option
- // to true.
- //
- // If you set this option to true, when AWS Config adds support for a new type
- // of global resource, it automatically starts recording resources of that type.
- //
- // The configuration details for any global resource are the same in all regions.
- // To prevent duplicate configuration items, you should consider customizing
- // AWS Config in only one region to record global resources.
- IncludeGlobalResourceTypes *bool `locationName:"includeGlobalResourceTypes" type:"boolean"`
- // A comma-separated list that specifies the types of AWS resources for which
- // AWS Config records configuration changes (for example, AWS::EC2::Instance
- // or AWS::CloudTrail::Trail).
- //
- // Before you can set this option to true, you must set the allSupported option
- // to false.
- //
- // If you set this option to true, when AWS Config adds support for a new type
- // of resource, it will not record resources of that type unless you manually
- // add that type to your recording group.
- //
- // For a list of valid resourceTypes values, see the resourceType Value column
- // in Supported AWS Resource Types (http://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources).
- ResourceTypes []*string `locationName:"resourceTypes" type:"list"`
- }
- // String returns the string representation
- func (s RecordingGroup) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s RecordingGroup) GoString() string {
- return s.String()
- }
- // The relationship of the related resource to the main resource.
- type Relationship struct {
- _ struct{} `type:"structure"`
- // The type of relationship with the related resource.
- RelationshipName *string `locationName:"relationshipName" type:"string"`
- // The ID of the related resource (for example, sg-xxxxxx).
- ResourceId *string `locationName:"resourceId" type:"string"`
- // The custom name of the related resource, if available.
- ResourceName *string `locationName:"resourceName" type:"string"`
- // The resource type of the related resource.
- ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
- }
- // String returns the string representation
- func (s Relationship) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Relationship) GoString() string {
- return s.String()
- }
- // The details that identify a resource that is discovered by AWS Config, including
- // the resource type, ID, and (if available) the custom resource name.
- type ResourceIdentifier struct {
- _ struct{} `type:"structure"`
- // The time that the resource was deleted.
- ResourceDeletionTime *time.Time `locationName:"resourceDeletionTime" type:"timestamp" timestampFormat:"unix"`
- // The ID of the resource (for example., sg-xxxxxx).
- ResourceId *string `locationName:"resourceId" type:"string"`
- // The custom name of the resource (if available).
- ResourceName *string `locationName:"resourceName" type:"string"`
- // The type of resource.
- ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
- }
- // String returns the string representation
- func (s ResourceIdentifier) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ResourceIdentifier) GoString() string {
- return s.String()
- }
- // Defines which resources trigger an evaluation for an AWS Config rule. The
- // scope can include one or more resource types, a combination of a tag key
- // and value, or a combination of one resource type and one resource ID. Specify
- // a scope to constrain which resources trigger an evaluation for a rule. Otherwise,
- // evaluations for the rule are triggered when any resource in your recording
- // group changes in configuration.
- type Scope struct {
- _ struct{} `type:"structure"`
- // The IDs of the only AWS resource that you want to trigger an evaluation for
- // the rule. If you specify a resource ID, you must specify one resource type
- // for ComplianceResourceTypes.
- ComplianceResourceId *string `min:"1" type:"string"`
- // The resource types of only those AWS resources that you want to trigger an
- // evaluation for the rule. You can only specify one type if you also specify
- // a resource ID for ComplianceResourceId.
- ComplianceResourceTypes []*string `type:"list"`
- // The tag key that is applied to only those AWS resources that you want you
- // want to trigger an evaluation for the rule.
- TagKey *string `min:"1" type:"string"`
- // The tag value applied to only those AWS resources that you want to trigger
- // an evaluation for the rule. If you specify a value for TagValue, you must
- // also specify a value for TagKey.
- TagValue *string `min:"1" type:"string"`
- }
- // String returns the string representation
- func (s Scope) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Scope) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Scope) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Scope"}
- if s.ComplianceResourceId != nil && len(*s.ComplianceResourceId) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ComplianceResourceId", 1))
- }
- if s.TagKey != nil && len(*s.TagKey) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("TagKey", 1))
- }
- if s.TagValue != nil && len(*s.TagValue) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("TagValue", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // Provides the AWS Config rule owner (AWS or customer), the rule identifier,
- // and the events that trigger the evaluation of your AWS resources.
- type Source struct {
- _ struct{} `type:"structure"`
- // Indicates whether AWS or the customer owns and manages the AWS Config rule.
- Owner *string `type:"string" enum:"Owner"`
- // Provides the source and type of the event that causes AWS Config to evaluate
- // your AWS resources.
- SourceDetails []*SourceDetail `type:"list"`
- // For AWS Config managed rules, a predefined identifier from a list. For example,
- // IAM_PASSWORD_POLICY is a managed rule. To reference a managed rule, see Using
- // AWS Managed Config Rules (http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).
- //
- // For custom rules, the identifier is the Amazon Resource Name (ARN) of the
- // rule's AWS Lambda function, such as arn:aws:lambda:us-east-1:123456789012:function:custom_rule_name.
- SourceIdentifier *string `min:"1" type:"string"`
- }
- // String returns the string representation
- func (s Source) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Source) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *Source) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "Source"}
- if s.SourceIdentifier != nil && len(*s.SourceIdentifier) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("SourceIdentifier", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // Provides the source and the message types that trigger AWS Config to evaluate
- // your AWS resources against a rule. It also provides the frequency with which
- // you want AWS Config to run evaluations for the rule if the trigger type is
- // periodic. You can specify the parameter values for SourceDetail only for
- // custom rules.
- type SourceDetail struct {
- _ struct{} `type:"structure"`
- // The source of the event, such as an AWS service, that triggers AWS Config
- // to evaluate your AWS resources.
- EventSource *string `type:"string" enum:"EventSource"`
- // The frequency that you want AWS Config to run evaluations for a rule that
- // is triggered periodically. If you specify a value for MaximumExecutionFrequency,
- // then MessageType must use the ScheduledNotification value.
- MaximumExecutionFrequency *string `type:"string" enum:"MaximumExecutionFrequency"`
- // The type of notification that triggers AWS Config to run an evaluation. You
- // can specify the following notification types:
- //
- // ConfigurationItemChangeNotification - Triggers an evaluation when AWS Config
- // delivers a configuration item change notification.
- //
- // ScheduledNotification - Triggers a periodic evaluation at the frequency specified
- // for MaximumExecutionFrequency.
- //
- // ConfigurationSnapshotDeliveryCompleted - Triggers a periodic evaluation when
- // AWS Config delivers a configuration snapshot.
- MessageType *string `type:"string" enum:"MessageType"`
- }
- // String returns the string representation
- func (s SourceDetail) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SourceDetail) GoString() string {
- return s.String()
- }
- type StartConfigRulesEvaluationInput struct {
- _ struct{} `type:"structure"`
- // The list of names of Config rules that you want to run evaluations for.
- ConfigRuleNames []*string `min:"1" type:"list"`
- }
- // String returns the string representation
- func (s StartConfigRulesEvaluationInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s StartConfigRulesEvaluationInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *StartConfigRulesEvaluationInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "StartConfigRulesEvaluationInput"}
- if s.ConfigRuleNames != nil && len(s.ConfigRuleNames) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ConfigRuleNames", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The output when you start the evaluation for the specified Config rule.
- type StartConfigRulesEvaluationOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s StartConfigRulesEvaluationOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s StartConfigRulesEvaluationOutput) GoString() string {
- return s.String()
- }
- // The input for the StartConfigurationRecorder action.
- type StartConfigurationRecorderInput struct {
- _ struct{} `type:"structure"`
- // The name of the recorder object that records each configuration change made
- // to the resources.
- //
- // ConfigurationRecorderName is a required field
- ConfigurationRecorderName *string `min:"1" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s StartConfigurationRecorderInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s StartConfigurationRecorderInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *StartConfigurationRecorderInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "StartConfigurationRecorderInput"}
- if s.ConfigurationRecorderName == nil {
- invalidParams.Add(request.NewErrParamRequired("ConfigurationRecorderName"))
- }
- if s.ConfigurationRecorderName != nil && len(*s.ConfigurationRecorderName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ConfigurationRecorderName", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type StartConfigurationRecorderOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s StartConfigurationRecorderOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s StartConfigurationRecorderOutput) GoString() string {
- return s.String()
- }
- // The input for the StopConfigurationRecorder action.
- type StopConfigurationRecorderInput struct {
- _ struct{} `type:"structure"`
- // The name of the recorder object that records each configuration change made
- // to the resources.
- //
- // ConfigurationRecorderName is a required field
- ConfigurationRecorderName *string `min:"1" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s StopConfigurationRecorderInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s StopConfigurationRecorderInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *StopConfigurationRecorderInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "StopConfigurationRecorderInput"}
- if s.ConfigurationRecorderName == nil {
- invalidParams.Add(request.NewErrParamRequired("ConfigurationRecorderName"))
- }
- if s.ConfigurationRecorderName != nil && len(*s.ConfigurationRecorderName) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ConfigurationRecorderName", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type StopConfigurationRecorderOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s StopConfigurationRecorderOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s StopConfigurationRecorderOutput) GoString() string {
- return s.String()
- }
- const (
- // ChronologicalOrderReverse is a ChronologicalOrder enum value
- ChronologicalOrderReverse = "Reverse"
- // ChronologicalOrderForward is a ChronologicalOrder enum value
- ChronologicalOrderForward = "Forward"
- )
- const (
- // ComplianceTypeCompliant is a ComplianceType enum value
- ComplianceTypeCompliant = "COMPLIANT"
- // ComplianceTypeNonCompliant is a ComplianceType enum value
- ComplianceTypeNonCompliant = "NON_COMPLIANT"
- // ComplianceTypeNotApplicable is a ComplianceType enum value
- ComplianceTypeNotApplicable = "NOT_APPLICABLE"
- // ComplianceTypeInsufficientData is a ComplianceType enum value
- ComplianceTypeInsufficientData = "INSUFFICIENT_DATA"
- )
- const (
- // ConfigRuleStateActive is a ConfigRuleState enum value
- ConfigRuleStateActive = "ACTIVE"
- // ConfigRuleStateDeleting is a ConfigRuleState enum value
- ConfigRuleStateDeleting = "DELETING"
- // ConfigRuleStateDeletingResults is a ConfigRuleState enum value
- ConfigRuleStateDeletingResults = "DELETING_RESULTS"
- // ConfigRuleStateEvaluating is a ConfigRuleState enum value
- ConfigRuleStateEvaluating = "EVALUATING"
- )
- const (
- // ConfigurationItemStatusOk is a ConfigurationItemStatus enum value
- ConfigurationItemStatusOk = "Ok"
- // ConfigurationItemStatusFailed is a ConfigurationItemStatus enum value
- ConfigurationItemStatusFailed = "Failed"
- // ConfigurationItemStatusDiscovered is a ConfigurationItemStatus enum value
- ConfigurationItemStatusDiscovered = "Discovered"
- // ConfigurationItemStatusDeleted is a ConfigurationItemStatus enum value
- ConfigurationItemStatusDeleted = "Deleted"
- )
- const (
- // DeliveryStatusSuccess is a DeliveryStatus enum value
- DeliveryStatusSuccess = "Success"
- // DeliveryStatusFailure is a DeliveryStatus enum value
- DeliveryStatusFailure = "Failure"
- // DeliveryStatusNotApplicable is a DeliveryStatus enum value
- DeliveryStatusNotApplicable = "Not_Applicable"
- )
- const (
- // EventSourceAwsConfig is a EventSource enum value
- EventSourceAwsConfig = "aws.config"
- )
- const (
- // MaximumExecutionFrequencyOneHour is a MaximumExecutionFrequency enum value
- MaximumExecutionFrequencyOneHour = "One_Hour"
- // MaximumExecutionFrequencyThreeHours is a MaximumExecutionFrequency enum value
- MaximumExecutionFrequencyThreeHours = "Three_Hours"
- // MaximumExecutionFrequencySixHours is a MaximumExecutionFrequency enum value
- MaximumExecutionFrequencySixHours = "Six_Hours"
- // MaximumExecutionFrequencyTwelveHours is a MaximumExecutionFrequency enum value
- MaximumExecutionFrequencyTwelveHours = "Twelve_Hours"
- // MaximumExecutionFrequencyTwentyFourHours is a MaximumExecutionFrequency enum value
- MaximumExecutionFrequencyTwentyFourHours = "TwentyFour_Hours"
- )
- const (
- // MessageTypeConfigurationItemChangeNotification is a MessageType enum value
- MessageTypeConfigurationItemChangeNotification = "ConfigurationItemChangeNotification"
- // MessageTypeConfigurationSnapshotDeliveryCompleted is a MessageType enum value
- MessageTypeConfigurationSnapshotDeliveryCompleted = "ConfigurationSnapshotDeliveryCompleted"
- // MessageTypeScheduledNotification is a MessageType enum value
- MessageTypeScheduledNotification = "ScheduledNotification"
- )
- const (
- // OwnerCustomLambda is a Owner enum value
- OwnerCustomLambda = "CUSTOM_LAMBDA"
- // OwnerAws is a Owner enum value
- OwnerAws = "AWS"
- )
- const (
- // RecorderStatusPending is a RecorderStatus enum value
- RecorderStatusPending = "Pending"
- // RecorderStatusSuccess is a RecorderStatus enum value
- RecorderStatusSuccess = "Success"
- // RecorderStatusFailure is a RecorderStatus enum value
- RecorderStatusFailure = "Failure"
- )
- const (
- // ResourceTypeAwsEc2CustomerGateway is a ResourceType enum value
- ResourceTypeAwsEc2CustomerGateway = "AWS::EC2::CustomerGateway"
- // ResourceTypeAwsEc2Eip is a ResourceType enum value
- ResourceTypeAwsEc2Eip = "AWS::EC2::EIP"
- // ResourceTypeAwsEc2Host is a ResourceType enum value
- ResourceTypeAwsEc2Host = "AWS::EC2::Host"
- // ResourceTypeAwsEc2Instance is a ResourceType enum value
- ResourceTypeAwsEc2Instance = "AWS::EC2::Instance"
- // ResourceTypeAwsEc2InternetGateway is a ResourceType enum value
- ResourceTypeAwsEc2InternetGateway = "AWS::EC2::InternetGateway"
- // ResourceTypeAwsEc2NetworkAcl is a ResourceType enum value
- ResourceTypeAwsEc2NetworkAcl = "AWS::EC2::NetworkAcl"
- // ResourceTypeAwsEc2NetworkInterface is a ResourceType enum value
- ResourceTypeAwsEc2NetworkInterface = "AWS::EC2::NetworkInterface"
- // ResourceTypeAwsEc2RouteTable is a ResourceType enum value
- ResourceTypeAwsEc2RouteTable = "AWS::EC2::RouteTable"
- // ResourceTypeAwsEc2SecurityGroup is a ResourceType enum value
- ResourceTypeAwsEc2SecurityGroup = "AWS::EC2::SecurityGroup"
- // ResourceTypeAwsEc2Subnet is a ResourceType enum value
- ResourceTypeAwsEc2Subnet = "AWS::EC2::Subnet"
- // ResourceTypeAwsCloudTrailTrail is a ResourceType enum value
- ResourceTypeAwsCloudTrailTrail = "AWS::CloudTrail::Trail"
- // ResourceTypeAwsEc2Volume is a ResourceType enum value
- ResourceTypeAwsEc2Volume = "AWS::EC2::Volume"
- // ResourceTypeAwsEc2Vpc is a ResourceType enum value
- ResourceTypeAwsEc2Vpc = "AWS::EC2::VPC"
- // ResourceTypeAwsEc2Vpnconnection is a ResourceType enum value
- ResourceTypeAwsEc2Vpnconnection = "AWS::EC2::VPNConnection"
- // ResourceTypeAwsEc2Vpngateway is a ResourceType enum value
- ResourceTypeAwsEc2Vpngateway = "AWS::EC2::VPNGateway"
- // ResourceTypeAwsIamGroup is a ResourceType enum value
- ResourceTypeAwsIamGroup = "AWS::IAM::Group"
- // ResourceTypeAwsIamPolicy is a ResourceType enum value
- ResourceTypeAwsIamPolicy = "AWS::IAM::Policy"
- // ResourceTypeAwsIamRole is a ResourceType enum value
- ResourceTypeAwsIamRole = "AWS::IAM::Role"
- // ResourceTypeAwsIamUser is a ResourceType enum value
- ResourceTypeAwsIamUser = "AWS::IAM::User"
- // ResourceTypeAwsAcmCertificate is a ResourceType enum value
- ResourceTypeAwsAcmCertificate = "AWS::ACM::Certificate"
- // ResourceTypeAwsRdsDbinstance is a ResourceType enum value
- ResourceTypeAwsRdsDbinstance = "AWS::RDS::DBInstance"
- // ResourceTypeAwsRdsDbsubnetGroup is a ResourceType enum value
- ResourceTypeAwsRdsDbsubnetGroup = "AWS::RDS::DBSubnetGroup"
- // ResourceTypeAwsRdsDbsecurityGroup is a ResourceType enum value
- ResourceTypeAwsRdsDbsecurityGroup = "AWS::RDS::DBSecurityGroup"
- // ResourceTypeAwsRdsDbsnapshot is a ResourceType enum value
- ResourceTypeAwsRdsDbsnapshot = "AWS::RDS::DBSnapshot"
- // ResourceTypeAwsRdsEventSubscription is a ResourceType enum value
- ResourceTypeAwsRdsEventSubscription = "AWS::RDS::EventSubscription"
- // ResourceTypeAwsElasticLoadBalancingV2LoadBalancer is a ResourceType enum value
- ResourceTypeAwsElasticLoadBalancingV2LoadBalancer = "AWS::ElasticLoadBalancingV2::LoadBalancer"
- // ResourceTypeAwsS3Bucket is a ResourceType enum value
- ResourceTypeAwsS3Bucket = "AWS::S3::Bucket"
- )
|