api.go 150 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165
  1. // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
  2. // Package configservice provides a client for AWS Config.
  3. package configservice
  4. import (
  5. "fmt"
  6. "time"
  7. "github.com/aws/aws-sdk-go/aws/awsutil"
  8. "github.com/aws/aws-sdk-go/aws/request"
  9. "github.com/aws/aws-sdk-go/private/protocol"
  10. "github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
  11. )
  12. const opDeleteConfigRule = "DeleteConfigRule"
  13. // DeleteConfigRuleRequest generates a "aws/request.Request" representing the
  14. // client's request for the DeleteConfigRule operation. The "output" return
  15. // value can be used to capture response data after the request's "Send" method
  16. // is called.
  17. //
  18. // Creating a request object using this method should be used when you want to inject
  19. // custom logic into the request's lifecycle using a custom handler, or if you want to
  20. // access properties on the request object before or after sending the request. If
  21. // you just want the service response, call the DeleteConfigRule method directly
  22. // instead.
  23. //
  24. // Note: You must call the "Send" method on the returned request object in order
  25. // to execute the request.
  26. //
  27. // // Example sending a request using the DeleteConfigRuleRequest method.
  28. // req, resp := client.DeleteConfigRuleRequest(params)
  29. //
  30. // err := req.Send()
  31. // if err == nil { // resp is now filled
  32. // fmt.Println(resp)
  33. // }
  34. //
  35. func (c *ConfigService) DeleteConfigRuleRequest(input *DeleteConfigRuleInput) (req *request.Request, output *DeleteConfigRuleOutput) {
  36. op := &request.Operation{
  37. Name: opDeleteConfigRule,
  38. HTTPMethod: "POST",
  39. HTTPPath: "/",
  40. }
  41. if input == nil {
  42. input = &DeleteConfigRuleInput{}
  43. }
  44. req = c.newRequest(op, input, output)
  45. req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
  46. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  47. output = &DeleteConfigRuleOutput{}
  48. req.Data = output
  49. return
  50. }
  51. // Deletes the specified AWS Config rule and all of its evaluation results.
  52. //
  53. // AWS Config sets the state of a rule to DELETING until the deletion is complete.
  54. // You cannot update a rule while it is in this state. If you make a PutConfigRule
  55. // or DeleteConfigRule request for the rule, you will receive a ResourceInUseException.
  56. //
  57. // You can check the state of a rule by using the DescribeConfigRules request.
  58. func (c *ConfigService) DeleteConfigRule(input *DeleteConfigRuleInput) (*DeleteConfigRuleOutput, error) {
  59. req, out := c.DeleteConfigRuleRequest(input)
  60. err := req.Send()
  61. return out, err
  62. }
  63. const opDeleteConfigurationRecorder = "DeleteConfigurationRecorder"
  64. // DeleteConfigurationRecorderRequest generates a "aws/request.Request" representing the
  65. // client's request for the DeleteConfigurationRecorder operation. The "output" return
  66. // value can be used to capture response data after the request's "Send" method
  67. // is called.
  68. //
  69. // Creating a request object using this method should be used when you want to inject
  70. // custom logic into the request's lifecycle using a custom handler, or if you want to
  71. // access properties on the request object before or after sending the request. If
  72. // you just want the service response, call the DeleteConfigurationRecorder method directly
  73. // instead.
  74. //
  75. // Note: You must call the "Send" method on the returned request object in order
  76. // to execute the request.
  77. //
  78. // // Example sending a request using the DeleteConfigurationRecorderRequest method.
  79. // req, resp := client.DeleteConfigurationRecorderRequest(params)
  80. //
  81. // err := req.Send()
  82. // if err == nil { // resp is now filled
  83. // fmt.Println(resp)
  84. // }
  85. //
  86. func (c *ConfigService) DeleteConfigurationRecorderRequest(input *DeleteConfigurationRecorderInput) (req *request.Request, output *DeleteConfigurationRecorderOutput) {
  87. op := &request.Operation{
  88. Name: opDeleteConfigurationRecorder,
  89. HTTPMethod: "POST",
  90. HTTPPath: "/",
  91. }
  92. if input == nil {
  93. input = &DeleteConfigurationRecorderInput{}
  94. }
  95. req = c.newRequest(op, input, output)
  96. req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
  97. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  98. output = &DeleteConfigurationRecorderOutput{}
  99. req.Data = output
  100. return
  101. }
  102. // Deletes the configuration recorder.
  103. //
  104. // After the configuration recorder is deleted, AWS Config will not record
  105. // resource configuration changes until you create a new configuration recorder.
  106. //
  107. // This action does not delete the configuration information that was previously
  108. // recorded. You will be able to access the previously recorded information
  109. // by using the GetResourceConfigHistory action, but you will not be able to
  110. // access this information in the AWS Config console until you create a new
  111. // configuration recorder.
  112. func (c *ConfigService) DeleteConfigurationRecorder(input *DeleteConfigurationRecorderInput) (*DeleteConfigurationRecorderOutput, error) {
  113. req, out := c.DeleteConfigurationRecorderRequest(input)
  114. err := req.Send()
  115. return out, err
  116. }
  117. const opDeleteDeliveryChannel = "DeleteDeliveryChannel"
  118. // DeleteDeliveryChannelRequest generates a "aws/request.Request" representing the
  119. // client's request for the DeleteDeliveryChannel operation. The "output" return
  120. // value can be used to capture response data after the request's "Send" method
  121. // is called.
  122. //
  123. // Creating a request object using this method should be used when you want to inject
  124. // custom logic into the request's lifecycle using a custom handler, or if you want to
  125. // access properties on the request object before or after sending the request. If
  126. // you just want the service response, call the DeleteDeliveryChannel method directly
  127. // instead.
  128. //
  129. // Note: You must call the "Send" method on the returned request object in order
  130. // to execute the request.
  131. //
  132. // // Example sending a request using the DeleteDeliveryChannelRequest method.
  133. // req, resp := client.DeleteDeliveryChannelRequest(params)
  134. //
  135. // err := req.Send()
  136. // if err == nil { // resp is now filled
  137. // fmt.Println(resp)
  138. // }
  139. //
  140. func (c *ConfigService) DeleteDeliveryChannelRequest(input *DeleteDeliveryChannelInput) (req *request.Request, output *DeleteDeliveryChannelOutput) {
  141. op := &request.Operation{
  142. Name: opDeleteDeliveryChannel,
  143. HTTPMethod: "POST",
  144. HTTPPath: "/",
  145. }
  146. if input == nil {
  147. input = &DeleteDeliveryChannelInput{}
  148. }
  149. req = c.newRequest(op, input, output)
  150. req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
  151. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  152. output = &DeleteDeliveryChannelOutput{}
  153. req.Data = output
  154. return
  155. }
  156. // Deletes the delivery channel.
  157. //
  158. // Before you can delete the delivery channel, you must stop the configuration
  159. // recorder by using the StopConfigurationRecorder action.
  160. func (c *ConfigService) DeleteDeliveryChannel(input *DeleteDeliveryChannelInput) (*DeleteDeliveryChannelOutput, error) {
  161. req, out := c.DeleteDeliveryChannelRequest(input)
  162. err := req.Send()
  163. return out, err
  164. }
  165. const opDeleteEvaluationResults = "DeleteEvaluationResults"
  166. // DeleteEvaluationResultsRequest generates a "aws/request.Request" representing the
  167. // client's request for the DeleteEvaluationResults operation. The "output" return
  168. // value can be used to capture response data after the request's "Send" method
  169. // is called.
  170. //
  171. // Creating a request object using this method should be used when you want to inject
  172. // custom logic into the request's lifecycle using a custom handler, or if you want to
  173. // access properties on the request object before or after sending the request. If
  174. // you just want the service response, call the DeleteEvaluationResults method directly
  175. // instead.
  176. //
  177. // Note: You must call the "Send" method on the returned request object in order
  178. // to execute the request.
  179. //
  180. // // Example sending a request using the DeleteEvaluationResultsRequest method.
  181. // req, resp := client.DeleteEvaluationResultsRequest(params)
  182. //
  183. // err := req.Send()
  184. // if err == nil { // resp is now filled
  185. // fmt.Println(resp)
  186. // }
  187. //
  188. func (c *ConfigService) DeleteEvaluationResultsRequest(input *DeleteEvaluationResultsInput) (req *request.Request, output *DeleteEvaluationResultsOutput) {
  189. op := &request.Operation{
  190. Name: opDeleteEvaluationResults,
  191. HTTPMethod: "POST",
  192. HTTPPath: "/",
  193. }
  194. if input == nil {
  195. input = &DeleteEvaluationResultsInput{}
  196. }
  197. req = c.newRequest(op, input, output)
  198. output = &DeleteEvaluationResultsOutput{}
  199. req.Data = output
  200. return
  201. }
  202. // Deletes the evaluation results for the specified Config rule. You can specify
  203. // one Config rule per request. After you delete the evaluation results, you
  204. // can call the StartConfigRulesEvaluation API to start evaluating your AWS
  205. // resources against the rule.
  206. func (c *ConfigService) DeleteEvaluationResults(input *DeleteEvaluationResultsInput) (*DeleteEvaluationResultsOutput, error) {
  207. req, out := c.DeleteEvaluationResultsRequest(input)
  208. err := req.Send()
  209. return out, err
  210. }
  211. const opDeliverConfigSnapshot = "DeliverConfigSnapshot"
  212. // DeliverConfigSnapshotRequest generates a "aws/request.Request" representing the
  213. // client's request for the DeliverConfigSnapshot operation. The "output" return
  214. // value can be used to capture response data after the request's "Send" method
  215. // is called.
  216. //
  217. // Creating a request object using this method should be used when you want to inject
  218. // custom logic into the request's lifecycle using a custom handler, or if you want to
  219. // access properties on the request object before or after sending the request. If
  220. // you just want the service response, call the DeliverConfigSnapshot method directly
  221. // instead.
  222. //
  223. // Note: You must call the "Send" method on the returned request object in order
  224. // to execute the request.
  225. //
  226. // // Example sending a request using the DeliverConfigSnapshotRequest method.
  227. // req, resp := client.DeliverConfigSnapshotRequest(params)
  228. //
  229. // err := req.Send()
  230. // if err == nil { // resp is now filled
  231. // fmt.Println(resp)
  232. // }
  233. //
  234. func (c *ConfigService) DeliverConfigSnapshotRequest(input *DeliverConfigSnapshotInput) (req *request.Request, output *DeliverConfigSnapshotOutput) {
  235. op := &request.Operation{
  236. Name: opDeliverConfigSnapshot,
  237. HTTPMethod: "POST",
  238. HTTPPath: "/",
  239. }
  240. if input == nil {
  241. input = &DeliverConfigSnapshotInput{}
  242. }
  243. req = c.newRequest(op, input, output)
  244. output = &DeliverConfigSnapshotOutput{}
  245. req.Data = output
  246. return
  247. }
  248. // Schedules delivery of a configuration snapshot to the Amazon S3 bucket in
  249. // the specified delivery channel. After the delivery has started, AWS Config
  250. // sends following notifications using an Amazon SNS topic that you have specified.
  251. //
  252. // Notification of starting the delivery. Notification of delivery completed,
  253. // if the delivery was successfully completed. Notification of delivery failure,
  254. // if the delivery failed to complete.
  255. func (c *ConfigService) DeliverConfigSnapshot(input *DeliverConfigSnapshotInput) (*DeliverConfigSnapshotOutput, error) {
  256. req, out := c.DeliverConfigSnapshotRequest(input)
  257. err := req.Send()
  258. return out, err
  259. }
  260. const opDescribeComplianceByConfigRule = "DescribeComplianceByConfigRule"
  261. // DescribeComplianceByConfigRuleRequest generates a "aws/request.Request" representing the
  262. // client's request for the DescribeComplianceByConfigRule operation. The "output" return
  263. // value can be used to capture response data after the request's "Send" method
  264. // is called.
  265. //
  266. // Creating a request object using this method should be used when you want to inject
  267. // custom logic into the request's lifecycle using a custom handler, or if you want to
  268. // access properties on the request object before or after sending the request. If
  269. // you just want the service response, call the DescribeComplianceByConfigRule method directly
  270. // instead.
  271. //
  272. // Note: You must call the "Send" method on the returned request object in order
  273. // to execute the request.
  274. //
  275. // // Example sending a request using the DescribeComplianceByConfigRuleRequest method.
  276. // req, resp := client.DescribeComplianceByConfigRuleRequest(params)
  277. //
  278. // err := req.Send()
  279. // if err == nil { // resp is now filled
  280. // fmt.Println(resp)
  281. // }
  282. //
  283. func (c *ConfigService) DescribeComplianceByConfigRuleRequest(input *DescribeComplianceByConfigRuleInput) (req *request.Request, output *DescribeComplianceByConfigRuleOutput) {
  284. op := &request.Operation{
  285. Name: opDescribeComplianceByConfigRule,
  286. HTTPMethod: "POST",
  287. HTTPPath: "/",
  288. }
  289. if input == nil {
  290. input = &DescribeComplianceByConfigRuleInput{}
  291. }
  292. req = c.newRequest(op, input, output)
  293. output = &DescribeComplianceByConfigRuleOutput{}
  294. req.Data = output
  295. return
  296. }
  297. // Indicates whether the specified AWS Config rules are compliant. If a rule
  298. // is noncompliant, this action returns the number of AWS resources that do
  299. // not comply with the rule.
  300. //
  301. // A rule is compliant if all of the evaluated resources comply with it, and
  302. // it is noncompliant if any of these resources do not comply.
  303. //
  304. // If AWS Config has no current evaluation results for the rule, it returns
  305. // INSUFFICIENT_DATA. This result might indicate one of the following conditions:
  306. //
  307. // AWS Config has never invoked an evaluation for the rule. To check whether
  308. // it has, use the DescribeConfigRuleEvaluationStatus action to get the LastSuccessfulInvocationTime
  309. // and LastFailedInvocationTime. The rule's AWS Lambda function is failing to
  310. // send evaluation results to AWS Config. Verify that the role that you assigned
  311. // to your configuration recorder includes the config:PutEvaluations permission.
  312. // If the rule is a custom rule, verify that the AWS Lambda execution role includes
  313. // the config:PutEvaluations permission. The rule's AWS Lambda function has
  314. // returned NOT_APPLICABLE for all evaluation results. This can occur if the
  315. // resources were deleted or removed from the rule's scope.
  316. func (c *ConfigService) DescribeComplianceByConfigRule(input *DescribeComplianceByConfigRuleInput) (*DescribeComplianceByConfigRuleOutput, error) {
  317. req, out := c.DescribeComplianceByConfigRuleRequest(input)
  318. err := req.Send()
  319. return out, err
  320. }
  321. const opDescribeComplianceByResource = "DescribeComplianceByResource"
  322. // DescribeComplianceByResourceRequest generates a "aws/request.Request" representing the
  323. // client's request for the DescribeComplianceByResource operation. The "output" return
  324. // value can be used to capture response data after the request's "Send" method
  325. // is called.
  326. //
  327. // Creating a request object using this method should be used when you want to inject
  328. // custom logic into the request's lifecycle using a custom handler, or if you want to
  329. // access properties on the request object before or after sending the request. If
  330. // you just want the service response, call the DescribeComplianceByResource method directly
  331. // instead.
  332. //
  333. // Note: You must call the "Send" method on the returned request object in order
  334. // to execute the request.
  335. //
  336. // // Example sending a request using the DescribeComplianceByResourceRequest method.
  337. // req, resp := client.DescribeComplianceByResourceRequest(params)
  338. //
  339. // err := req.Send()
  340. // if err == nil { // resp is now filled
  341. // fmt.Println(resp)
  342. // }
  343. //
  344. func (c *ConfigService) DescribeComplianceByResourceRequest(input *DescribeComplianceByResourceInput) (req *request.Request, output *DescribeComplianceByResourceOutput) {
  345. op := &request.Operation{
  346. Name: opDescribeComplianceByResource,
  347. HTTPMethod: "POST",
  348. HTTPPath: "/",
  349. }
  350. if input == nil {
  351. input = &DescribeComplianceByResourceInput{}
  352. }
  353. req = c.newRequest(op, input, output)
  354. output = &DescribeComplianceByResourceOutput{}
  355. req.Data = output
  356. return
  357. }
  358. // Indicates whether the specified AWS resources are compliant. If a resource
  359. // is noncompliant, this action returns the number of AWS Config rules that
  360. // the resource does not comply with.
  361. //
  362. // A resource is compliant if it complies with all the AWS Config rules that
  363. // evaluate it. It is noncompliant if it does not comply with one or more of
  364. // these rules.
  365. //
  366. // If AWS Config has no current evaluation results for the resource, it returns
  367. // INSUFFICIENT_DATA. This result might indicate one of the following conditions
  368. // about the rules that evaluate the resource:
  369. //
  370. // AWS Config has never invoked an evaluation for the rule. To check whether
  371. // it has, use the DescribeConfigRuleEvaluationStatus action to get the LastSuccessfulInvocationTime
  372. // and LastFailedInvocationTime. The rule's AWS Lambda function is failing to
  373. // send evaluation results to AWS Config. Verify that the role that you assigned
  374. // to your configuration recorder includes the config:PutEvaluations permission.
  375. // If the rule is a custom rule, verify that the AWS Lambda execution role includes
  376. // the config:PutEvaluations permission. The rule's AWS Lambda function has
  377. // returned NOT_APPLICABLE for all evaluation results. This can occur if the
  378. // resources were deleted or removed from the rule's scope.
  379. func (c *ConfigService) DescribeComplianceByResource(input *DescribeComplianceByResourceInput) (*DescribeComplianceByResourceOutput, error) {
  380. req, out := c.DescribeComplianceByResourceRequest(input)
  381. err := req.Send()
  382. return out, err
  383. }
  384. const opDescribeConfigRuleEvaluationStatus = "DescribeConfigRuleEvaluationStatus"
  385. // DescribeConfigRuleEvaluationStatusRequest generates a "aws/request.Request" representing the
  386. // client's request for the DescribeConfigRuleEvaluationStatus operation. The "output" return
  387. // value can be used to capture response data after the request's "Send" method
  388. // is called.
  389. //
  390. // Creating a request object using this method should be used when you want to inject
  391. // custom logic into the request's lifecycle using a custom handler, or if you want to
  392. // access properties on the request object before or after sending the request. If
  393. // you just want the service response, call the DescribeConfigRuleEvaluationStatus method directly
  394. // instead.
  395. //
  396. // Note: You must call the "Send" method on the returned request object in order
  397. // to execute the request.
  398. //
  399. // // Example sending a request using the DescribeConfigRuleEvaluationStatusRequest method.
  400. // req, resp := client.DescribeConfigRuleEvaluationStatusRequest(params)
  401. //
  402. // err := req.Send()
  403. // if err == nil { // resp is now filled
  404. // fmt.Println(resp)
  405. // }
  406. //
  407. func (c *ConfigService) DescribeConfigRuleEvaluationStatusRequest(input *DescribeConfigRuleEvaluationStatusInput) (req *request.Request, output *DescribeConfigRuleEvaluationStatusOutput) {
  408. op := &request.Operation{
  409. Name: opDescribeConfigRuleEvaluationStatus,
  410. HTTPMethod: "POST",
  411. HTTPPath: "/",
  412. }
  413. if input == nil {
  414. input = &DescribeConfigRuleEvaluationStatusInput{}
  415. }
  416. req = c.newRequest(op, input, output)
  417. output = &DescribeConfigRuleEvaluationStatusOutput{}
  418. req.Data = output
  419. return
  420. }
  421. // Returns status information for each of your AWS managed Config rules. The
  422. // status includes information such as the last time AWS Config invoked the
  423. // rule, the last time AWS Config failed to invoke the rule, and the related
  424. // error for the last failure.
  425. func (c *ConfigService) DescribeConfigRuleEvaluationStatus(input *DescribeConfigRuleEvaluationStatusInput) (*DescribeConfigRuleEvaluationStatusOutput, error) {
  426. req, out := c.DescribeConfigRuleEvaluationStatusRequest(input)
  427. err := req.Send()
  428. return out, err
  429. }
  430. const opDescribeConfigRules = "DescribeConfigRules"
  431. // DescribeConfigRulesRequest generates a "aws/request.Request" representing the
  432. // client's request for the DescribeConfigRules operation. The "output" return
  433. // value can be used to capture response data after the request's "Send" method
  434. // is called.
  435. //
  436. // Creating a request object using this method should be used when you want to inject
  437. // custom logic into the request's lifecycle using a custom handler, or if you want to
  438. // access properties on the request object before or after sending the request. If
  439. // you just want the service response, call the DescribeConfigRules method directly
  440. // instead.
  441. //
  442. // Note: You must call the "Send" method on the returned request object in order
  443. // to execute the request.
  444. //
  445. // // Example sending a request using the DescribeConfigRulesRequest method.
  446. // req, resp := client.DescribeConfigRulesRequest(params)
  447. //
  448. // err := req.Send()
  449. // if err == nil { // resp is now filled
  450. // fmt.Println(resp)
  451. // }
  452. //
  453. func (c *ConfigService) DescribeConfigRulesRequest(input *DescribeConfigRulesInput) (req *request.Request, output *DescribeConfigRulesOutput) {
  454. op := &request.Operation{
  455. Name: opDescribeConfigRules,
  456. HTTPMethod: "POST",
  457. HTTPPath: "/",
  458. }
  459. if input == nil {
  460. input = &DescribeConfigRulesInput{}
  461. }
  462. req = c.newRequest(op, input, output)
  463. output = &DescribeConfigRulesOutput{}
  464. req.Data = output
  465. return
  466. }
  467. // Returns details about your AWS Config rules.
  468. func (c *ConfigService) DescribeConfigRules(input *DescribeConfigRulesInput) (*DescribeConfigRulesOutput, error) {
  469. req, out := c.DescribeConfigRulesRequest(input)
  470. err := req.Send()
  471. return out, err
  472. }
  473. const opDescribeConfigurationRecorderStatus = "DescribeConfigurationRecorderStatus"
  474. // DescribeConfigurationRecorderStatusRequest generates a "aws/request.Request" representing the
  475. // client's request for the DescribeConfigurationRecorderStatus operation. The "output" return
  476. // value can be used to capture response data after the request's "Send" method
  477. // is called.
  478. //
  479. // Creating a request object using this method should be used when you want to inject
  480. // custom logic into the request's lifecycle using a custom handler, or if you want to
  481. // access properties on the request object before or after sending the request. If
  482. // you just want the service response, call the DescribeConfigurationRecorderStatus method directly
  483. // instead.
  484. //
  485. // Note: You must call the "Send" method on the returned request object in order
  486. // to execute the request.
  487. //
  488. // // Example sending a request using the DescribeConfigurationRecorderStatusRequest method.
  489. // req, resp := client.DescribeConfigurationRecorderStatusRequest(params)
  490. //
  491. // err := req.Send()
  492. // if err == nil { // resp is now filled
  493. // fmt.Println(resp)
  494. // }
  495. //
  496. func (c *ConfigService) DescribeConfigurationRecorderStatusRequest(input *DescribeConfigurationRecorderStatusInput) (req *request.Request, output *DescribeConfigurationRecorderStatusOutput) {
  497. op := &request.Operation{
  498. Name: opDescribeConfigurationRecorderStatus,
  499. HTTPMethod: "POST",
  500. HTTPPath: "/",
  501. }
  502. if input == nil {
  503. input = &DescribeConfigurationRecorderStatusInput{}
  504. }
  505. req = c.newRequest(op, input, output)
  506. output = &DescribeConfigurationRecorderStatusOutput{}
  507. req.Data = output
  508. return
  509. }
  510. // Returns the current status of the specified configuration recorder. If a
  511. // configuration recorder is not specified, this action returns the status of
  512. // all configuration recorder associated with the account.
  513. //
  514. // Currently, you can specify only one configuration recorder per account.
  515. func (c *ConfigService) DescribeConfigurationRecorderStatus(input *DescribeConfigurationRecorderStatusInput) (*DescribeConfigurationRecorderStatusOutput, error) {
  516. req, out := c.DescribeConfigurationRecorderStatusRequest(input)
  517. err := req.Send()
  518. return out, err
  519. }
  520. const opDescribeConfigurationRecorders = "DescribeConfigurationRecorders"
  521. // DescribeConfigurationRecordersRequest generates a "aws/request.Request" representing the
  522. // client's request for the DescribeConfigurationRecorders operation. The "output" return
  523. // value can be used to capture response data after the request's "Send" method
  524. // is called.
  525. //
  526. // Creating a request object using this method should be used when you want to inject
  527. // custom logic into the request's lifecycle using a custom handler, or if you want to
  528. // access properties on the request object before or after sending the request. If
  529. // you just want the service response, call the DescribeConfigurationRecorders method directly
  530. // instead.
  531. //
  532. // Note: You must call the "Send" method on the returned request object in order
  533. // to execute the request.
  534. //
  535. // // Example sending a request using the DescribeConfigurationRecordersRequest method.
  536. // req, resp := client.DescribeConfigurationRecordersRequest(params)
  537. //
  538. // err := req.Send()
  539. // if err == nil { // resp is now filled
  540. // fmt.Println(resp)
  541. // }
  542. //
  543. func (c *ConfigService) DescribeConfigurationRecordersRequest(input *DescribeConfigurationRecordersInput) (req *request.Request, output *DescribeConfigurationRecordersOutput) {
  544. op := &request.Operation{
  545. Name: opDescribeConfigurationRecorders,
  546. HTTPMethod: "POST",
  547. HTTPPath: "/",
  548. }
  549. if input == nil {
  550. input = &DescribeConfigurationRecordersInput{}
  551. }
  552. req = c.newRequest(op, input, output)
  553. output = &DescribeConfigurationRecordersOutput{}
  554. req.Data = output
  555. return
  556. }
  557. // Returns the name of one or more specified configuration recorders. If the
  558. // recorder name is not specified, this action returns the names of all the
  559. // configuration recorders associated with the account.
  560. //
  561. // Currently, you can specify only one configuration recorder per account.
  562. func (c *ConfigService) DescribeConfigurationRecorders(input *DescribeConfigurationRecordersInput) (*DescribeConfigurationRecordersOutput, error) {
  563. req, out := c.DescribeConfigurationRecordersRequest(input)
  564. err := req.Send()
  565. return out, err
  566. }
  567. const opDescribeDeliveryChannelStatus = "DescribeDeliveryChannelStatus"
  568. // DescribeDeliveryChannelStatusRequest generates a "aws/request.Request" representing the
  569. // client's request for the DescribeDeliveryChannelStatus operation. The "output" return
  570. // value can be used to capture response data after the request's "Send" method
  571. // is called.
  572. //
  573. // Creating a request object using this method should be used when you want to inject
  574. // custom logic into the request's lifecycle using a custom handler, or if you want to
  575. // access properties on the request object before or after sending the request. If
  576. // you just want the service response, call the DescribeDeliveryChannelStatus method directly
  577. // instead.
  578. //
  579. // Note: You must call the "Send" method on the returned request object in order
  580. // to execute the request.
  581. //
  582. // // Example sending a request using the DescribeDeliveryChannelStatusRequest method.
  583. // req, resp := client.DescribeDeliveryChannelStatusRequest(params)
  584. //
  585. // err := req.Send()
  586. // if err == nil { // resp is now filled
  587. // fmt.Println(resp)
  588. // }
  589. //
  590. func (c *ConfigService) DescribeDeliveryChannelStatusRequest(input *DescribeDeliveryChannelStatusInput) (req *request.Request, output *DescribeDeliveryChannelStatusOutput) {
  591. op := &request.Operation{
  592. Name: opDescribeDeliveryChannelStatus,
  593. HTTPMethod: "POST",
  594. HTTPPath: "/",
  595. }
  596. if input == nil {
  597. input = &DescribeDeliveryChannelStatusInput{}
  598. }
  599. req = c.newRequest(op, input, output)
  600. output = &DescribeDeliveryChannelStatusOutput{}
  601. req.Data = output
  602. return
  603. }
  604. // Returns the current status of the specified delivery channel. If a delivery
  605. // channel is not specified, this action returns the current status of all delivery
  606. // channels associated with the account.
  607. //
  608. // Currently, you can specify only one delivery channel per account.
  609. func (c *ConfigService) DescribeDeliveryChannelStatus(input *DescribeDeliveryChannelStatusInput) (*DescribeDeliveryChannelStatusOutput, error) {
  610. req, out := c.DescribeDeliveryChannelStatusRequest(input)
  611. err := req.Send()
  612. return out, err
  613. }
  614. const opDescribeDeliveryChannels = "DescribeDeliveryChannels"
  615. // DescribeDeliveryChannelsRequest generates a "aws/request.Request" representing the
  616. // client's request for the DescribeDeliveryChannels operation. The "output" return
  617. // value can be used to capture response data after the request's "Send" method
  618. // is called.
  619. //
  620. // Creating a request object using this method should be used when you want to inject
  621. // custom logic into the request's lifecycle using a custom handler, or if you want to
  622. // access properties on the request object before or after sending the request. If
  623. // you just want the service response, call the DescribeDeliveryChannels method directly
  624. // instead.
  625. //
  626. // Note: You must call the "Send" method on the returned request object in order
  627. // to execute the request.
  628. //
  629. // // Example sending a request using the DescribeDeliveryChannelsRequest method.
  630. // req, resp := client.DescribeDeliveryChannelsRequest(params)
  631. //
  632. // err := req.Send()
  633. // if err == nil { // resp is now filled
  634. // fmt.Println(resp)
  635. // }
  636. //
  637. func (c *ConfigService) DescribeDeliveryChannelsRequest(input *DescribeDeliveryChannelsInput) (req *request.Request, output *DescribeDeliveryChannelsOutput) {
  638. op := &request.Operation{
  639. Name: opDescribeDeliveryChannels,
  640. HTTPMethod: "POST",
  641. HTTPPath: "/",
  642. }
  643. if input == nil {
  644. input = &DescribeDeliveryChannelsInput{}
  645. }
  646. req = c.newRequest(op, input, output)
  647. output = &DescribeDeliveryChannelsOutput{}
  648. req.Data = output
  649. return
  650. }
  651. // Returns details about the specified delivery channel. If a delivery channel
  652. // is not specified, this action returns the details of all delivery channels
  653. // associated with the account.
  654. //
  655. // Currently, you can specify only one delivery channel per account.
  656. func (c *ConfigService) DescribeDeliveryChannels(input *DescribeDeliveryChannelsInput) (*DescribeDeliveryChannelsOutput, error) {
  657. req, out := c.DescribeDeliveryChannelsRequest(input)
  658. err := req.Send()
  659. return out, err
  660. }
  661. const opGetComplianceDetailsByConfigRule = "GetComplianceDetailsByConfigRule"
  662. // GetComplianceDetailsByConfigRuleRequest generates a "aws/request.Request" representing the
  663. // client's request for the GetComplianceDetailsByConfigRule operation. The "output" return
  664. // value can be used to capture response data after the request's "Send" method
  665. // is called.
  666. //
  667. // Creating a request object using this method should be used when you want to inject
  668. // custom logic into the request's lifecycle using a custom handler, or if you want to
  669. // access properties on the request object before or after sending the request. If
  670. // you just want the service response, call the GetComplianceDetailsByConfigRule method directly
  671. // instead.
  672. //
  673. // Note: You must call the "Send" method on the returned request object in order
  674. // to execute the request.
  675. //
  676. // // Example sending a request using the GetComplianceDetailsByConfigRuleRequest method.
  677. // req, resp := client.GetComplianceDetailsByConfigRuleRequest(params)
  678. //
  679. // err := req.Send()
  680. // if err == nil { // resp is now filled
  681. // fmt.Println(resp)
  682. // }
  683. //
  684. func (c *ConfigService) GetComplianceDetailsByConfigRuleRequest(input *GetComplianceDetailsByConfigRuleInput) (req *request.Request, output *GetComplianceDetailsByConfigRuleOutput) {
  685. op := &request.Operation{
  686. Name: opGetComplianceDetailsByConfigRule,
  687. HTTPMethod: "POST",
  688. HTTPPath: "/",
  689. }
  690. if input == nil {
  691. input = &GetComplianceDetailsByConfigRuleInput{}
  692. }
  693. req = c.newRequest(op, input, output)
  694. output = &GetComplianceDetailsByConfigRuleOutput{}
  695. req.Data = output
  696. return
  697. }
  698. // Returns the evaluation results for the specified AWS Config rule. The results
  699. // indicate which AWS resources were evaluated by the rule, when each resource
  700. // was last evaluated, and whether each resource complies with the rule.
  701. func (c *ConfigService) GetComplianceDetailsByConfigRule(input *GetComplianceDetailsByConfigRuleInput) (*GetComplianceDetailsByConfigRuleOutput, error) {
  702. req, out := c.GetComplianceDetailsByConfigRuleRequest(input)
  703. err := req.Send()
  704. return out, err
  705. }
  706. const opGetComplianceDetailsByResource = "GetComplianceDetailsByResource"
  707. // GetComplianceDetailsByResourceRequest generates a "aws/request.Request" representing the
  708. // client's request for the GetComplianceDetailsByResource operation. The "output" return
  709. // value can be used to capture response data after the request's "Send" method
  710. // is called.
  711. //
  712. // Creating a request object using this method should be used when you want to inject
  713. // custom logic into the request's lifecycle using a custom handler, or if you want to
  714. // access properties on the request object before or after sending the request. If
  715. // you just want the service response, call the GetComplianceDetailsByResource method directly
  716. // instead.
  717. //
  718. // Note: You must call the "Send" method on the returned request object in order
  719. // to execute the request.
  720. //
  721. // // Example sending a request using the GetComplianceDetailsByResourceRequest method.
  722. // req, resp := client.GetComplianceDetailsByResourceRequest(params)
  723. //
  724. // err := req.Send()
  725. // if err == nil { // resp is now filled
  726. // fmt.Println(resp)
  727. // }
  728. //
  729. func (c *ConfigService) GetComplianceDetailsByResourceRequest(input *GetComplianceDetailsByResourceInput) (req *request.Request, output *GetComplianceDetailsByResourceOutput) {
  730. op := &request.Operation{
  731. Name: opGetComplianceDetailsByResource,
  732. HTTPMethod: "POST",
  733. HTTPPath: "/",
  734. }
  735. if input == nil {
  736. input = &GetComplianceDetailsByResourceInput{}
  737. }
  738. req = c.newRequest(op, input, output)
  739. output = &GetComplianceDetailsByResourceOutput{}
  740. req.Data = output
  741. return
  742. }
  743. // Returns the evaluation results for the specified AWS resource. The results
  744. // indicate which AWS Config rules were used to evaluate the resource, when
  745. // each rule was last used, and whether the resource complies with each rule.
  746. func (c *ConfigService) GetComplianceDetailsByResource(input *GetComplianceDetailsByResourceInput) (*GetComplianceDetailsByResourceOutput, error) {
  747. req, out := c.GetComplianceDetailsByResourceRequest(input)
  748. err := req.Send()
  749. return out, err
  750. }
  751. const opGetComplianceSummaryByConfigRule = "GetComplianceSummaryByConfigRule"
  752. // GetComplianceSummaryByConfigRuleRequest generates a "aws/request.Request" representing the
  753. // client's request for the GetComplianceSummaryByConfigRule operation. The "output" return
  754. // value can be used to capture response data after the request's "Send" method
  755. // is called.
  756. //
  757. // Creating a request object using this method should be used when you want to inject
  758. // custom logic into the request's lifecycle using a custom handler, or if you want to
  759. // access properties on the request object before or after sending the request. If
  760. // you just want the service response, call the GetComplianceSummaryByConfigRule method directly
  761. // instead.
  762. //
  763. // Note: You must call the "Send" method on the returned request object in order
  764. // to execute the request.
  765. //
  766. // // Example sending a request using the GetComplianceSummaryByConfigRuleRequest method.
  767. // req, resp := client.GetComplianceSummaryByConfigRuleRequest(params)
  768. //
  769. // err := req.Send()
  770. // if err == nil { // resp is now filled
  771. // fmt.Println(resp)
  772. // }
  773. //
  774. func (c *ConfigService) GetComplianceSummaryByConfigRuleRequest(input *GetComplianceSummaryByConfigRuleInput) (req *request.Request, output *GetComplianceSummaryByConfigRuleOutput) {
  775. op := &request.Operation{
  776. Name: opGetComplianceSummaryByConfigRule,
  777. HTTPMethod: "POST",
  778. HTTPPath: "/",
  779. }
  780. if input == nil {
  781. input = &GetComplianceSummaryByConfigRuleInput{}
  782. }
  783. req = c.newRequest(op, input, output)
  784. output = &GetComplianceSummaryByConfigRuleOutput{}
  785. req.Data = output
  786. return
  787. }
  788. // Returns the number of AWS Config rules that are compliant and noncompliant,
  789. // up to a maximum of 25 for each.
  790. func (c *ConfigService) GetComplianceSummaryByConfigRule(input *GetComplianceSummaryByConfigRuleInput) (*GetComplianceSummaryByConfigRuleOutput, error) {
  791. req, out := c.GetComplianceSummaryByConfigRuleRequest(input)
  792. err := req.Send()
  793. return out, err
  794. }
  795. const opGetComplianceSummaryByResourceType = "GetComplianceSummaryByResourceType"
  796. // GetComplianceSummaryByResourceTypeRequest generates a "aws/request.Request" representing the
  797. // client's request for the GetComplianceSummaryByResourceType operation. The "output" return
  798. // value can be used to capture response data after the request's "Send" method
  799. // is called.
  800. //
  801. // Creating a request object using this method should be used when you want to inject
  802. // custom logic into the request's lifecycle using a custom handler, or if you want to
  803. // access properties on the request object before or after sending the request. If
  804. // you just want the service response, call the GetComplianceSummaryByResourceType method directly
  805. // instead.
  806. //
  807. // Note: You must call the "Send" method on the returned request object in order
  808. // to execute the request.
  809. //
  810. // // Example sending a request using the GetComplianceSummaryByResourceTypeRequest method.
  811. // req, resp := client.GetComplianceSummaryByResourceTypeRequest(params)
  812. //
  813. // err := req.Send()
  814. // if err == nil { // resp is now filled
  815. // fmt.Println(resp)
  816. // }
  817. //
  818. func (c *ConfigService) GetComplianceSummaryByResourceTypeRequest(input *GetComplianceSummaryByResourceTypeInput) (req *request.Request, output *GetComplianceSummaryByResourceTypeOutput) {
  819. op := &request.Operation{
  820. Name: opGetComplianceSummaryByResourceType,
  821. HTTPMethod: "POST",
  822. HTTPPath: "/",
  823. }
  824. if input == nil {
  825. input = &GetComplianceSummaryByResourceTypeInput{}
  826. }
  827. req = c.newRequest(op, input, output)
  828. output = &GetComplianceSummaryByResourceTypeOutput{}
  829. req.Data = output
  830. return
  831. }
  832. // Returns the number of resources that are compliant and the number that are
  833. // noncompliant. You can specify one or more resource types to get these numbers
  834. // for each resource type. The maximum number returned is 100.
  835. func (c *ConfigService) GetComplianceSummaryByResourceType(input *GetComplianceSummaryByResourceTypeInput) (*GetComplianceSummaryByResourceTypeOutput, error) {
  836. req, out := c.GetComplianceSummaryByResourceTypeRequest(input)
  837. err := req.Send()
  838. return out, err
  839. }
  840. const opGetResourceConfigHistory = "GetResourceConfigHistory"
  841. // GetResourceConfigHistoryRequest generates a "aws/request.Request" representing the
  842. // client's request for the GetResourceConfigHistory operation. The "output" return
  843. // value can be used to capture response data after the request's "Send" method
  844. // is called.
  845. //
  846. // Creating a request object using this method should be used when you want to inject
  847. // custom logic into the request's lifecycle using a custom handler, or if you want to
  848. // access properties on the request object before or after sending the request. If
  849. // you just want the service response, call the GetResourceConfigHistory method directly
  850. // instead.
  851. //
  852. // Note: You must call the "Send" method on the returned request object in order
  853. // to execute the request.
  854. //
  855. // // Example sending a request using the GetResourceConfigHistoryRequest method.
  856. // req, resp := client.GetResourceConfigHistoryRequest(params)
  857. //
  858. // err := req.Send()
  859. // if err == nil { // resp is now filled
  860. // fmt.Println(resp)
  861. // }
  862. //
  863. func (c *ConfigService) GetResourceConfigHistoryRequest(input *GetResourceConfigHistoryInput) (req *request.Request, output *GetResourceConfigHistoryOutput) {
  864. op := &request.Operation{
  865. Name: opGetResourceConfigHistory,
  866. HTTPMethod: "POST",
  867. HTTPPath: "/",
  868. Paginator: &request.Paginator{
  869. InputTokens: []string{"nextToken"},
  870. OutputTokens: []string{"nextToken"},
  871. LimitToken: "limit",
  872. TruncationToken: "",
  873. },
  874. }
  875. if input == nil {
  876. input = &GetResourceConfigHistoryInput{}
  877. }
  878. req = c.newRequest(op, input, output)
  879. output = &GetResourceConfigHistoryOutput{}
  880. req.Data = output
  881. return
  882. }
  883. // Returns a list of configuration items for the specified resource. The list
  884. // contains details about each state of the resource during the specified time
  885. // interval.
  886. //
  887. // The response is paginated, and by default, AWS Config returns a limit of
  888. // 10 configuration items per page. You can customize this number with the limit
  889. // parameter. The response includes a nextToken string, and to get the next
  890. // page of results, run the request again and enter this string for the nextToken
  891. // parameter.
  892. //
  893. // Each call to the API is limited to span a duration of seven days. It is
  894. // likely that the number of records returned is smaller than the specified
  895. // limit. In such cases, you can make another call, using the nextToken.
  896. func (c *ConfigService) GetResourceConfigHistory(input *GetResourceConfigHistoryInput) (*GetResourceConfigHistoryOutput, error) {
  897. req, out := c.GetResourceConfigHistoryRequest(input)
  898. err := req.Send()
  899. return out, err
  900. }
  901. // GetResourceConfigHistoryPages iterates over the pages of a GetResourceConfigHistory operation,
  902. // calling the "fn" function with the response data for each page. To stop
  903. // iterating, return false from the fn function.
  904. //
  905. // See GetResourceConfigHistory method for more information on how to use this operation.
  906. //
  907. // Note: This operation can generate multiple requests to a service.
  908. //
  909. // // Example iterating over at most 3 pages of a GetResourceConfigHistory operation.
  910. // pageNum := 0
  911. // err := client.GetResourceConfigHistoryPages(params,
  912. // func(page *GetResourceConfigHistoryOutput, lastPage bool) bool {
  913. // pageNum++
  914. // fmt.Println(page)
  915. // return pageNum <= 3
  916. // })
  917. //
  918. func (c *ConfigService) GetResourceConfigHistoryPages(input *GetResourceConfigHistoryInput, fn func(p *GetResourceConfigHistoryOutput, lastPage bool) (shouldContinue bool)) error {
  919. page, _ := c.GetResourceConfigHistoryRequest(input)
  920. page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
  921. return page.EachPage(func(p interface{}, lastPage bool) bool {
  922. return fn(p.(*GetResourceConfigHistoryOutput), lastPage)
  923. })
  924. }
  925. const opListDiscoveredResources = "ListDiscoveredResources"
  926. // ListDiscoveredResourcesRequest generates a "aws/request.Request" representing the
  927. // client's request for the ListDiscoveredResources operation. The "output" return
  928. // value can be used to capture response data after the request's "Send" method
  929. // is called.
  930. //
  931. // Creating a request object using this method should be used when you want to inject
  932. // custom logic into the request's lifecycle using a custom handler, or if you want to
  933. // access properties on the request object before or after sending the request. If
  934. // you just want the service response, call the ListDiscoveredResources method directly
  935. // instead.
  936. //
  937. // Note: You must call the "Send" method on the returned request object in order
  938. // to execute the request.
  939. //
  940. // // Example sending a request using the ListDiscoveredResourcesRequest method.
  941. // req, resp := client.ListDiscoveredResourcesRequest(params)
  942. //
  943. // err := req.Send()
  944. // if err == nil { // resp is now filled
  945. // fmt.Println(resp)
  946. // }
  947. //
  948. func (c *ConfigService) ListDiscoveredResourcesRequest(input *ListDiscoveredResourcesInput) (req *request.Request, output *ListDiscoveredResourcesOutput) {
  949. op := &request.Operation{
  950. Name: opListDiscoveredResources,
  951. HTTPMethod: "POST",
  952. HTTPPath: "/",
  953. }
  954. if input == nil {
  955. input = &ListDiscoveredResourcesInput{}
  956. }
  957. req = c.newRequest(op, input, output)
  958. output = &ListDiscoveredResourcesOutput{}
  959. req.Data = output
  960. return
  961. }
  962. // Accepts a resource type and returns a list of resource identifiers for the
  963. // resources of that type. A resource identifier includes the resource type,
  964. // ID, and (if available) the custom resource name. The results consist of resources
  965. // that AWS Config has discovered, including those that AWS Config is not currently
  966. // recording. You can narrow the results to include only resources that have
  967. // specific resource IDs or a resource name.
  968. //
  969. // You can specify either resource IDs or a resource name but not both in
  970. // the same request.
  971. //
  972. // The response is paginated, and by default AWS Config lists 100 resource
  973. // identifiers on each page. You can customize this number with the limit parameter.
  974. // The response includes a nextToken string, and to get the next page of results,
  975. // run the request again and enter this string for the nextToken parameter.
  976. func (c *ConfigService) ListDiscoveredResources(input *ListDiscoveredResourcesInput) (*ListDiscoveredResourcesOutput, error) {
  977. req, out := c.ListDiscoveredResourcesRequest(input)
  978. err := req.Send()
  979. return out, err
  980. }
  981. const opPutConfigRule = "PutConfigRule"
  982. // PutConfigRuleRequest generates a "aws/request.Request" representing the
  983. // client's request for the PutConfigRule operation. The "output" return
  984. // value can be used to capture response data after the request's "Send" method
  985. // is called.
  986. //
  987. // Creating a request object using this method should be used when you want to inject
  988. // custom logic into the request's lifecycle using a custom handler, or if you want to
  989. // access properties on the request object before or after sending the request. If
  990. // you just want the service response, call the PutConfigRule method directly
  991. // instead.
  992. //
  993. // Note: You must call the "Send" method on the returned request object in order
  994. // to execute the request.
  995. //
  996. // // Example sending a request using the PutConfigRuleRequest method.
  997. // req, resp := client.PutConfigRuleRequest(params)
  998. //
  999. // err := req.Send()
  1000. // if err == nil { // resp is now filled
  1001. // fmt.Println(resp)
  1002. // }
  1003. //
  1004. func (c *ConfigService) PutConfigRuleRequest(input *PutConfigRuleInput) (req *request.Request, output *PutConfigRuleOutput) {
  1005. op := &request.Operation{
  1006. Name: opPutConfigRule,
  1007. HTTPMethod: "POST",
  1008. HTTPPath: "/",
  1009. }
  1010. if input == nil {
  1011. input = &PutConfigRuleInput{}
  1012. }
  1013. req = c.newRequest(op, input, output)
  1014. req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
  1015. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1016. output = &PutConfigRuleOutput{}
  1017. req.Data = output
  1018. return
  1019. }
  1020. // Adds or updates an AWS Config rule for evaluating whether your AWS resources
  1021. // comply with your desired configurations.
  1022. //
  1023. // You can use this action for custom Config rules and AWS managed Config rules.
  1024. // A custom Config rule is a rule that you develop and maintain. An AWS managed
  1025. // Config rule is a customizable, predefined rule that AWS Config provides.
  1026. //
  1027. // If you are adding a new custom Config rule, you must first create the AWS
  1028. // Lambda function that the rule invokes to evaluate your resources. When you
  1029. // use the PutConfigRule action to add the rule to AWS Config, you must specify
  1030. // the Amazon Resource Name (ARN) that AWS Lambda assigns to the function. Specify
  1031. // the ARN for the SourceIdentifier key. This key is part of the Source object,
  1032. // which is part of the ConfigRule object.
  1033. //
  1034. // If you are adding a new AWS managed Config rule, specify the rule's identifier
  1035. // for the SourceIdentifier key. To reference AWS managed Config rule identifiers,
  1036. // see Using AWS Managed Config Rules (http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).
  1037. //
  1038. // For any new rule that you add, specify the ConfigRuleName in the ConfigRule
  1039. // object. Do not specify the ConfigRuleArn or the ConfigRuleId. These values
  1040. // are generated by AWS Config for new rules.
  1041. //
  1042. // If you are updating a rule that you have added previously, specify the rule's
  1043. // ConfigRuleName, ConfigRuleId, or ConfigRuleArn in the ConfigRule data type
  1044. // that you use in this request.
  1045. //
  1046. // The maximum number of rules that AWS Config supports is 25.
  1047. //
  1048. // For more information about developing and using AWS Config rules, see Evaluating
  1049. // AWS Resource Configurations with AWS Config (http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html)
  1050. // in the AWS Config Developer Guide.
  1051. func (c *ConfigService) PutConfigRule(input *PutConfigRuleInput) (*PutConfigRuleOutput, error) {
  1052. req, out := c.PutConfigRuleRequest(input)
  1053. err := req.Send()
  1054. return out, err
  1055. }
  1056. const opPutConfigurationRecorder = "PutConfigurationRecorder"
  1057. // PutConfigurationRecorderRequest generates a "aws/request.Request" representing the
  1058. // client's request for the PutConfigurationRecorder operation. The "output" return
  1059. // value can be used to capture response data after the request's "Send" method
  1060. // is called.
  1061. //
  1062. // Creating a request object using this method should be used when you want to inject
  1063. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1064. // access properties on the request object before or after sending the request. If
  1065. // you just want the service response, call the PutConfigurationRecorder method directly
  1066. // instead.
  1067. //
  1068. // Note: You must call the "Send" method on the returned request object in order
  1069. // to execute the request.
  1070. //
  1071. // // Example sending a request using the PutConfigurationRecorderRequest method.
  1072. // req, resp := client.PutConfigurationRecorderRequest(params)
  1073. //
  1074. // err := req.Send()
  1075. // if err == nil { // resp is now filled
  1076. // fmt.Println(resp)
  1077. // }
  1078. //
  1079. func (c *ConfigService) PutConfigurationRecorderRequest(input *PutConfigurationRecorderInput) (req *request.Request, output *PutConfigurationRecorderOutput) {
  1080. op := &request.Operation{
  1081. Name: opPutConfigurationRecorder,
  1082. HTTPMethod: "POST",
  1083. HTTPPath: "/",
  1084. }
  1085. if input == nil {
  1086. input = &PutConfigurationRecorderInput{}
  1087. }
  1088. req = c.newRequest(op, input, output)
  1089. req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
  1090. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1091. output = &PutConfigurationRecorderOutput{}
  1092. req.Data = output
  1093. return
  1094. }
  1095. // Creates a new configuration recorder to record the selected resource configurations.
  1096. //
  1097. // You can use this action to change the role roleARN and/or the recordingGroup
  1098. // of an existing recorder. To change the role, call the action on the existing
  1099. // configuration recorder and specify a role.
  1100. //
  1101. // Currently, you can specify only one configuration recorder per account.
  1102. //
  1103. // If ConfigurationRecorder does not have the recordingGroup parameter specified,
  1104. // the default is to record all supported resource types.
  1105. func (c *ConfigService) PutConfigurationRecorder(input *PutConfigurationRecorderInput) (*PutConfigurationRecorderOutput, error) {
  1106. req, out := c.PutConfigurationRecorderRequest(input)
  1107. err := req.Send()
  1108. return out, err
  1109. }
  1110. const opPutDeliveryChannel = "PutDeliveryChannel"
  1111. // PutDeliveryChannelRequest generates a "aws/request.Request" representing the
  1112. // client's request for the PutDeliveryChannel operation. The "output" return
  1113. // value can be used to capture response data after the request's "Send" method
  1114. // is called.
  1115. //
  1116. // Creating a request object using this method should be used when you want to inject
  1117. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1118. // access properties on the request object before or after sending the request. If
  1119. // you just want the service response, call the PutDeliveryChannel method directly
  1120. // instead.
  1121. //
  1122. // Note: You must call the "Send" method on the returned request object in order
  1123. // to execute the request.
  1124. //
  1125. // // Example sending a request using the PutDeliveryChannelRequest method.
  1126. // req, resp := client.PutDeliveryChannelRequest(params)
  1127. //
  1128. // err := req.Send()
  1129. // if err == nil { // resp is now filled
  1130. // fmt.Println(resp)
  1131. // }
  1132. //
  1133. func (c *ConfigService) PutDeliveryChannelRequest(input *PutDeliveryChannelInput) (req *request.Request, output *PutDeliveryChannelOutput) {
  1134. op := &request.Operation{
  1135. Name: opPutDeliveryChannel,
  1136. HTTPMethod: "POST",
  1137. HTTPPath: "/",
  1138. }
  1139. if input == nil {
  1140. input = &PutDeliveryChannelInput{}
  1141. }
  1142. req = c.newRequest(op, input, output)
  1143. req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
  1144. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1145. output = &PutDeliveryChannelOutput{}
  1146. req.Data = output
  1147. return
  1148. }
  1149. // Creates a delivery channel object to deliver configuration information to
  1150. // an Amazon S3 bucket and Amazon SNS topic.
  1151. //
  1152. // Before you can create a delivery channel, you must create a configuration
  1153. // recorder.
  1154. //
  1155. // You can use this action to change the Amazon S3 bucket or an Amazon SNS
  1156. // topic of the existing delivery channel. To change the Amazon S3 bucket or
  1157. // an Amazon SNS topic, call this action and specify the changed values for
  1158. // the S3 bucket and the SNS topic. If you specify a different value for either
  1159. // the S3 bucket or the SNS topic, this action will keep the existing value
  1160. // for the parameter that is not changed.
  1161. //
  1162. // You can have only one delivery channel per AWS account.
  1163. func (c *ConfigService) PutDeliveryChannel(input *PutDeliveryChannelInput) (*PutDeliveryChannelOutput, error) {
  1164. req, out := c.PutDeliveryChannelRequest(input)
  1165. err := req.Send()
  1166. return out, err
  1167. }
  1168. const opPutEvaluations = "PutEvaluations"
  1169. // PutEvaluationsRequest generates a "aws/request.Request" representing the
  1170. // client's request for the PutEvaluations operation. The "output" return
  1171. // value can be used to capture response data after the request's "Send" method
  1172. // is called.
  1173. //
  1174. // Creating a request object using this method should be used when you want to inject
  1175. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1176. // access properties on the request object before or after sending the request. If
  1177. // you just want the service response, call the PutEvaluations method directly
  1178. // instead.
  1179. //
  1180. // Note: You must call the "Send" method on the returned request object in order
  1181. // to execute the request.
  1182. //
  1183. // // Example sending a request using the PutEvaluationsRequest method.
  1184. // req, resp := client.PutEvaluationsRequest(params)
  1185. //
  1186. // err := req.Send()
  1187. // if err == nil { // resp is now filled
  1188. // fmt.Println(resp)
  1189. // }
  1190. //
  1191. func (c *ConfigService) PutEvaluationsRequest(input *PutEvaluationsInput) (req *request.Request, output *PutEvaluationsOutput) {
  1192. op := &request.Operation{
  1193. Name: opPutEvaluations,
  1194. HTTPMethod: "POST",
  1195. HTTPPath: "/",
  1196. }
  1197. if input == nil {
  1198. input = &PutEvaluationsInput{}
  1199. }
  1200. req = c.newRequest(op, input, output)
  1201. output = &PutEvaluationsOutput{}
  1202. req.Data = output
  1203. return
  1204. }
  1205. // Used by an AWS Lambda function to deliver evaluation results to AWS Config.
  1206. // This action is required in every AWS Lambda function that is invoked by an
  1207. // AWS Config rule.
  1208. func (c *ConfigService) PutEvaluations(input *PutEvaluationsInput) (*PutEvaluationsOutput, error) {
  1209. req, out := c.PutEvaluationsRequest(input)
  1210. err := req.Send()
  1211. return out, err
  1212. }
  1213. const opStartConfigRulesEvaluation = "StartConfigRulesEvaluation"
  1214. // StartConfigRulesEvaluationRequest generates a "aws/request.Request" representing the
  1215. // client's request for the StartConfigRulesEvaluation operation. The "output" return
  1216. // value can be used to capture response data after the request's "Send" method
  1217. // is called.
  1218. //
  1219. // Creating a request object using this method should be used when you want to inject
  1220. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1221. // access properties on the request object before or after sending the request. If
  1222. // you just want the service response, call the StartConfigRulesEvaluation method directly
  1223. // instead.
  1224. //
  1225. // Note: You must call the "Send" method on the returned request object in order
  1226. // to execute the request.
  1227. //
  1228. // // Example sending a request using the StartConfigRulesEvaluationRequest method.
  1229. // req, resp := client.StartConfigRulesEvaluationRequest(params)
  1230. //
  1231. // err := req.Send()
  1232. // if err == nil { // resp is now filled
  1233. // fmt.Println(resp)
  1234. // }
  1235. //
  1236. func (c *ConfigService) StartConfigRulesEvaluationRequest(input *StartConfigRulesEvaluationInput) (req *request.Request, output *StartConfigRulesEvaluationOutput) {
  1237. op := &request.Operation{
  1238. Name: opStartConfigRulesEvaluation,
  1239. HTTPMethod: "POST",
  1240. HTTPPath: "/",
  1241. }
  1242. if input == nil {
  1243. input = &StartConfigRulesEvaluationInput{}
  1244. }
  1245. req = c.newRequest(op, input, output)
  1246. output = &StartConfigRulesEvaluationOutput{}
  1247. req.Data = output
  1248. return
  1249. }
  1250. // Evaluates your resources against the specified Config rules. You can specify
  1251. // up to 25 Config rules per request.
  1252. //
  1253. // An existing StartConfigRulesEvaluation call must complete for the rules
  1254. // that you specified before you can call the API again. If you chose to have
  1255. // AWS Config stream to an Amazon SNS topic, you will receive a notification
  1256. // when the evaluation starts.
  1257. func (c *ConfigService) StartConfigRulesEvaluation(input *StartConfigRulesEvaluationInput) (*StartConfigRulesEvaluationOutput, error) {
  1258. req, out := c.StartConfigRulesEvaluationRequest(input)
  1259. err := req.Send()
  1260. return out, err
  1261. }
  1262. const opStartConfigurationRecorder = "StartConfigurationRecorder"
  1263. // StartConfigurationRecorderRequest generates a "aws/request.Request" representing the
  1264. // client's request for the StartConfigurationRecorder operation. The "output" return
  1265. // value can be used to capture response data after the request's "Send" method
  1266. // is called.
  1267. //
  1268. // Creating a request object using this method should be used when you want to inject
  1269. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1270. // access properties on the request object before or after sending the request. If
  1271. // you just want the service response, call the StartConfigurationRecorder method directly
  1272. // instead.
  1273. //
  1274. // Note: You must call the "Send" method on the returned request object in order
  1275. // to execute the request.
  1276. //
  1277. // // Example sending a request using the StartConfigurationRecorderRequest method.
  1278. // req, resp := client.StartConfigurationRecorderRequest(params)
  1279. //
  1280. // err := req.Send()
  1281. // if err == nil { // resp is now filled
  1282. // fmt.Println(resp)
  1283. // }
  1284. //
  1285. func (c *ConfigService) StartConfigurationRecorderRequest(input *StartConfigurationRecorderInput) (req *request.Request, output *StartConfigurationRecorderOutput) {
  1286. op := &request.Operation{
  1287. Name: opStartConfigurationRecorder,
  1288. HTTPMethod: "POST",
  1289. HTTPPath: "/",
  1290. }
  1291. if input == nil {
  1292. input = &StartConfigurationRecorderInput{}
  1293. }
  1294. req = c.newRequest(op, input, output)
  1295. req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
  1296. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1297. output = &StartConfigurationRecorderOutput{}
  1298. req.Data = output
  1299. return
  1300. }
  1301. // Starts recording configurations of the AWS resources you have selected to
  1302. // record in your AWS account.
  1303. //
  1304. // You must have created at least one delivery channel to successfully start
  1305. // the configuration recorder.
  1306. func (c *ConfigService) StartConfigurationRecorder(input *StartConfigurationRecorderInput) (*StartConfigurationRecorderOutput, error) {
  1307. req, out := c.StartConfigurationRecorderRequest(input)
  1308. err := req.Send()
  1309. return out, err
  1310. }
  1311. const opStopConfigurationRecorder = "StopConfigurationRecorder"
  1312. // StopConfigurationRecorderRequest generates a "aws/request.Request" representing the
  1313. // client's request for the StopConfigurationRecorder operation. The "output" return
  1314. // value can be used to capture response data after the request's "Send" method
  1315. // is called.
  1316. //
  1317. // Creating a request object using this method should be used when you want to inject
  1318. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1319. // access properties on the request object before or after sending the request. If
  1320. // you just want the service response, call the StopConfigurationRecorder method directly
  1321. // instead.
  1322. //
  1323. // Note: You must call the "Send" method on the returned request object in order
  1324. // to execute the request.
  1325. //
  1326. // // Example sending a request using the StopConfigurationRecorderRequest method.
  1327. // req, resp := client.StopConfigurationRecorderRequest(params)
  1328. //
  1329. // err := req.Send()
  1330. // if err == nil { // resp is now filled
  1331. // fmt.Println(resp)
  1332. // }
  1333. //
  1334. func (c *ConfigService) StopConfigurationRecorderRequest(input *StopConfigurationRecorderInput) (req *request.Request, output *StopConfigurationRecorderOutput) {
  1335. op := &request.Operation{
  1336. Name: opStopConfigurationRecorder,
  1337. HTTPMethod: "POST",
  1338. HTTPPath: "/",
  1339. }
  1340. if input == nil {
  1341. input = &StopConfigurationRecorderInput{}
  1342. }
  1343. req = c.newRequest(op, input, output)
  1344. req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
  1345. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1346. output = &StopConfigurationRecorderOutput{}
  1347. req.Data = output
  1348. return
  1349. }
  1350. // Stops recording configurations of the AWS resources you have selected to
  1351. // record in your AWS account.
  1352. func (c *ConfigService) StopConfigurationRecorder(input *StopConfigurationRecorderInput) (*StopConfigurationRecorderOutput, error) {
  1353. req, out := c.StopConfigurationRecorderRequest(input)
  1354. err := req.Send()
  1355. return out, err
  1356. }
  1357. // Indicates whether an AWS resource or AWS Config rule is compliant and provides
  1358. // the number of contributors that affect the compliance.
  1359. type Compliance struct {
  1360. _ struct{} `type:"structure"`
  1361. // The number of AWS resources or AWS Config rules that cause a result of NON_COMPLIANT,
  1362. // up to a maximum number.
  1363. ComplianceContributorCount *ComplianceContributorCount `type:"structure"`
  1364. // Indicates whether an AWS resource or AWS Config rule is compliant.
  1365. //
  1366. // A resource is compliant if it complies with all of the AWS Config rules
  1367. // that evaluate it, and it is noncompliant if it does not comply with one or
  1368. // more of these rules.
  1369. //
  1370. // A rule is compliant if all of the resources that the rule evaluates comply
  1371. // with it, and it is noncompliant if any of these resources do not comply.
  1372. //
  1373. // AWS Config returns the INSUFFICIENT_DATA value when no evaluation results
  1374. // are available for the AWS resource or Config rule.
  1375. //
  1376. // For the Compliance data type, AWS Config supports only COMPLIANT, NON_COMPLIANT,
  1377. // and INSUFFICIENT_DATA values. AWS Config does not support the NOT_APPLICABLE
  1378. // value for the Compliance data type.
  1379. ComplianceType *string `type:"string" enum:"ComplianceType"`
  1380. }
  1381. // String returns the string representation
  1382. func (s Compliance) String() string {
  1383. return awsutil.Prettify(s)
  1384. }
  1385. // GoString returns the string representation
  1386. func (s Compliance) GoString() string {
  1387. return s.String()
  1388. }
  1389. // Indicates whether an AWS Config rule is compliant. A rule is compliant if
  1390. // all of the resources that the rule evaluated comply with it, and it is noncompliant
  1391. // if any of these resources do not comply.
  1392. type ComplianceByConfigRule struct {
  1393. _ struct{} `type:"structure"`
  1394. // Indicates whether the AWS Config rule is compliant.
  1395. Compliance *Compliance `type:"structure"`
  1396. // The name of the AWS Config rule.
  1397. ConfigRuleName *string `min:"1" type:"string"`
  1398. }
  1399. // String returns the string representation
  1400. func (s ComplianceByConfigRule) String() string {
  1401. return awsutil.Prettify(s)
  1402. }
  1403. // GoString returns the string representation
  1404. func (s ComplianceByConfigRule) GoString() string {
  1405. return s.String()
  1406. }
  1407. // Indicates whether an AWS resource that is evaluated according to one or more
  1408. // AWS Config rules is compliant. A resource is compliant if it complies with
  1409. // all of the rules that evaluate it, and it is noncompliant if it does not
  1410. // comply with one or more of these rules.
  1411. type ComplianceByResource struct {
  1412. _ struct{} `type:"structure"`
  1413. // Indicates whether the AWS resource complies with all of the AWS Config rules
  1414. // that evaluated it.
  1415. Compliance *Compliance `type:"structure"`
  1416. // The ID of the AWS resource that was evaluated.
  1417. ResourceId *string `min:"1" type:"string"`
  1418. // The type of the AWS resource that was evaluated.
  1419. ResourceType *string `min:"1" type:"string"`
  1420. }
  1421. // String returns the string representation
  1422. func (s ComplianceByResource) String() string {
  1423. return awsutil.Prettify(s)
  1424. }
  1425. // GoString returns the string representation
  1426. func (s ComplianceByResource) GoString() string {
  1427. return s.String()
  1428. }
  1429. // The number of AWS resources or AWS Config rules responsible for the current
  1430. // compliance of the item, up to a maximum number.
  1431. type ComplianceContributorCount struct {
  1432. _ struct{} `type:"structure"`
  1433. // Indicates whether the maximum count is reached.
  1434. CapExceeded *bool `type:"boolean"`
  1435. // The number of AWS resources or AWS Config rules responsible for the current
  1436. // compliance of the item.
  1437. CappedCount *int64 `type:"integer"`
  1438. }
  1439. // String returns the string representation
  1440. func (s ComplianceContributorCount) String() string {
  1441. return awsutil.Prettify(s)
  1442. }
  1443. // GoString returns the string representation
  1444. func (s ComplianceContributorCount) GoString() string {
  1445. return s.String()
  1446. }
  1447. // The number of AWS Config rules or AWS resources that are compliant and noncompliant,
  1448. // up to a maximum.
  1449. type ComplianceSummary struct {
  1450. _ struct{} `type:"structure"`
  1451. // The time that AWS Config created the compliance summary.
  1452. ComplianceSummaryTimestamp *time.Time `type:"timestamp" timestampFormat:"unix"`
  1453. // The number of AWS Config rules or AWS resources that are compliant, up to
  1454. // a maximum of 25 for rules and 100 for resources.
  1455. CompliantResourceCount *ComplianceContributorCount `type:"structure"`
  1456. // The number of AWS Config rules or AWS resources that are noncompliant, up
  1457. // to a maximum of 25 for rules and 100 for resources.
  1458. NonCompliantResourceCount *ComplianceContributorCount `type:"structure"`
  1459. }
  1460. // String returns the string representation
  1461. func (s ComplianceSummary) String() string {
  1462. return awsutil.Prettify(s)
  1463. }
  1464. // GoString returns the string representation
  1465. func (s ComplianceSummary) GoString() string {
  1466. return s.String()
  1467. }
  1468. // The number of AWS resources of a specific type that are compliant or noncompliant,
  1469. // up to a maximum of 100 for each compliance.
  1470. type ComplianceSummaryByResourceType struct {
  1471. _ struct{} `type:"structure"`
  1472. // The number of AWS resources that are compliant or noncompliant, up to a maximum
  1473. // of 100 for each compliance.
  1474. ComplianceSummary *ComplianceSummary `type:"structure"`
  1475. // The type of AWS resource.
  1476. ResourceType *string `min:"1" type:"string"`
  1477. }
  1478. // String returns the string representation
  1479. func (s ComplianceSummaryByResourceType) String() string {
  1480. return awsutil.Prettify(s)
  1481. }
  1482. // GoString returns the string representation
  1483. func (s ComplianceSummaryByResourceType) GoString() string {
  1484. return s.String()
  1485. }
  1486. // A list that contains the status of the delivery of either the snapshot or
  1487. // the configuration history to the specified Amazon S3 bucket.
  1488. type ConfigExportDeliveryInfo struct {
  1489. _ struct{} `type:"structure"`
  1490. // The time of the last attempted delivery.
  1491. LastAttemptTime *time.Time `locationName:"lastAttemptTime" type:"timestamp" timestampFormat:"unix"`
  1492. // The error code from the last attempted delivery.
  1493. LastErrorCode *string `locationName:"lastErrorCode" type:"string"`
  1494. // The error message from the last attempted delivery.
  1495. LastErrorMessage *string `locationName:"lastErrorMessage" type:"string"`
  1496. // Status of the last attempted delivery.
  1497. LastStatus *string `locationName:"lastStatus" type:"string" enum:"DeliveryStatus"`
  1498. // The time of the last successful delivery.
  1499. LastSuccessfulTime *time.Time `locationName:"lastSuccessfulTime" type:"timestamp" timestampFormat:"unix"`
  1500. // The time that the next delivery occurs.
  1501. NextDeliveryTime *time.Time `locationName:"nextDeliveryTime" type:"timestamp" timestampFormat:"unix"`
  1502. }
  1503. // String returns the string representation
  1504. func (s ConfigExportDeliveryInfo) String() string {
  1505. return awsutil.Prettify(s)
  1506. }
  1507. // GoString returns the string representation
  1508. func (s ConfigExportDeliveryInfo) GoString() string {
  1509. return s.String()
  1510. }
  1511. // An AWS Lambda function that evaluates configuration items to assess whether
  1512. // your AWS resources comply with your desired configurations. This function
  1513. // can run when AWS Config detects a configuration change to an AWS resource
  1514. // and at a periodic frequency that you choose (for example, every 24 hours).
  1515. //
  1516. // You can use the AWS CLI and AWS SDKs if you want to create a rule that
  1517. // triggers evaluations for your resources when AWS Config delivers the configuration
  1518. // snapshot. For more information, see ConfigSnapshotDeliveryProperties.
  1519. //
  1520. // For more information about developing and using AWS Config rules, see Evaluating
  1521. // AWS Resource Configurations with AWS Config (http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html)
  1522. // in the AWS Config Developer Guide.
  1523. type ConfigRule struct {
  1524. _ struct{} `type:"structure"`
  1525. // The Amazon Resource Name (ARN) of the AWS Config rule.
  1526. ConfigRuleArn *string `type:"string"`
  1527. // The ID of the AWS Config rule.
  1528. ConfigRuleId *string `type:"string"`
  1529. // The name that you assign to the AWS Config rule. The name is required if
  1530. // you are adding a new rule.
  1531. ConfigRuleName *string `min:"1" type:"string"`
  1532. // Indicates whether the AWS Config rule is active or is currently being deleted
  1533. // by AWS Config. It can also indicate the evaluation status for the Config
  1534. // rule.
  1535. //
  1536. // AWS Config sets the state of the rule to EVALUATING temporarily after you
  1537. // use the StartConfigRulesEvaluation request to evaluate your resources against
  1538. // the Config rule.
  1539. //
  1540. // AWS Config sets the state of the rule to DELETING_RESULTS temporarily after
  1541. // you use the DeleteEvaluationResults request to delete the current evaluation
  1542. // results for the Config rule.
  1543. //
  1544. // AWS Config sets the state of a rule to DELETING temporarily after you use
  1545. // the DeleteConfigRule request to delete the rule. After AWS Config deletes
  1546. // the rule, the rule and all of its evaluations are erased and are no longer
  1547. // available.
  1548. ConfigRuleState *string `type:"string" enum:"ConfigRuleState"`
  1549. // The description that you provide for the AWS Config rule.
  1550. Description *string `type:"string"`
  1551. // A string in JSON format that is passed to the AWS Config rule Lambda function.
  1552. InputParameters *string `min:"1" type:"string"`
  1553. // If you want to create a rule that evaluates at a frequency that is independent
  1554. // of the configuration snapshot delivery, use the MaximumExecutionFrequency
  1555. // parameter in the SourceDetail object.
  1556. //
  1557. // If you want to create a rule that triggers evaluations for your resources
  1558. // when AWS Config delivers the configuration snapshot, see the following:
  1559. //
  1560. // A rule that runs an evaluation when AWS Config delivers a configuration
  1561. // snapshot cannot run evaluations more frequently than AWS Config delivers
  1562. // the snapshots. Set the value of the MaximumExecutionFrequency to be equal
  1563. // to or greater than the value of the deliveryFrequency key, which is part
  1564. // of ConfigSnapshotDeliveryProperties.
  1565. //
  1566. // For more information, see ConfigSnapshotDeliveryProperties.
  1567. MaximumExecutionFrequency *string `type:"string" enum:"MaximumExecutionFrequency"`
  1568. // Defines which resources can trigger an evaluation for the rule. The scope
  1569. // can include one or more resource types, a combination of one resource type
  1570. // and one resource ID, or a combination of a tag key and value. Specify a scope
  1571. // to constrain the resources that can trigger an evaluation for the rule. If
  1572. // you do not specify a scope, evaluations are triggered when any resource in
  1573. // the recording group changes.
  1574. Scope *Scope `type:"structure"`
  1575. // Provides the rule owner (AWS or customer), the rule identifier, and the notifications
  1576. // that cause the function to evaluate your AWS resources.
  1577. Source *Source `type:"structure" required:"true"`
  1578. }
  1579. // String returns the string representation
  1580. func (s ConfigRule) String() string {
  1581. return awsutil.Prettify(s)
  1582. }
  1583. // GoString returns the string representation
  1584. func (s ConfigRule) GoString() string {
  1585. return s.String()
  1586. }
  1587. // Validate inspects the fields of the type to determine if they are valid.
  1588. func (s *ConfigRule) Validate() error {
  1589. invalidParams := request.ErrInvalidParams{Context: "ConfigRule"}
  1590. if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
  1591. invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
  1592. }
  1593. if s.InputParameters != nil && len(*s.InputParameters) < 1 {
  1594. invalidParams.Add(request.NewErrParamMinLen("InputParameters", 1))
  1595. }
  1596. if s.Source == nil {
  1597. invalidParams.Add(request.NewErrParamRequired("Source"))
  1598. }
  1599. if s.Scope != nil {
  1600. if err := s.Scope.Validate(); err != nil {
  1601. invalidParams.AddNested("Scope", err.(request.ErrInvalidParams))
  1602. }
  1603. }
  1604. if s.Source != nil {
  1605. if err := s.Source.Validate(); err != nil {
  1606. invalidParams.AddNested("Source", err.(request.ErrInvalidParams))
  1607. }
  1608. }
  1609. if invalidParams.Len() > 0 {
  1610. return invalidParams
  1611. }
  1612. return nil
  1613. }
  1614. // Status information for your AWS managed Config rules. The status includes
  1615. // information such as the last time the rule ran, the last time it failed,
  1616. // and the related error for the last failure.
  1617. //
  1618. // This action does not return status information about custom Config rules.
  1619. type ConfigRuleEvaluationStatus struct {
  1620. _ struct{} `type:"structure"`
  1621. // The Amazon Resource Name (ARN) of the AWS Config rule.
  1622. ConfigRuleArn *string `type:"string"`
  1623. // The ID of the AWS Config rule.
  1624. ConfigRuleId *string `type:"string"`
  1625. // The name of the AWS Config rule.
  1626. ConfigRuleName *string `min:"1" type:"string"`
  1627. // The time that you first activated the AWS Config rule.
  1628. FirstActivatedTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  1629. // Indicates whether AWS Config has evaluated your resources against the rule
  1630. // at least once.
  1631. //
  1632. // true - AWS Config has evaluated your AWS resources against the rule at
  1633. // least once. false - AWS Config has not once finished evaluating your AWS
  1634. // resources against the rule.
  1635. FirstEvaluationStarted *bool `type:"boolean"`
  1636. // The error code that AWS Config returned when the rule last failed.
  1637. LastErrorCode *string `type:"string"`
  1638. // The error message that AWS Config returned when the rule last failed.
  1639. LastErrorMessage *string `type:"string"`
  1640. // The time that AWS Config last failed to evaluate your AWS resources against
  1641. // the rule.
  1642. LastFailedEvaluationTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  1643. // The time that AWS Config last failed to invoke the AWS Config rule to evaluate
  1644. // your AWS resources.
  1645. LastFailedInvocationTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  1646. // The time that AWS Config last successfully evaluated your AWS resources against
  1647. // the rule.
  1648. LastSuccessfulEvaluationTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  1649. // The time that AWS Config last successfully invoked the AWS Config rule to
  1650. // evaluate your AWS resources.
  1651. LastSuccessfulInvocationTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  1652. }
  1653. // String returns the string representation
  1654. func (s ConfigRuleEvaluationStatus) String() string {
  1655. return awsutil.Prettify(s)
  1656. }
  1657. // GoString returns the string representation
  1658. func (s ConfigRuleEvaluationStatus) GoString() string {
  1659. return s.String()
  1660. }
  1661. // Shows the options for how often AWS Config delivers configuration snapshots
  1662. // to the Amazon S3 bucket in your delivery channel.
  1663. //
  1664. // If you want to create a rule that triggers evaluations for your resources
  1665. // when AWS Config delivers the configuration snapshot, see the following:
  1666. //
  1667. // The frequency for a rule that triggers evaluations for your resources when
  1668. // AWS Config delivers the configuration snapshot is set by one of two values,
  1669. // depending on which is less frequent:
  1670. //
  1671. // The value for the deliveryFrequency parameter within the delivery channel
  1672. // configuration, which sets how often AWS Config delivers configuration snapshots.
  1673. // This value also sets how often AWS Config invokes evaluations for Config
  1674. // rules.
  1675. //
  1676. // The value for the MaximumExecutionFrequency parameter, which sets the
  1677. // maximum frequency with which AWS Config invokes evaluations for the rule.
  1678. // For more information, see ConfigRule.
  1679. //
  1680. // If the deliveryFrequency value is less frequent than the MaximumExecutionFrequency
  1681. // value for a rule, AWS Config invokes the rule only as often as the deliveryFrequency
  1682. // value.
  1683. //
  1684. // For example, you have a rule and you specify the MaximumExecutionFrequency
  1685. // value to be Six_Hours.
  1686. //
  1687. // You then specify the delivery channel deliveryFrequency value to TwentyFour_Hours.
  1688. //
  1689. // Because the value for deliveryFrequency is less frequent than MaximumExecutionFrequency,
  1690. // AWS Config invokes evaluations for the rule every 24 hours.
  1691. //
  1692. // You should set the MaximumExecutionFrequency value to be at least as frequent
  1693. // as the deliveryFrequency value. You can view the deliveryFrequency value
  1694. // by using the DescribeDeliveryChannnels action.
  1695. //
  1696. // To update the frequency with which AWS Config delivers your configuration
  1697. // snapshots, use the PutDeliveryChannel action.
  1698. type ConfigSnapshotDeliveryProperties struct {
  1699. _ struct{} `type:"structure"`
  1700. // The frequency with which AWS Config delivers configuration snapshots.
  1701. DeliveryFrequency *string `locationName:"deliveryFrequency" type:"string" enum:"MaximumExecutionFrequency"`
  1702. }
  1703. // String returns the string representation
  1704. func (s ConfigSnapshotDeliveryProperties) String() string {
  1705. return awsutil.Prettify(s)
  1706. }
  1707. // GoString returns the string representation
  1708. func (s ConfigSnapshotDeliveryProperties) GoString() string {
  1709. return s.String()
  1710. }
  1711. // A list that contains the status of the delivery of the configuration stream
  1712. // notification to the Amazon SNS topic.
  1713. type ConfigStreamDeliveryInfo struct {
  1714. _ struct{} `type:"structure"`
  1715. // The error code from the last attempted delivery.
  1716. LastErrorCode *string `locationName:"lastErrorCode" type:"string"`
  1717. // The error message from the last attempted delivery.
  1718. LastErrorMessage *string `locationName:"lastErrorMessage" type:"string"`
  1719. // Status of the last attempted delivery.
  1720. //
  1721. // Note Providing an SNS topic on a DeliveryChannel (http://docs.aws.amazon.com/config/latest/APIReference/API_DeliveryChannel.html)
  1722. // for AWS Config is optional. If the SNS delivery is turned off, the last status
  1723. // will be Not_Applicable.
  1724. LastStatus *string `locationName:"lastStatus" type:"string" enum:"DeliveryStatus"`
  1725. // The time from the last status change.
  1726. LastStatusChangeTime *time.Time `locationName:"lastStatusChangeTime" type:"timestamp" timestampFormat:"unix"`
  1727. }
  1728. // String returns the string representation
  1729. func (s ConfigStreamDeliveryInfo) String() string {
  1730. return awsutil.Prettify(s)
  1731. }
  1732. // GoString returns the string representation
  1733. func (s ConfigStreamDeliveryInfo) GoString() string {
  1734. return s.String()
  1735. }
  1736. // A list that contains detailed configurations of a specified resource.
  1737. //
  1738. // Currently, the list does not contain information about non-AWS components
  1739. // (for example, applications on your Amazon EC2 instances).
  1740. type ConfigurationItem struct {
  1741. _ struct{} `type:"structure"`
  1742. // The 12 digit AWS account ID associated with the resource.
  1743. AccountId *string `locationName:"accountId" type:"string"`
  1744. // The Amazon Resource Name (ARN) of the resource.
  1745. Arn *string `locationName:"arn" type:"string"`
  1746. // The Availability Zone associated with the resource.
  1747. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  1748. // The region where the resource resides.
  1749. AwsRegion *string `locationName:"awsRegion" type:"string"`
  1750. // The description of the resource configuration.
  1751. Configuration *string `locationName:"configuration" type:"string"`
  1752. // The time when the configuration recording was initiated.
  1753. ConfigurationItemCaptureTime *time.Time `locationName:"configurationItemCaptureTime" type:"timestamp" timestampFormat:"unix"`
  1754. // Unique MD5 hash that represents the configuration item's state.
  1755. //
  1756. // You can use MD5 hash to compare the states of two or more configuration
  1757. // items that are associated with the same resource.
  1758. ConfigurationItemMD5Hash *string `locationName:"configurationItemMD5Hash" type:"string"`
  1759. // The configuration item status.
  1760. ConfigurationItemStatus *string `locationName:"configurationItemStatus" type:"string" enum:"ConfigurationItemStatus"`
  1761. // An identifier that indicates the ordering of the configuration items of a
  1762. // resource.
  1763. ConfigurationStateId *string `locationName:"configurationStateId" type:"string"`
  1764. // A list of CloudTrail event IDs.
  1765. //
  1766. // A populated field indicates that the current configuration was initiated
  1767. // by the events recorded in the CloudTrail log. For more information about
  1768. // CloudTrail, see What is AWS CloudTrail? (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html).
  1769. //
  1770. // An empty field indicates that the current configuration was not initiated
  1771. // by any event.
  1772. RelatedEvents []*string `locationName:"relatedEvents" type:"list"`
  1773. // A list of related AWS resources.
  1774. Relationships []*Relationship `locationName:"relationships" type:"list"`
  1775. // The time stamp when the resource was created.
  1776. ResourceCreationTime *time.Time `locationName:"resourceCreationTime" type:"timestamp" timestampFormat:"unix"`
  1777. // The ID of the resource (for example., sg-xxxxxx).
  1778. ResourceId *string `locationName:"resourceId" type:"string"`
  1779. // The custom name of the resource, if available.
  1780. ResourceName *string `locationName:"resourceName" type:"string"`
  1781. // The type of AWS resource.
  1782. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  1783. // Configuration attributes that AWS Config returns for certain resource types
  1784. // to supplement the information returned for the configuration parameter.
  1785. SupplementaryConfiguration map[string]*string `locationName:"supplementaryConfiguration" type:"map"`
  1786. // A mapping of key value tags associated with the resource.
  1787. Tags map[string]*string `locationName:"tags" type:"map"`
  1788. // The version number of the resource configuration.
  1789. Version *string `locationName:"version" type:"string"`
  1790. }
  1791. // String returns the string representation
  1792. func (s ConfigurationItem) String() string {
  1793. return awsutil.Prettify(s)
  1794. }
  1795. // GoString returns the string representation
  1796. func (s ConfigurationItem) GoString() string {
  1797. return s.String()
  1798. }
  1799. // An object that represents the recording of configuration changes of an AWS
  1800. // resource.
  1801. type ConfigurationRecorder struct {
  1802. _ struct{} `type:"structure"`
  1803. // The name of the recorder. By default, AWS Config automatically assigns the
  1804. // name "default" when creating the configuration recorder. You cannot change
  1805. // the assigned name.
  1806. Name *string `locationName:"name" min:"1" type:"string"`
  1807. // Specifies the types of AWS resource for which AWS Config records configuration
  1808. // changes.
  1809. RecordingGroup *RecordingGroup `locationName:"recordingGroup" type:"structure"`
  1810. // Amazon Resource Name (ARN) of the IAM role used to describe the AWS resources
  1811. // associated with the account.
  1812. RoleARN *string `locationName:"roleARN" type:"string"`
  1813. }
  1814. // String returns the string representation
  1815. func (s ConfigurationRecorder) String() string {
  1816. return awsutil.Prettify(s)
  1817. }
  1818. // GoString returns the string representation
  1819. func (s ConfigurationRecorder) GoString() string {
  1820. return s.String()
  1821. }
  1822. // Validate inspects the fields of the type to determine if they are valid.
  1823. func (s *ConfigurationRecorder) Validate() error {
  1824. invalidParams := request.ErrInvalidParams{Context: "ConfigurationRecorder"}
  1825. if s.Name != nil && len(*s.Name) < 1 {
  1826. invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  1827. }
  1828. if invalidParams.Len() > 0 {
  1829. return invalidParams
  1830. }
  1831. return nil
  1832. }
  1833. // The current status of the configuration recorder.
  1834. type ConfigurationRecorderStatus struct {
  1835. _ struct{} `type:"structure"`
  1836. // The error code indicating that the recording failed.
  1837. LastErrorCode *string `locationName:"lastErrorCode" type:"string"`
  1838. // The message indicating that the recording failed due to an error.
  1839. LastErrorMessage *string `locationName:"lastErrorMessage" type:"string"`
  1840. // The time the recorder was last started.
  1841. LastStartTime *time.Time `locationName:"lastStartTime" type:"timestamp" timestampFormat:"unix"`
  1842. // The last (previous) status of the recorder.
  1843. LastStatus *string `locationName:"lastStatus" type:"string" enum:"RecorderStatus"`
  1844. // The time when the status was last changed.
  1845. LastStatusChangeTime *time.Time `locationName:"lastStatusChangeTime" type:"timestamp" timestampFormat:"unix"`
  1846. // The time the recorder was last stopped.
  1847. LastStopTime *time.Time `locationName:"lastStopTime" type:"timestamp" timestampFormat:"unix"`
  1848. // The name of the configuration recorder.
  1849. Name *string `locationName:"name" type:"string"`
  1850. // Specifies whether the recorder is currently recording or not.
  1851. Recording *bool `locationName:"recording" type:"boolean"`
  1852. }
  1853. // String returns the string representation
  1854. func (s ConfigurationRecorderStatus) String() string {
  1855. return awsutil.Prettify(s)
  1856. }
  1857. // GoString returns the string representation
  1858. func (s ConfigurationRecorderStatus) GoString() string {
  1859. return s.String()
  1860. }
  1861. type DeleteConfigRuleInput struct {
  1862. _ struct{} `type:"structure"`
  1863. // The name of the AWS Config rule that you want to delete.
  1864. ConfigRuleName *string `min:"1" type:"string" required:"true"`
  1865. }
  1866. // String returns the string representation
  1867. func (s DeleteConfigRuleInput) String() string {
  1868. return awsutil.Prettify(s)
  1869. }
  1870. // GoString returns the string representation
  1871. func (s DeleteConfigRuleInput) GoString() string {
  1872. return s.String()
  1873. }
  1874. // Validate inspects the fields of the type to determine if they are valid.
  1875. func (s *DeleteConfigRuleInput) Validate() error {
  1876. invalidParams := request.ErrInvalidParams{Context: "DeleteConfigRuleInput"}
  1877. if s.ConfigRuleName == nil {
  1878. invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
  1879. }
  1880. if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
  1881. invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
  1882. }
  1883. if invalidParams.Len() > 0 {
  1884. return invalidParams
  1885. }
  1886. return nil
  1887. }
  1888. type DeleteConfigRuleOutput struct {
  1889. _ struct{} `type:"structure"`
  1890. }
  1891. // String returns the string representation
  1892. func (s DeleteConfigRuleOutput) String() string {
  1893. return awsutil.Prettify(s)
  1894. }
  1895. // GoString returns the string representation
  1896. func (s DeleteConfigRuleOutput) GoString() string {
  1897. return s.String()
  1898. }
  1899. // The request object for the DeleteConfigurationRecorder action.
  1900. type DeleteConfigurationRecorderInput struct {
  1901. _ struct{} `type:"structure"`
  1902. // The name of the configuration recorder to be deleted. You can retrieve the
  1903. // name of your configuration recorder by using the DescribeConfigurationRecorders
  1904. // action.
  1905. ConfigurationRecorderName *string `min:"1" type:"string" required:"true"`
  1906. }
  1907. // String returns the string representation
  1908. func (s DeleteConfigurationRecorderInput) String() string {
  1909. return awsutil.Prettify(s)
  1910. }
  1911. // GoString returns the string representation
  1912. func (s DeleteConfigurationRecorderInput) GoString() string {
  1913. return s.String()
  1914. }
  1915. // Validate inspects the fields of the type to determine if they are valid.
  1916. func (s *DeleteConfigurationRecorderInput) Validate() error {
  1917. invalidParams := request.ErrInvalidParams{Context: "DeleteConfigurationRecorderInput"}
  1918. if s.ConfigurationRecorderName == nil {
  1919. invalidParams.Add(request.NewErrParamRequired("ConfigurationRecorderName"))
  1920. }
  1921. if s.ConfigurationRecorderName != nil && len(*s.ConfigurationRecorderName) < 1 {
  1922. invalidParams.Add(request.NewErrParamMinLen("ConfigurationRecorderName", 1))
  1923. }
  1924. if invalidParams.Len() > 0 {
  1925. return invalidParams
  1926. }
  1927. return nil
  1928. }
  1929. type DeleteConfigurationRecorderOutput struct {
  1930. _ struct{} `type:"structure"`
  1931. }
  1932. // String returns the string representation
  1933. func (s DeleteConfigurationRecorderOutput) String() string {
  1934. return awsutil.Prettify(s)
  1935. }
  1936. // GoString returns the string representation
  1937. func (s DeleteConfigurationRecorderOutput) GoString() string {
  1938. return s.String()
  1939. }
  1940. // The input for the DeleteDeliveryChannel action. The action accepts the following
  1941. // data in JSON format.
  1942. type DeleteDeliveryChannelInput struct {
  1943. _ struct{} `type:"structure"`
  1944. // The name of the delivery channel to delete.
  1945. DeliveryChannelName *string `min:"1" type:"string" required:"true"`
  1946. }
  1947. // String returns the string representation
  1948. func (s DeleteDeliveryChannelInput) String() string {
  1949. return awsutil.Prettify(s)
  1950. }
  1951. // GoString returns the string representation
  1952. func (s DeleteDeliveryChannelInput) GoString() string {
  1953. return s.String()
  1954. }
  1955. // Validate inspects the fields of the type to determine if they are valid.
  1956. func (s *DeleteDeliveryChannelInput) Validate() error {
  1957. invalidParams := request.ErrInvalidParams{Context: "DeleteDeliveryChannelInput"}
  1958. if s.DeliveryChannelName == nil {
  1959. invalidParams.Add(request.NewErrParamRequired("DeliveryChannelName"))
  1960. }
  1961. if s.DeliveryChannelName != nil && len(*s.DeliveryChannelName) < 1 {
  1962. invalidParams.Add(request.NewErrParamMinLen("DeliveryChannelName", 1))
  1963. }
  1964. if invalidParams.Len() > 0 {
  1965. return invalidParams
  1966. }
  1967. return nil
  1968. }
  1969. type DeleteDeliveryChannelOutput struct {
  1970. _ struct{} `type:"structure"`
  1971. }
  1972. // String returns the string representation
  1973. func (s DeleteDeliveryChannelOutput) String() string {
  1974. return awsutil.Prettify(s)
  1975. }
  1976. // GoString returns the string representation
  1977. func (s DeleteDeliveryChannelOutput) GoString() string {
  1978. return s.String()
  1979. }
  1980. type DeleteEvaluationResultsInput struct {
  1981. _ struct{} `type:"structure"`
  1982. // The name of the Config rule for which you want to delete the evaluation results.
  1983. ConfigRuleName *string `min:"1" type:"string" required:"true"`
  1984. }
  1985. // String returns the string representation
  1986. func (s DeleteEvaluationResultsInput) String() string {
  1987. return awsutil.Prettify(s)
  1988. }
  1989. // GoString returns the string representation
  1990. func (s DeleteEvaluationResultsInput) GoString() string {
  1991. return s.String()
  1992. }
  1993. // Validate inspects the fields of the type to determine if they are valid.
  1994. func (s *DeleteEvaluationResultsInput) Validate() error {
  1995. invalidParams := request.ErrInvalidParams{Context: "DeleteEvaluationResultsInput"}
  1996. if s.ConfigRuleName == nil {
  1997. invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
  1998. }
  1999. if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
  2000. invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
  2001. }
  2002. if invalidParams.Len() > 0 {
  2003. return invalidParams
  2004. }
  2005. return nil
  2006. }
  2007. // The output when you delete the evaluation results for the specified Config
  2008. // rule.
  2009. type DeleteEvaluationResultsOutput struct {
  2010. _ struct{} `type:"structure"`
  2011. }
  2012. // String returns the string representation
  2013. func (s DeleteEvaluationResultsOutput) String() string {
  2014. return awsutil.Prettify(s)
  2015. }
  2016. // GoString returns the string representation
  2017. func (s DeleteEvaluationResultsOutput) GoString() string {
  2018. return s.String()
  2019. }
  2020. // The input for the DeliverConfigSnapshot action.
  2021. type DeliverConfigSnapshotInput struct {
  2022. _ struct{} `type:"structure"`
  2023. // The name of the delivery channel through which the snapshot is delivered.
  2024. DeliveryChannelName *string `locationName:"deliveryChannelName" min:"1" type:"string" required:"true"`
  2025. }
  2026. // String returns the string representation
  2027. func (s DeliverConfigSnapshotInput) String() string {
  2028. return awsutil.Prettify(s)
  2029. }
  2030. // GoString returns the string representation
  2031. func (s DeliverConfigSnapshotInput) GoString() string {
  2032. return s.String()
  2033. }
  2034. // Validate inspects the fields of the type to determine if they are valid.
  2035. func (s *DeliverConfigSnapshotInput) Validate() error {
  2036. invalidParams := request.ErrInvalidParams{Context: "DeliverConfigSnapshotInput"}
  2037. if s.DeliveryChannelName == nil {
  2038. invalidParams.Add(request.NewErrParamRequired("DeliveryChannelName"))
  2039. }
  2040. if s.DeliveryChannelName != nil && len(*s.DeliveryChannelName) < 1 {
  2041. invalidParams.Add(request.NewErrParamMinLen("DeliveryChannelName", 1))
  2042. }
  2043. if invalidParams.Len() > 0 {
  2044. return invalidParams
  2045. }
  2046. return nil
  2047. }
  2048. // The output for the DeliverConfigSnapshot action in JSON format.
  2049. type DeliverConfigSnapshotOutput struct {
  2050. _ struct{} `type:"structure"`
  2051. // The ID of the snapshot that is being created.
  2052. ConfigSnapshotId *string `locationName:"configSnapshotId" type:"string"`
  2053. }
  2054. // String returns the string representation
  2055. func (s DeliverConfigSnapshotOutput) String() string {
  2056. return awsutil.Prettify(s)
  2057. }
  2058. // GoString returns the string representation
  2059. func (s DeliverConfigSnapshotOutput) GoString() string {
  2060. return s.String()
  2061. }
  2062. // The channel through which AWS Config delivers notifications and updated configuration
  2063. // states.
  2064. type DeliveryChannel struct {
  2065. _ struct{} `type:"structure"`
  2066. // Shows the options for how often AWS Config delivers configuration snapshots
  2067. // to the Amazon S3 bucket in your delivery channel.
  2068. //
  2069. // If you want to create a rule that triggers evaluations for your resources
  2070. // when AWS Config delivers the configuration snapshot, see the following:
  2071. //
  2072. // The frequency for a rule that triggers evaluations for your resources when
  2073. // AWS Config delivers the configuration snapshot is set by one of two values,
  2074. // depending on which is less frequent:
  2075. //
  2076. // The value for the deliveryFrequency parameter within the delivery channel
  2077. // configuration, which sets how often AWS Config delivers configuration snapshots.
  2078. // This value also sets how often AWS Config invokes evaluations for Config
  2079. // rules.
  2080. //
  2081. // The value for the MaximumExecutionFrequency parameter, which sets the
  2082. // maximum frequency with which AWS Config invokes evaluations for the rule.
  2083. // For more information, see ConfigRule.
  2084. //
  2085. // If the deliveryFrequency value is less frequent than the MaximumExecutionFrequency
  2086. // value for a rule, AWS Config invokes the rule only as often as the deliveryFrequency
  2087. // value.
  2088. //
  2089. // For example, you have a rule and you specify the MaximumExecutionFrequency
  2090. // value to be Six_Hours.
  2091. //
  2092. // You then specify the delivery channel deliveryFrequency value to TwentyFour_Hours.
  2093. //
  2094. // Because the value for deliveryFrequency is less frequent than MaximumExecutionFrequency,
  2095. // AWS Config invokes evaluations for the rule every 24 hours.
  2096. //
  2097. // You should set the MaximumExecutionFrequency value to be at least as frequent
  2098. // as the deliveryFrequency value. You can view the deliveryFrequency value
  2099. // by using the DescribeDeliveryChannnels action.
  2100. //
  2101. // To update the frequency with which AWS Config delivers your configuration
  2102. // snapshots, use the PutDeliveryChannel action.
  2103. ConfigSnapshotDeliveryProperties *ConfigSnapshotDeliveryProperties `locationName:"configSnapshotDeliveryProperties" type:"structure"`
  2104. // The name of the delivery channel. By default, AWS Config assigns the name
  2105. // "default" when creating the delivery channel. To change the delivery channel
  2106. // name, you must use the DeleteDeliveryChannel action to delete your current
  2107. // delivery channel, and then you must use the PutDeliveryChannel command to
  2108. // create a delivery channel that has the desired name.
  2109. Name *string `locationName:"name" min:"1" type:"string"`
  2110. // The name of the Amazon S3 bucket to which AWS Config delivers configuration
  2111. // snapshots and configuration history files.
  2112. //
  2113. // If you specify a bucket that belongs to another AWS account, that bucket
  2114. // must have policies that grant access permissions to AWS Config. For more
  2115. // information, see Permissions for the Amazon S3 Bucket (http://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-policy.html)
  2116. // in the AWS Config Developer Guide.
  2117. S3BucketName *string `locationName:"s3BucketName" type:"string"`
  2118. // The prefix for the specified Amazon S3 bucket.
  2119. S3KeyPrefix *string `locationName:"s3KeyPrefix" type:"string"`
  2120. // The Amazon Resource Name (ARN) of the Amazon SNS topic to which AWS Config
  2121. // sends notifications about configuration changes.
  2122. //
  2123. // If you choose a topic from another account, the topic must have policies
  2124. // that grant access permissions to AWS Config. For more information, see Permissions
  2125. // for the Amazon SNS Topic (http://docs.aws.amazon.com/config/latest/developerguide/sns-topic-policy.html)
  2126. // in the AWS Config Developer Guide.
  2127. SnsTopicARN *string `locationName:"snsTopicARN" type:"string"`
  2128. }
  2129. // String returns the string representation
  2130. func (s DeliveryChannel) String() string {
  2131. return awsutil.Prettify(s)
  2132. }
  2133. // GoString returns the string representation
  2134. func (s DeliveryChannel) GoString() string {
  2135. return s.String()
  2136. }
  2137. // Validate inspects the fields of the type to determine if they are valid.
  2138. func (s *DeliveryChannel) Validate() error {
  2139. invalidParams := request.ErrInvalidParams{Context: "DeliveryChannel"}
  2140. if s.Name != nil && len(*s.Name) < 1 {
  2141. invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  2142. }
  2143. if invalidParams.Len() > 0 {
  2144. return invalidParams
  2145. }
  2146. return nil
  2147. }
  2148. // The status of a specified delivery channel.
  2149. //
  2150. // Valid values: Success | Failure
  2151. type DeliveryChannelStatus struct {
  2152. _ struct{} `type:"structure"`
  2153. // A list that contains the status of the delivery of the configuration history
  2154. // to the specified Amazon S3 bucket.
  2155. ConfigHistoryDeliveryInfo *ConfigExportDeliveryInfo `locationName:"configHistoryDeliveryInfo" type:"structure"`
  2156. // A list containing the status of the delivery of the snapshot to the specified
  2157. // Amazon S3 bucket.
  2158. ConfigSnapshotDeliveryInfo *ConfigExportDeliveryInfo `locationName:"configSnapshotDeliveryInfo" type:"structure"`
  2159. // A list containing the status of the delivery of the configuration stream
  2160. // notification to the specified Amazon SNS topic.
  2161. ConfigStreamDeliveryInfo *ConfigStreamDeliveryInfo `locationName:"configStreamDeliveryInfo" type:"structure"`
  2162. // The name of the delivery channel.
  2163. Name *string `locationName:"name" type:"string"`
  2164. }
  2165. // String returns the string representation
  2166. func (s DeliveryChannelStatus) String() string {
  2167. return awsutil.Prettify(s)
  2168. }
  2169. // GoString returns the string representation
  2170. func (s DeliveryChannelStatus) GoString() string {
  2171. return s.String()
  2172. }
  2173. type DescribeComplianceByConfigRuleInput struct {
  2174. _ struct{} `type:"structure"`
  2175. // Filters the results by compliance.
  2176. //
  2177. // The allowed values are COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA.
  2178. ComplianceTypes []*string `type:"list"`
  2179. // Specify one or more AWS Config rule names to filter the results by rule.
  2180. ConfigRuleNames []*string `type:"list"`
  2181. // The nextToken string returned on a previous page that you use to get the
  2182. // next page of results in a paginated response.
  2183. NextToken *string `type:"string"`
  2184. }
  2185. // String returns the string representation
  2186. func (s DescribeComplianceByConfigRuleInput) String() string {
  2187. return awsutil.Prettify(s)
  2188. }
  2189. // GoString returns the string representation
  2190. func (s DescribeComplianceByConfigRuleInput) GoString() string {
  2191. return s.String()
  2192. }
  2193. type DescribeComplianceByConfigRuleOutput struct {
  2194. _ struct{} `type:"structure"`
  2195. // Indicates whether each of the specified AWS Config rules is compliant.
  2196. ComplianceByConfigRules []*ComplianceByConfigRule `type:"list"`
  2197. // The string that you use in a subsequent request to get the next page of results
  2198. // in a paginated response.
  2199. NextToken *string `type:"string"`
  2200. }
  2201. // String returns the string representation
  2202. func (s DescribeComplianceByConfigRuleOutput) String() string {
  2203. return awsutil.Prettify(s)
  2204. }
  2205. // GoString returns the string representation
  2206. func (s DescribeComplianceByConfigRuleOutput) GoString() string {
  2207. return s.String()
  2208. }
  2209. type DescribeComplianceByResourceInput struct {
  2210. _ struct{} `type:"structure"`
  2211. // Filters the results by compliance.
  2212. //
  2213. // The allowed values are COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA.
  2214. ComplianceTypes []*string `type:"list"`
  2215. // The maximum number of evaluation results returned on each page. The default
  2216. // is 10. You cannot specify a limit greater than 100. If you specify 0, AWS
  2217. // Config uses the default.
  2218. Limit *int64 `type:"integer"`
  2219. // The nextToken string returned on a previous page that you use to get the
  2220. // next page of results in a paginated response.
  2221. NextToken *string `type:"string"`
  2222. // The ID of the AWS resource for which you want compliance information. You
  2223. // can specify only one resource ID. If you specify a resource ID, you must
  2224. // also specify a type for ResourceType.
  2225. ResourceId *string `min:"1" type:"string"`
  2226. // The types of AWS resources for which you want compliance information; for
  2227. // example, AWS::EC2::Instance. For this action, you can specify that the resource
  2228. // type is an AWS account by specifying AWS::::Account.
  2229. ResourceType *string `min:"1" type:"string"`
  2230. }
  2231. // String returns the string representation
  2232. func (s DescribeComplianceByResourceInput) String() string {
  2233. return awsutil.Prettify(s)
  2234. }
  2235. // GoString returns the string representation
  2236. func (s DescribeComplianceByResourceInput) GoString() string {
  2237. return s.String()
  2238. }
  2239. // Validate inspects the fields of the type to determine if they are valid.
  2240. func (s *DescribeComplianceByResourceInput) Validate() error {
  2241. invalidParams := request.ErrInvalidParams{Context: "DescribeComplianceByResourceInput"}
  2242. if s.ResourceId != nil && len(*s.ResourceId) < 1 {
  2243. invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
  2244. }
  2245. if s.ResourceType != nil && len(*s.ResourceType) < 1 {
  2246. invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
  2247. }
  2248. if invalidParams.Len() > 0 {
  2249. return invalidParams
  2250. }
  2251. return nil
  2252. }
  2253. type DescribeComplianceByResourceOutput struct {
  2254. _ struct{} `type:"structure"`
  2255. // Indicates whether the specified AWS resource complies with all of the AWS
  2256. // Config rules that evaluate it.
  2257. ComplianceByResources []*ComplianceByResource `type:"list"`
  2258. // The string that you use in a subsequent request to get the next page of results
  2259. // in a paginated response.
  2260. NextToken *string `type:"string"`
  2261. }
  2262. // String returns the string representation
  2263. func (s DescribeComplianceByResourceOutput) String() string {
  2264. return awsutil.Prettify(s)
  2265. }
  2266. // GoString returns the string representation
  2267. func (s DescribeComplianceByResourceOutput) GoString() string {
  2268. return s.String()
  2269. }
  2270. type DescribeConfigRuleEvaluationStatusInput struct {
  2271. _ struct{} `type:"structure"`
  2272. // The name of the AWS managed Config rules for which you want status information.
  2273. // If you do not specify any names, AWS Config returns status information for
  2274. // all AWS managed Config rules that you use.
  2275. ConfigRuleNames []*string `type:"list"`
  2276. }
  2277. // String returns the string representation
  2278. func (s DescribeConfigRuleEvaluationStatusInput) String() string {
  2279. return awsutil.Prettify(s)
  2280. }
  2281. // GoString returns the string representation
  2282. func (s DescribeConfigRuleEvaluationStatusInput) GoString() string {
  2283. return s.String()
  2284. }
  2285. type DescribeConfigRuleEvaluationStatusOutput struct {
  2286. _ struct{} `type:"structure"`
  2287. // Status information about your AWS managed Config rules.
  2288. ConfigRulesEvaluationStatus []*ConfigRuleEvaluationStatus `type:"list"`
  2289. }
  2290. // String returns the string representation
  2291. func (s DescribeConfigRuleEvaluationStatusOutput) String() string {
  2292. return awsutil.Prettify(s)
  2293. }
  2294. // GoString returns the string representation
  2295. func (s DescribeConfigRuleEvaluationStatusOutput) GoString() string {
  2296. return s.String()
  2297. }
  2298. type DescribeConfigRulesInput struct {
  2299. _ struct{} `type:"structure"`
  2300. // The names of the AWS Config rules for which you want details. If you do not
  2301. // specify any names, AWS Config returns details for all your rules.
  2302. ConfigRuleNames []*string `type:"list"`
  2303. // The nextToken string returned on a previous page that you use to get the
  2304. // next page of results in a paginated response.
  2305. NextToken *string `type:"string"`
  2306. }
  2307. // String returns the string representation
  2308. func (s DescribeConfigRulesInput) String() string {
  2309. return awsutil.Prettify(s)
  2310. }
  2311. // GoString returns the string representation
  2312. func (s DescribeConfigRulesInput) GoString() string {
  2313. return s.String()
  2314. }
  2315. type DescribeConfigRulesOutput struct {
  2316. _ struct{} `type:"structure"`
  2317. // The details about your AWS Config rules.
  2318. ConfigRules []*ConfigRule `type:"list"`
  2319. // The string that you use in a subsequent request to get the next page of results
  2320. // in a paginated response.
  2321. NextToken *string `type:"string"`
  2322. }
  2323. // String returns the string representation
  2324. func (s DescribeConfigRulesOutput) String() string {
  2325. return awsutil.Prettify(s)
  2326. }
  2327. // GoString returns the string representation
  2328. func (s DescribeConfigRulesOutput) GoString() string {
  2329. return s.String()
  2330. }
  2331. // The input for the DescribeConfigurationRecorderStatus action.
  2332. type DescribeConfigurationRecorderStatusInput struct {
  2333. _ struct{} `type:"structure"`
  2334. // The name(s) of the configuration recorder. If the name is not specified,
  2335. // the action returns the current status of all the configuration recorders
  2336. // associated with the account.
  2337. ConfigurationRecorderNames []*string `type:"list"`
  2338. }
  2339. // String returns the string representation
  2340. func (s DescribeConfigurationRecorderStatusInput) String() string {
  2341. return awsutil.Prettify(s)
  2342. }
  2343. // GoString returns the string representation
  2344. func (s DescribeConfigurationRecorderStatusInput) GoString() string {
  2345. return s.String()
  2346. }
  2347. // The output for the DescribeConfigurationRecorderStatus action in JSON format.
  2348. type DescribeConfigurationRecorderStatusOutput struct {
  2349. _ struct{} `type:"structure"`
  2350. // A list that contains status of the specified recorders.
  2351. ConfigurationRecordersStatus []*ConfigurationRecorderStatus `type:"list"`
  2352. }
  2353. // String returns the string representation
  2354. func (s DescribeConfigurationRecorderStatusOutput) String() string {
  2355. return awsutil.Prettify(s)
  2356. }
  2357. // GoString returns the string representation
  2358. func (s DescribeConfigurationRecorderStatusOutput) GoString() string {
  2359. return s.String()
  2360. }
  2361. // The input for the DescribeConfigurationRecorders action.
  2362. type DescribeConfigurationRecordersInput struct {
  2363. _ struct{} `type:"structure"`
  2364. // A list of configuration recorder names.
  2365. ConfigurationRecorderNames []*string `type:"list"`
  2366. }
  2367. // String returns the string representation
  2368. func (s DescribeConfigurationRecordersInput) String() string {
  2369. return awsutil.Prettify(s)
  2370. }
  2371. // GoString returns the string representation
  2372. func (s DescribeConfigurationRecordersInput) GoString() string {
  2373. return s.String()
  2374. }
  2375. // The output for the DescribeConfigurationRecorders action.
  2376. type DescribeConfigurationRecordersOutput struct {
  2377. _ struct{} `type:"structure"`
  2378. // A list that contains the descriptions of the specified configuration recorders.
  2379. ConfigurationRecorders []*ConfigurationRecorder `type:"list"`
  2380. }
  2381. // String returns the string representation
  2382. func (s DescribeConfigurationRecordersOutput) String() string {
  2383. return awsutil.Prettify(s)
  2384. }
  2385. // GoString returns the string representation
  2386. func (s DescribeConfigurationRecordersOutput) GoString() string {
  2387. return s.String()
  2388. }
  2389. // The input for the DeliveryChannelStatus action.
  2390. type DescribeDeliveryChannelStatusInput struct {
  2391. _ struct{} `type:"structure"`
  2392. // A list of delivery channel names.
  2393. DeliveryChannelNames []*string `type:"list"`
  2394. }
  2395. // String returns the string representation
  2396. func (s DescribeDeliveryChannelStatusInput) String() string {
  2397. return awsutil.Prettify(s)
  2398. }
  2399. // GoString returns the string representation
  2400. func (s DescribeDeliveryChannelStatusInput) GoString() string {
  2401. return s.String()
  2402. }
  2403. // The output for the DescribeDeliveryChannelStatus action.
  2404. type DescribeDeliveryChannelStatusOutput struct {
  2405. _ struct{} `type:"structure"`
  2406. // A list that contains the status of a specified delivery channel.
  2407. DeliveryChannelsStatus []*DeliveryChannelStatus `type:"list"`
  2408. }
  2409. // String returns the string representation
  2410. func (s DescribeDeliveryChannelStatusOutput) String() string {
  2411. return awsutil.Prettify(s)
  2412. }
  2413. // GoString returns the string representation
  2414. func (s DescribeDeliveryChannelStatusOutput) GoString() string {
  2415. return s.String()
  2416. }
  2417. // The input for the DescribeDeliveryChannels action.
  2418. type DescribeDeliveryChannelsInput struct {
  2419. _ struct{} `type:"structure"`
  2420. // A list of delivery channel names.
  2421. DeliveryChannelNames []*string `type:"list"`
  2422. }
  2423. // String returns the string representation
  2424. func (s DescribeDeliveryChannelsInput) String() string {
  2425. return awsutil.Prettify(s)
  2426. }
  2427. // GoString returns the string representation
  2428. func (s DescribeDeliveryChannelsInput) GoString() string {
  2429. return s.String()
  2430. }
  2431. // The output for the DescribeDeliveryChannels action.
  2432. type DescribeDeliveryChannelsOutput struct {
  2433. _ struct{} `type:"structure"`
  2434. // A list that contains the descriptions of the specified delivery channel.
  2435. DeliveryChannels []*DeliveryChannel `type:"list"`
  2436. }
  2437. // String returns the string representation
  2438. func (s DescribeDeliveryChannelsOutput) String() string {
  2439. return awsutil.Prettify(s)
  2440. }
  2441. // GoString returns the string representation
  2442. func (s DescribeDeliveryChannelsOutput) GoString() string {
  2443. return s.String()
  2444. }
  2445. // Identifies an AWS resource and indicates whether it complies with the AWS
  2446. // Config rule that it was evaluated against.
  2447. type Evaluation struct {
  2448. _ struct{} `type:"structure"`
  2449. // Supplementary information about how the evaluation determined the compliance.
  2450. Annotation *string `min:"1" type:"string"`
  2451. // The ID of the AWS resource that was evaluated.
  2452. ComplianceResourceId *string `min:"1" type:"string" required:"true"`
  2453. // The type of AWS resource that was evaluated.
  2454. ComplianceResourceType *string `min:"1" type:"string" required:"true"`
  2455. // Indicates whether the AWS resource complies with the AWS Config rule that
  2456. // it was evaluated against.
  2457. //
  2458. // For the Evaluation data type, AWS Config supports only the COMPLIANT, NON_COMPLIANT,
  2459. // and NOT_APPLICABLE values. AWS Config does not support the INSUFFICIENT_DATA
  2460. // value for this data type.
  2461. //
  2462. // Similarly, AWS Config does not accept INSUFFICIENT_DATA as the value for
  2463. // ComplianceType from a PutEvaluations request. For example, an AWS Lambda
  2464. // function for a custom Config rule cannot pass an INSUFFICIENT_DATA value
  2465. // to AWS Config.
  2466. ComplianceType *string `type:"string" required:"true" enum:"ComplianceType"`
  2467. // The time of the event in AWS Config that triggered the evaluation. For event-based
  2468. // evaluations, the time indicates when AWS Config created the configuration
  2469. // item that triggered the evaluation. For periodic evaluations, the time indicates
  2470. // when AWS Config delivered the configuration snapshot that triggered the evaluation.
  2471. OrderingTimestamp *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"`
  2472. }
  2473. // String returns the string representation
  2474. func (s Evaluation) String() string {
  2475. return awsutil.Prettify(s)
  2476. }
  2477. // GoString returns the string representation
  2478. func (s Evaluation) GoString() string {
  2479. return s.String()
  2480. }
  2481. // Validate inspects the fields of the type to determine if they are valid.
  2482. func (s *Evaluation) Validate() error {
  2483. invalidParams := request.ErrInvalidParams{Context: "Evaluation"}
  2484. if s.Annotation != nil && len(*s.Annotation) < 1 {
  2485. invalidParams.Add(request.NewErrParamMinLen("Annotation", 1))
  2486. }
  2487. if s.ComplianceResourceId == nil {
  2488. invalidParams.Add(request.NewErrParamRequired("ComplianceResourceId"))
  2489. }
  2490. if s.ComplianceResourceId != nil && len(*s.ComplianceResourceId) < 1 {
  2491. invalidParams.Add(request.NewErrParamMinLen("ComplianceResourceId", 1))
  2492. }
  2493. if s.ComplianceResourceType == nil {
  2494. invalidParams.Add(request.NewErrParamRequired("ComplianceResourceType"))
  2495. }
  2496. if s.ComplianceResourceType != nil && len(*s.ComplianceResourceType) < 1 {
  2497. invalidParams.Add(request.NewErrParamMinLen("ComplianceResourceType", 1))
  2498. }
  2499. if s.ComplianceType == nil {
  2500. invalidParams.Add(request.NewErrParamRequired("ComplianceType"))
  2501. }
  2502. if s.OrderingTimestamp == nil {
  2503. invalidParams.Add(request.NewErrParamRequired("OrderingTimestamp"))
  2504. }
  2505. if invalidParams.Len() > 0 {
  2506. return invalidParams
  2507. }
  2508. return nil
  2509. }
  2510. // The details of an AWS Config evaluation. Provides the AWS resource that was
  2511. // evaluated, the compliance of the resource, related timestamps, and supplementary
  2512. // information.
  2513. type EvaluationResult struct {
  2514. _ struct{} `type:"structure"`
  2515. // Supplementary information about how the evaluation determined the compliance.
  2516. Annotation *string `min:"1" type:"string"`
  2517. // Indicates whether the AWS resource complies with the AWS Config rule that
  2518. // evaluated it.
  2519. //
  2520. // For the EvaluationResult data type, AWS Config supports only the COMPLIANT,
  2521. // NON_COMPLIANT, and NOT_APPLICABLE values. AWS Config does not support the
  2522. // INSUFFICIENT_DATA value for the EvaluationResult data type.
  2523. ComplianceType *string `type:"string" enum:"ComplianceType"`
  2524. // The time when the AWS Config rule evaluated the AWS resource.
  2525. ConfigRuleInvokedTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  2526. // Uniquely identifies the evaluation result.
  2527. EvaluationResultIdentifier *EvaluationResultIdentifier `type:"structure"`
  2528. // The time when AWS Config recorded the evaluation result.
  2529. ResultRecordedTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  2530. // An encrypted token that associates an evaluation with an AWS Config rule.
  2531. // The token identifies the rule, the AWS resource being evaluated, and the
  2532. // event that triggered the evaluation.
  2533. ResultToken *string `type:"string"`
  2534. }
  2535. // String returns the string representation
  2536. func (s EvaluationResult) String() string {
  2537. return awsutil.Prettify(s)
  2538. }
  2539. // GoString returns the string representation
  2540. func (s EvaluationResult) GoString() string {
  2541. return s.String()
  2542. }
  2543. // Uniquely identifies an evaluation result.
  2544. type EvaluationResultIdentifier struct {
  2545. _ struct{} `type:"structure"`
  2546. // Identifies an AWS Config rule used to evaluate an AWS resource, and provides
  2547. // the type and ID of the evaluated resource.
  2548. EvaluationResultQualifier *EvaluationResultQualifier `type:"structure"`
  2549. // The time of the event that triggered the evaluation of your AWS resources.
  2550. // The time can indicate when AWS Config delivered a configuration item change
  2551. // notification, or it can indicate when AWS Config delivered the configuration
  2552. // snapshot, depending on which event triggered the evaluation.
  2553. OrderingTimestamp *time.Time `type:"timestamp" timestampFormat:"unix"`
  2554. }
  2555. // String returns the string representation
  2556. func (s EvaluationResultIdentifier) String() string {
  2557. return awsutil.Prettify(s)
  2558. }
  2559. // GoString returns the string representation
  2560. func (s EvaluationResultIdentifier) GoString() string {
  2561. return s.String()
  2562. }
  2563. // Identifies an AWS Config rule that evaluated an AWS resource, and provides
  2564. // the type and ID of the resource that the rule evaluated.
  2565. type EvaluationResultQualifier struct {
  2566. _ struct{} `type:"structure"`
  2567. // The name of the AWS Config rule that was used in the evaluation.
  2568. ConfigRuleName *string `min:"1" type:"string"`
  2569. // The ID of the evaluated AWS resource.
  2570. ResourceId *string `min:"1" type:"string"`
  2571. // The type of AWS resource that was evaluated.
  2572. ResourceType *string `min:"1" type:"string"`
  2573. }
  2574. // String returns the string representation
  2575. func (s EvaluationResultQualifier) String() string {
  2576. return awsutil.Prettify(s)
  2577. }
  2578. // GoString returns the string representation
  2579. func (s EvaluationResultQualifier) GoString() string {
  2580. return s.String()
  2581. }
  2582. type GetComplianceDetailsByConfigRuleInput struct {
  2583. _ struct{} `type:"structure"`
  2584. // Filters the results by compliance.
  2585. //
  2586. // The allowed values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.
  2587. ComplianceTypes []*string `type:"list"`
  2588. // The name of the AWS Config rule for which you want compliance information.
  2589. ConfigRuleName *string `min:"1" type:"string" required:"true"`
  2590. // The maximum number of evaluation results returned on each page. The default
  2591. // is 10. You cannot specify a limit greater than 100. If you specify 0, AWS
  2592. // Config uses the default.
  2593. Limit *int64 `type:"integer"`
  2594. // The nextToken string returned on a previous page that you use to get the
  2595. // next page of results in a paginated response.
  2596. NextToken *string `type:"string"`
  2597. }
  2598. // String returns the string representation
  2599. func (s GetComplianceDetailsByConfigRuleInput) String() string {
  2600. return awsutil.Prettify(s)
  2601. }
  2602. // GoString returns the string representation
  2603. func (s GetComplianceDetailsByConfigRuleInput) GoString() string {
  2604. return s.String()
  2605. }
  2606. // Validate inspects the fields of the type to determine if they are valid.
  2607. func (s *GetComplianceDetailsByConfigRuleInput) Validate() error {
  2608. invalidParams := request.ErrInvalidParams{Context: "GetComplianceDetailsByConfigRuleInput"}
  2609. if s.ConfigRuleName == nil {
  2610. invalidParams.Add(request.NewErrParamRequired("ConfigRuleName"))
  2611. }
  2612. if s.ConfigRuleName != nil && len(*s.ConfigRuleName) < 1 {
  2613. invalidParams.Add(request.NewErrParamMinLen("ConfigRuleName", 1))
  2614. }
  2615. if invalidParams.Len() > 0 {
  2616. return invalidParams
  2617. }
  2618. return nil
  2619. }
  2620. type GetComplianceDetailsByConfigRuleOutput struct {
  2621. _ struct{} `type:"structure"`
  2622. // Indicates whether the AWS resource complies with the specified AWS Config
  2623. // rule.
  2624. EvaluationResults []*EvaluationResult `type:"list"`
  2625. // The string that you use in a subsequent request to get the next page of results
  2626. // in a paginated response.
  2627. NextToken *string `type:"string"`
  2628. }
  2629. // String returns the string representation
  2630. func (s GetComplianceDetailsByConfigRuleOutput) String() string {
  2631. return awsutil.Prettify(s)
  2632. }
  2633. // GoString returns the string representation
  2634. func (s GetComplianceDetailsByConfigRuleOutput) GoString() string {
  2635. return s.String()
  2636. }
  2637. type GetComplianceDetailsByResourceInput struct {
  2638. _ struct{} `type:"structure"`
  2639. // Filters the results by compliance.
  2640. //
  2641. // The allowed values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.
  2642. ComplianceTypes []*string `type:"list"`
  2643. // The nextToken string returned on a previous page that you use to get the
  2644. // next page of results in a paginated response.
  2645. NextToken *string `type:"string"`
  2646. // The ID of the AWS resource for which you want compliance information.
  2647. ResourceId *string `min:"1" type:"string" required:"true"`
  2648. // The type of the AWS resource for which you want compliance information.
  2649. ResourceType *string `min:"1" type:"string" required:"true"`
  2650. }
  2651. // String returns the string representation
  2652. func (s GetComplianceDetailsByResourceInput) String() string {
  2653. return awsutil.Prettify(s)
  2654. }
  2655. // GoString returns the string representation
  2656. func (s GetComplianceDetailsByResourceInput) GoString() string {
  2657. return s.String()
  2658. }
  2659. // Validate inspects the fields of the type to determine if they are valid.
  2660. func (s *GetComplianceDetailsByResourceInput) Validate() error {
  2661. invalidParams := request.ErrInvalidParams{Context: "GetComplianceDetailsByResourceInput"}
  2662. if s.ResourceId == nil {
  2663. invalidParams.Add(request.NewErrParamRequired("ResourceId"))
  2664. }
  2665. if s.ResourceId != nil && len(*s.ResourceId) < 1 {
  2666. invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
  2667. }
  2668. if s.ResourceType == nil {
  2669. invalidParams.Add(request.NewErrParamRequired("ResourceType"))
  2670. }
  2671. if s.ResourceType != nil && len(*s.ResourceType) < 1 {
  2672. invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
  2673. }
  2674. if invalidParams.Len() > 0 {
  2675. return invalidParams
  2676. }
  2677. return nil
  2678. }
  2679. type GetComplianceDetailsByResourceOutput struct {
  2680. _ struct{} `type:"structure"`
  2681. // Indicates whether the specified AWS resource complies each AWS Config rule.
  2682. EvaluationResults []*EvaluationResult `type:"list"`
  2683. // The string that you use in a subsequent request to get the next page of results
  2684. // in a paginated response.
  2685. NextToken *string `type:"string"`
  2686. }
  2687. // String returns the string representation
  2688. func (s GetComplianceDetailsByResourceOutput) String() string {
  2689. return awsutil.Prettify(s)
  2690. }
  2691. // GoString returns the string representation
  2692. func (s GetComplianceDetailsByResourceOutput) GoString() string {
  2693. return s.String()
  2694. }
  2695. type GetComplianceSummaryByConfigRuleInput struct {
  2696. _ struct{} `type:"structure"`
  2697. }
  2698. // String returns the string representation
  2699. func (s GetComplianceSummaryByConfigRuleInput) String() string {
  2700. return awsutil.Prettify(s)
  2701. }
  2702. // GoString returns the string representation
  2703. func (s GetComplianceSummaryByConfigRuleInput) GoString() string {
  2704. return s.String()
  2705. }
  2706. type GetComplianceSummaryByConfigRuleOutput struct {
  2707. _ struct{} `type:"structure"`
  2708. // The number of AWS Config rules that are compliant and the number that are
  2709. // noncompliant, up to a maximum of 25 for each.
  2710. ComplianceSummary *ComplianceSummary `type:"structure"`
  2711. }
  2712. // String returns the string representation
  2713. func (s GetComplianceSummaryByConfigRuleOutput) String() string {
  2714. return awsutil.Prettify(s)
  2715. }
  2716. // GoString returns the string representation
  2717. func (s GetComplianceSummaryByConfigRuleOutput) GoString() string {
  2718. return s.String()
  2719. }
  2720. type GetComplianceSummaryByResourceTypeInput struct {
  2721. _ struct{} `type:"structure"`
  2722. // Specify one or more resource types to get the number of resources that are
  2723. // compliant and the number that are noncompliant for each resource type.
  2724. //
  2725. // For this request, you can specify an AWS resource type such as AWS::EC2::Instance,
  2726. // and you can specify that the resource type is an AWS account by specifying
  2727. // AWS::::Account.
  2728. ResourceTypes []*string `type:"list"`
  2729. }
  2730. // String returns the string representation
  2731. func (s GetComplianceSummaryByResourceTypeInput) String() string {
  2732. return awsutil.Prettify(s)
  2733. }
  2734. // GoString returns the string representation
  2735. func (s GetComplianceSummaryByResourceTypeInput) GoString() string {
  2736. return s.String()
  2737. }
  2738. type GetComplianceSummaryByResourceTypeOutput struct {
  2739. _ struct{} `type:"structure"`
  2740. // The number of resources that are compliant and the number that are noncompliant.
  2741. // If one or more resource types were provided with the request, the numbers
  2742. // are returned for each resource type. The maximum number returned is 100.
  2743. ComplianceSummariesByResourceType []*ComplianceSummaryByResourceType `type:"list"`
  2744. }
  2745. // String returns the string representation
  2746. func (s GetComplianceSummaryByResourceTypeOutput) String() string {
  2747. return awsutil.Prettify(s)
  2748. }
  2749. // GoString returns the string representation
  2750. func (s GetComplianceSummaryByResourceTypeOutput) GoString() string {
  2751. return s.String()
  2752. }
  2753. // The input for the GetResourceConfigHistory action.
  2754. type GetResourceConfigHistoryInput struct {
  2755. _ struct{} `type:"structure"`
  2756. // The chronological order for configuration items listed. By default the results
  2757. // are listed in reverse chronological order.
  2758. ChronologicalOrder *string `locationName:"chronologicalOrder" type:"string" enum:"ChronologicalOrder"`
  2759. // The time stamp that indicates an earlier time. If not specified, the action
  2760. // returns paginated results that contain configuration items that start from
  2761. // when the first configuration item was recorded.
  2762. EarlierTime *time.Time `locationName:"earlierTime" type:"timestamp" timestampFormat:"unix"`
  2763. // The time stamp that indicates a later time. If not specified, current time
  2764. // is taken.
  2765. LaterTime *time.Time `locationName:"laterTime" type:"timestamp" timestampFormat:"unix"`
  2766. // The maximum number of configuration items returned on each page. The default
  2767. // is 10. You cannot specify a limit greater than 100. If you specify 0, AWS
  2768. // Config uses the default.
  2769. Limit *int64 `locationName:"limit" type:"integer"`
  2770. // The nextToken string returned on a previous page that you use to get the
  2771. // next page of results in a paginated response.
  2772. NextToken *string `locationName:"nextToken" type:"string"`
  2773. // The ID of the resource (for example., sg-xxxxxx).
  2774. ResourceId *string `locationName:"resourceId" type:"string" required:"true"`
  2775. // The resource type.
  2776. ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"`
  2777. }
  2778. // String returns the string representation
  2779. func (s GetResourceConfigHistoryInput) String() string {
  2780. return awsutil.Prettify(s)
  2781. }
  2782. // GoString returns the string representation
  2783. func (s GetResourceConfigHistoryInput) GoString() string {
  2784. return s.String()
  2785. }
  2786. // Validate inspects the fields of the type to determine if they are valid.
  2787. func (s *GetResourceConfigHistoryInput) Validate() error {
  2788. invalidParams := request.ErrInvalidParams{Context: "GetResourceConfigHistoryInput"}
  2789. if s.ResourceId == nil {
  2790. invalidParams.Add(request.NewErrParamRequired("ResourceId"))
  2791. }
  2792. if s.ResourceType == nil {
  2793. invalidParams.Add(request.NewErrParamRequired("ResourceType"))
  2794. }
  2795. if invalidParams.Len() > 0 {
  2796. return invalidParams
  2797. }
  2798. return nil
  2799. }
  2800. // The output for the GetResourceConfigHistory action.
  2801. type GetResourceConfigHistoryOutput struct {
  2802. _ struct{} `type:"structure"`
  2803. // A list that contains the configuration history of one or more resources.
  2804. ConfigurationItems []*ConfigurationItem `locationName:"configurationItems" type:"list"`
  2805. // The string that you use in a subsequent request to get the next page of results
  2806. // in a paginated response.
  2807. NextToken *string `locationName:"nextToken" type:"string"`
  2808. }
  2809. // String returns the string representation
  2810. func (s GetResourceConfigHistoryOutput) String() string {
  2811. return awsutil.Prettify(s)
  2812. }
  2813. // GoString returns the string representation
  2814. func (s GetResourceConfigHistoryOutput) GoString() string {
  2815. return s.String()
  2816. }
  2817. type ListDiscoveredResourcesInput struct {
  2818. _ struct{} `type:"structure"`
  2819. // Specifies whether AWS Config includes deleted resources in the results. By
  2820. // default, deleted resources are not included.
  2821. IncludeDeletedResources *bool `locationName:"includeDeletedResources" type:"boolean"`
  2822. // The maximum number of resource identifiers returned on each page. The default
  2823. // is 100. You cannot specify a limit greater than 100. If you specify 0, AWS
  2824. // Config uses the default.
  2825. Limit *int64 `locationName:"limit" type:"integer"`
  2826. // The nextToken string returned on a previous page that you use to get the
  2827. // next page of results in a paginated response.
  2828. NextToken *string `locationName:"nextToken" type:"string"`
  2829. // The IDs of only those resources that you want AWS Config to list in the response.
  2830. // If you do not specify this parameter, AWS Config lists all resources of the
  2831. // specified type that it has discovered.
  2832. ResourceIds []*string `locationName:"resourceIds" type:"list"`
  2833. // The custom name of only those resources that you want AWS Config to list
  2834. // in the response. If you do not specify this parameter, AWS Config lists all
  2835. // resources of the specified type that it has discovered.
  2836. ResourceName *string `locationName:"resourceName" type:"string"`
  2837. // The type of resources that you want AWS Config to list in the response.
  2838. ResourceType *string `locationName:"resourceType" type:"string" required:"true" enum:"ResourceType"`
  2839. }
  2840. // String returns the string representation
  2841. func (s ListDiscoveredResourcesInput) String() string {
  2842. return awsutil.Prettify(s)
  2843. }
  2844. // GoString returns the string representation
  2845. func (s ListDiscoveredResourcesInput) GoString() string {
  2846. return s.String()
  2847. }
  2848. // Validate inspects the fields of the type to determine if they are valid.
  2849. func (s *ListDiscoveredResourcesInput) Validate() error {
  2850. invalidParams := request.ErrInvalidParams{Context: "ListDiscoveredResourcesInput"}
  2851. if s.ResourceType == nil {
  2852. invalidParams.Add(request.NewErrParamRequired("ResourceType"))
  2853. }
  2854. if invalidParams.Len() > 0 {
  2855. return invalidParams
  2856. }
  2857. return nil
  2858. }
  2859. type ListDiscoveredResourcesOutput struct {
  2860. _ struct{} `type:"structure"`
  2861. // The string that you use in a subsequent request to get the next page of results
  2862. // in a paginated response.
  2863. NextToken *string `locationName:"nextToken" type:"string"`
  2864. // The details that identify a resource that is discovered by AWS Config, including
  2865. // the resource type, ID, and (if available) the custom resource name.
  2866. ResourceIdentifiers []*ResourceIdentifier `locationName:"resourceIdentifiers" type:"list"`
  2867. }
  2868. // String returns the string representation
  2869. func (s ListDiscoveredResourcesOutput) String() string {
  2870. return awsutil.Prettify(s)
  2871. }
  2872. // GoString returns the string representation
  2873. func (s ListDiscoveredResourcesOutput) GoString() string {
  2874. return s.String()
  2875. }
  2876. type PutConfigRuleInput struct {
  2877. _ struct{} `type:"structure"`
  2878. // An AWS Lambda function that evaluates configuration items to assess whether
  2879. // your AWS resources comply with your desired configurations. This function
  2880. // can run when AWS Config detects a configuration change to an AWS resource
  2881. // and at a periodic frequency that you choose (for example, every 24 hours).
  2882. //
  2883. // You can use the AWS CLI and AWS SDKs if you want to create a rule that
  2884. // triggers evaluations for your resources when AWS Config delivers the configuration
  2885. // snapshot. For more information, see ConfigSnapshotDeliveryProperties.
  2886. //
  2887. // For more information about developing and using AWS Config rules, see Evaluating
  2888. // AWS Resource Configurations with AWS Config (http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html)
  2889. // in the AWS Config Developer Guide.
  2890. ConfigRule *ConfigRule `type:"structure" required:"true"`
  2891. }
  2892. // String returns the string representation
  2893. func (s PutConfigRuleInput) String() string {
  2894. return awsutil.Prettify(s)
  2895. }
  2896. // GoString returns the string representation
  2897. func (s PutConfigRuleInput) GoString() string {
  2898. return s.String()
  2899. }
  2900. // Validate inspects the fields of the type to determine if they are valid.
  2901. func (s *PutConfigRuleInput) Validate() error {
  2902. invalidParams := request.ErrInvalidParams{Context: "PutConfigRuleInput"}
  2903. if s.ConfigRule == nil {
  2904. invalidParams.Add(request.NewErrParamRequired("ConfigRule"))
  2905. }
  2906. if s.ConfigRule != nil {
  2907. if err := s.ConfigRule.Validate(); err != nil {
  2908. invalidParams.AddNested("ConfigRule", err.(request.ErrInvalidParams))
  2909. }
  2910. }
  2911. if invalidParams.Len() > 0 {
  2912. return invalidParams
  2913. }
  2914. return nil
  2915. }
  2916. type PutConfigRuleOutput struct {
  2917. _ struct{} `type:"structure"`
  2918. }
  2919. // String returns the string representation
  2920. func (s PutConfigRuleOutput) String() string {
  2921. return awsutil.Prettify(s)
  2922. }
  2923. // GoString returns the string representation
  2924. func (s PutConfigRuleOutput) GoString() string {
  2925. return s.String()
  2926. }
  2927. // The input for the PutConfigurationRecorder action.
  2928. type PutConfigurationRecorderInput struct {
  2929. _ struct{} `type:"structure"`
  2930. // The configuration recorder object that records each configuration change
  2931. // made to the resources.
  2932. ConfigurationRecorder *ConfigurationRecorder `type:"structure" required:"true"`
  2933. }
  2934. // String returns the string representation
  2935. func (s PutConfigurationRecorderInput) String() string {
  2936. return awsutil.Prettify(s)
  2937. }
  2938. // GoString returns the string representation
  2939. func (s PutConfigurationRecorderInput) GoString() string {
  2940. return s.String()
  2941. }
  2942. // Validate inspects the fields of the type to determine if they are valid.
  2943. func (s *PutConfigurationRecorderInput) Validate() error {
  2944. invalidParams := request.ErrInvalidParams{Context: "PutConfigurationRecorderInput"}
  2945. if s.ConfigurationRecorder == nil {
  2946. invalidParams.Add(request.NewErrParamRequired("ConfigurationRecorder"))
  2947. }
  2948. if s.ConfigurationRecorder != nil {
  2949. if err := s.ConfigurationRecorder.Validate(); err != nil {
  2950. invalidParams.AddNested("ConfigurationRecorder", err.(request.ErrInvalidParams))
  2951. }
  2952. }
  2953. if invalidParams.Len() > 0 {
  2954. return invalidParams
  2955. }
  2956. return nil
  2957. }
  2958. type PutConfigurationRecorderOutput struct {
  2959. _ struct{} `type:"structure"`
  2960. }
  2961. // String returns the string representation
  2962. func (s PutConfigurationRecorderOutput) String() string {
  2963. return awsutil.Prettify(s)
  2964. }
  2965. // GoString returns the string representation
  2966. func (s PutConfigurationRecorderOutput) GoString() string {
  2967. return s.String()
  2968. }
  2969. // The input for the PutDeliveryChannel action.
  2970. type PutDeliveryChannelInput struct {
  2971. _ struct{} `type:"structure"`
  2972. // The configuration delivery channel object that delivers the configuration
  2973. // information to an Amazon S3 bucket, and to an Amazon SNS topic.
  2974. DeliveryChannel *DeliveryChannel `type:"structure" required:"true"`
  2975. }
  2976. // String returns the string representation
  2977. func (s PutDeliveryChannelInput) String() string {
  2978. return awsutil.Prettify(s)
  2979. }
  2980. // GoString returns the string representation
  2981. func (s PutDeliveryChannelInput) GoString() string {
  2982. return s.String()
  2983. }
  2984. // Validate inspects the fields of the type to determine if they are valid.
  2985. func (s *PutDeliveryChannelInput) Validate() error {
  2986. invalidParams := request.ErrInvalidParams{Context: "PutDeliveryChannelInput"}
  2987. if s.DeliveryChannel == nil {
  2988. invalidParams.Add(request.NewErrParamRequired("DeliveryChannel"))
  2989. }
  2990. if s.DeliveryChannel != nil {
  2991. if err := s.DeliveryChannel.Validate(); err != nil {
  2992. invalidParams.AddNested("DeliveryChannel", err.(request.ErrInvalidParams))
  2993. }
  2994. }
  2995. if invalidParams.Len() > 0 {
  2996. return invalidParams
  2997. }
  2998. return nil
  2999. }
  3000. type PutDeliveryChannelOutput struct {
  3001. _ struct{} `type:"structure"`
  3002. }
  3003. // String returns the string representation
  3004. func (s PutDeliveryChannelOutput) String() string {
  3005. return awsutil.Prettify(s)
  3006. }
  3007. // GoString returns the string representation
  3008. func (s PutDeliveryChannelOutput) GoString() string {
  3009. return s.String()
  3010. }
  3011. type PutEvaluationsInput struct {
  3012. _ struct{} `type:"structure"`
  3013. // The assessments that the AWS Lambda function performs. Each evaluation identifies
  3014. // an AWS resource and indicates whether it complies with the AWS Config rule
  3015. // that invokes the AWS Lambda function.
  3016. Evaluations []*Evaluation `type:"list"`
  3017. // An encrypted token that associates an evaluation with an AWS Config rule.
  3018. // Identifies the rule and the event that triggered the evaluation
  3019. ResultToken *string `type:"string" required:"true"`
  3020. }
  3021. // String returns the string representation
  3022. func (s PutEvaluationsInput) String() string {
  3023. return awsutil.Prettify(s)
  3024. }
  3025. // GoString returns the string representation
  3026. func (s PutEvaluationsInput) GoString() string {
  3027. return s.String()
  3028. }
  3029. // Validate inspects the fields of the type to determine if they are valid.
  3030. func (s *PutEvaluationsInput) Validate() error {
  3031. invalidParams := request.ErrInvalidParams{Context: "PutEvaluationsInput"}
  3032. if s.ResultToken == nil {
  3033. invalidParams.Add(request.NewErrParamRequired("ResultToken"))
  3034. }
  3035. if s.Evaluations != nil {
  3036. for i, v := range s.Evaluations {
  3037. if v == nil {
  3038. continue
  3039. }
  3040. if err := v.Validate(); err != nil {
  3041. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Evaluations", i), err.(request.ErrInvalidParams))
  3042. }
  3043. }
  3044. }
  3045. if invalidParams.Len() > 0 {
  3046. return invalidParams
  3047. }
  3048. return nil
  3049. }
  3050. type PutEvaluationsOutput struct {
  3051. _ struct{} `type:"structure"`
  3052. // Requests that failed because of a client or server error.
  3053. FailedEvaluations []*Evaluation `type:"list"`
  3054. }
  3055. // String returns the string representation
  3056. func (s PutEvaluationsOutput) String() string {
  3057. return awsutil.Prettify(s)
  3058. }
  3059. // GoString returns the string representation
  3060. func (s PutEvaluationsOutput) GoString() string {
  3061. return s.String()
  3062. }
  3063. // Specifies the types of AWS resource for which AWS Config records configuration
  3064. // changes.
  3065. //
  3066. // In the recording group, you specify whether all supported types or specific
  3067. // types of resources are recorded.
  3068. //
  3069. // By default, AWS Config records configuration changes for all supported types
  3070. // of regional resources that AWS Config discovers in the region in which it
  3071. // is running. Regional resources are tied to a region and can be used only
  3072. // in that region. Examples of regional resources are EC2 instances and EBS
  3073. // volumes.
  3074. //
  3075. // You can also have AWS Config record configuration changes for supported
  3076. // types of global resources (for example, IAM resources). Global resources
  3077. // are not tied to an individual region and can be used in all regions.
  3078. //
  3079. // The configuration details for any global resource are the same in all regions.
  3080. // If you customize AWS Config in multiple regions to record global resources,
  3081. // it will create multiple configuration items each time a global resource changes:
  3082. // one configuration item for each region. These configuration items will contain
  3083. // identical data. To prevent duplicate configuration items, you should consider
  3084. // customizing AWS Config in only one region to record global resources, unless
  3085. // you want the configuration items to be available in multiple regions.
  3086. //
  3087. // If you don't want AWS Config to record all resources, you can specify which
  3088. // types of resources it will record with the resourceTypes parameter.
  3089. //
  3090. // 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).
  3091. //
  3092. // For more information, see Selecting Which Resources AWS Config Records (http://docs.aws.amazon.com/config/latest/developerguide/select-resources.html).
  3093. type RecordingGroup struct {
  3094. _ struct{} `type:"structure"`
  3095. // Specifies whether AWS Config records configuration changes for every supported
  3096. // type of regional resource.
  3097. //
  3098. // If you set this option to true, when AWS Config adds support for a new type
  3099. // of regional resource, it automatically starts recording resources of that
  3100. // type.
  3101. //
  3102. // If you set this option to true, you cannot enumerate a list of resourceTypes.
  3103. AllSupported *bool `locationName:"allSupported" type:"boolean"`
  3104. // Specifies whether AWS Config includes all supported types of global resources
  3105. // (for example, IAM resources) with the resources that it records.
  3106. //
  3107. // Before you can set this option to true, you must set the allSupported option
  3108. // to true.
  3109. //
  3110. // If you set this option to true, when AWS Config adds support for a new type
  3111. // of global resource, it automatically starts recording resources of that type.
  3112. //
  3113. // The configuration details for any global resource are the same in all regions.
  3114. // To prevent duplicate configuration items, you should consider customizing
  3115. // AWS Config in only one region to record global resources.
  3116. IncludeGlobalResourceTypes *bool `locationName:"includeGlobalResourceTypes" type:"boolean"`
  3117. // A comma-separated list that specifies the types of AWS resources for which
  3118. // AWS Config records configuration changes (for example, AWS::EC2::Instance
  3119. // or AWS::CloudTrail::Trail).
  3120. //
  3121. // Before you can set this option to true, you must set the allSupported option
  3122. // to false.
  3123. //
  3124. // If you set this option to true, when AWS Config adds support for a new type
  3125. // of resource, it will not record resources of that type unless you manually
  3126. // add that type to your recording group.
  3127. //
  3128. // For a list of valid resourceTypes values, see the resourceType Value column
  3129. // in Supported AWS Resource Types (http://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources).
  3130. ResourceTypes []*string `locationName:"resourceTypes" type:"list"`
  3131. }
  3132. // String returns the string representation
  3133. func (s RecordingGroup) String() string {
  3134. return awsutil.Prettify(s)
  3135. }
  3136. // GoString returns the string representation
  3137. func (s RecordingGroup) GoString() string {
  3138. return s.String()
  3139. }
  3140. // The relationship of the related resource to the main resource.
  3141. type Relationship struct {
  3142. _ struct{} `type:"structure"`
  3143. // The type of relationship with the related resource.
  3144. RelationshipName *string `locationName:"relationshipName" type:"string"`
  3145. // The ID of the related resource (for example, sg-xxxxxx).
  3146. ResourceId *string `locationName:"resourceId" type:"string"`
  3147. // The custom name of the related resource, if available.
  3148. ResourceName *string `locationName:"resourceName" type:"string"`
  3149. // The resource type of the related resource.
  3150. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  3151. }
  3152. // String returns the string representation
  3153. func (s Relationship) String() string {
  3154. return awsutil.Prettify(s)
  3155. }
  3156. // GoString returns the string representation
  3157. func (s Relationship) GoString() string {
  3158. return s.String()
  3159. }
  3160. // The details that identify a resource that is discovered by AWS Config, including
  3161. // the resource type, ID, and (if available) the custom resource name.
  3162. type ResourceIdentifier struct {
  3163. _ struct{} `type:"structure"`
  3164. // The time that the resource was deleted.
  3165. ResourceDeletionTime *time.Time `locationName:"resourceDeletionTime" type:"timestamp" timestampFormat:"unix"`
  3166. // The ID of the resource (for example., sg-xxxxxx).
  3167. ResourceId *string `locationName:"resourceId" type:"string"`
  3168. // The custom name of the resource (if available).
  3169. ResourceName *string `locationName:"resourceName" type:"string"`
  3170. // The type of resource.
  3171. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  3172. }
  3173. // String returns the string representation
  3174. func (s ResourceIdentifier) String() string {
  3175. return awsutil.Prettify(s)
  3176. }
  3177. // GoString returns the string representation
  3178. func (s ResourceIdentifier) GoString() string {
  3179. return s.String()
  3180. }
  3181. // Defines which resources trigger an evaluation for an AWS Config rule. The
  3182. // scope can include one or more resource types, a combination of a tag key
  3183. // and value, or a combination of one resource type and one resource ID. Specify
  3184. // a scope to constrain which resources trigger an evaluation for a rule. Otherwise,
  3185. // evaluations for the rule are triggered when any resource in your recording
  3186. // group changes in configuration.
  3187. type Scope struct {
  3188. _ struct{} `type:"structure"`
  3189. // The IDs of the only AWS resource that you want to trigger an evaluation for
  3190. // the rule. If you specify a resource ID, you must specify one resource type
  3191. // for ComplianceResourceTypes.
  3192. ComplianceResourceId *string `min:"1" type:"string"`
  3193. // The resource types of only those AWS resources that you want to trigger an
  3194. // evaluation for the rule. You can only specify one type if you also specify
  3195. // a resource ID for ComplianceResourceId.
  3196. ComplianceResourceTypes []*string `type:"list"`
  3197. // The tag key that is applied to only those AWS resources that you want you
  3198. // want to trigger an evaluation for the rule.
  3199. TagKey *string `min:"1" type:"string"`
  3200. // The tag value applied to only those AWS resources that you want to trigger
  3201. // an evaluation for the rule. If you specify a value for TagValue, you must
  3202. // also specify a value for TagKey.
  3203. TagValue *string `min:"1" type:"string"`
  3204. }
  3205. // String returns the string representation
  3206. func (s Scope) String() string {
  3207. return awsutil.Prettify(s)
  3208. }
  3209. // GoString returns the string representation
  3210. func (s Scope) GoString() string {
  3211. return s.String()
  3212. }
  3213. // Validate inspects the fields of the type to determine if they are valid.
  3214. func (s *Scope) Validate() error {
  3215. invalidParams := request.ErrInvalidParams{Context: "Scope"}
  3216. if s.ComplianceResourceId != nil && len(*s.ComplianceResourceId) < 1 {
  3217. invalidParams.Add(request.NewErrParamMinLen("ComplianceResourceId", 1))
  3218. }
  3219. if s.TagKey != nil && len(*s.TagKey) < 1 {
  3220. invalidParams.Add(request.NewErrParamMinLen("TagKey", 1))
  3221. }
  3222. if s.TagValue != nil && len(*s.TagValue) < 1 {
  3223. invalidParams.Add(request.NewErrParamMinLen("TagValue", 1))
  3224. }
  3225. if invalidParams.Len() > 0 {
  3226. return invalidParams
  3227. }
  3228. return nil
  3229. }
  3230. // Provides the AWS Config rule owner (AWS or customer), the rule identifier,
  3231. // and the events that trigger the evaluation of your AWS resources.
  3232. type Source struct {
  3233. _ struct{} `type:"structure"`
  3234. // Indicates whether AWS or the customer owns and manages the AWS Config rule.
  3235. Owner *string `type:"string" enum:"Owner"`
  3236. // Provides the source and type of the event that causes AWS Config to evaluate
  3237. // your AWS resources.
  3238. SourceDetails []*SourceDetail `type:"list"`
  3239. // For AWS managed Config rules, a pre-defined identifier from a list. To reference
  3240. // the list, see Using AWS Managed Config Rules (http://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).
  3241. //
  3242. // For custom Config rules, the identifier is the Amazon Resource Name (ARN)
  3243. // of the rule's AWS Lambda function.
  3244. SourceIdentifier *string `min:"1" type:"string"`
  3245. }
  3246. // String returns the string representation
  3247. func (s Source) String() string {
  3248. return awsutil.Prettify(s)
  3249. }
  3250. // GoString returns the string representation
  3251. func (s Source) GoString() string {
  3252. return s.String()
  3253. }
  3254. // Validate inspects the fields of the type to determine if they are valid.
  3255. func (s *Source) Validate() error {
  3256. invalidParams := request.ErrInvalidParams{Context: "Source"}
  3257. if s.SourceIdentifier != nil && len(*s.SourceIdentifier) < 1 {
  3258. invalidParams.Add(request.NewErrParamMinLen("SourceIdentifier", 1))
  3259. }
  3260. if invalidParams.Len() > 0 {
  3261. return invalidParams
  3262. }
  3263. return nil
  3264. }
  3265. // Provides the source and the message type that trigger AWS Config to evaluate
  3266. // your AWS resources against a rule. It also provides the frequency with which
  3267. // you want AWS Config to run evaluations for the rule if the trigger type is
  3268. // periodic.
  3269. type SourceDetail struct {
  3270. _ struct{} `type:"structure"`
  3271. // The source of the event, such as an AWS service, that triggers AWS Config
  3272. // to evaluate your AWS resources.
  3273. EventSource *string `type:"string" enum:"EventSource"`
  3274. // If the trigger type for your rule includes periodic, AWS Config runs evaluations
  3275. // for the rule at a frequency that you choose. If you specify a value for MaximumExecutionFrequency,
  3276. // then MessageType must use the ScheduledNotification value.
  3277. MaximumExecutionFrequency *string `type:"string" enum:"MaximumExecutionFrequency"`
  3278. // The type of SNS message that triggers AWS Config to run an evaluation.
  3279. //
  3280. // For evaluations that are initiated when AWS Config delivers a configuration
  3281. // item change notification, you must use ConfigurationItemChangeNotification.
  3282. //
  3283. // For evaluations that are initiated at a frequency that you choose (for example,
  3284. // every 24 hours), you must use ScheduledNotification.
  3285. //
  3286. // For evaluations that are initiated when AWS Config delivers a configuration
  3287. // snapshot, you must use ConfigurationSnapshotDeliveryCompleted.
  3288. MessageType *string `type:"string" enum:"MessageType"`
  3289. }
  3290. // String returns the string representation
  3291. func (s SourceDetail) String() string {
  3292. return awsutil.Prettify(s)
  3293. }
  3294. // GoString returns the string representation
  3295. func (s SourceDetail) GoString() string {
  3296. return s.String()
  3297. }
  3298. type StartConfigRulesEvaluationInput struct {
  3299. _ struct{} `type:"structure"`
  3300. // The list of names of Config rules that you want to run evaluations for.
  3301. ConfigRuleNames []*string `min:"1" type:"list"`
  3302. }
  3303. // String returns the string representation
  3304. func (s StartConfigRulesEvaluationInput) String() string {
  3305. return awsutil.Prettify(s)
  3306. }
  3307. // GoString returns the string representation
  3308. func (s StartConfigRulesEvaluationInput) GoString() string {
  3309. return s.String()
  3310. }
  3311. // Validate inspects the fields of the type to determine if they are valid.
  3312. func (s *StartConfigRulesEvaluationInput) Validate() error {
  3313. invalidParams := request.ErrInvalidParams{Context: "StartConfigRulesEvaluationInput"}
  3314. if s.ConfigRuleNames != nil && len(s.ConfigRuleNames) < 1 {
  3315. invalidParams.Add(request.NewErrParamMinLen("ConfigRuleNames", 1))
  3316. }
  3317. if invalidParams.Len() > 0 {
  3318. return invalidParams
  3319. }
  3320. return nil
  3321. }
  3322. // The output when you start the evaluation for the specified Config rule.
  3323. type StartConfigRulesEvaluationOutput struct {
  3324. _ struct{} `type:"structure"`
  3325. }
  3326. // String returns the string representation
  3327. func (s StartConfigRulesEvaluationOutput) String() string {
  3328. return awsutil.Prettify(s)
  3329. }
  3330. // GoString returns the string representation
  3331. func (s StartConfigRulesEvaluationOutput) GoString() string {
  3332. return s.String()
  3333. }
  3334. // The input for the StartConfigurationRecorder action.
  3335. type StartConfigurationRecorderInput struct {
  3336. _ struct{} `type:"structure"`
  3337. // The name of the recorder object that records each configuration change made
  3338. // to the resources.
  3339. ConfigurationRecorderName *string `min:"1" type:"string" required:"true"`
  3340. }
  3341. // String returns the string representation
  3342. func (s StartConfigurationRecorderInput) String() string {
  3343. return awsutil.Prettify(s)
  3344. }
  3345. // GoString returns the string representation
  3346. func (s StartConfigurationRecorderInput) GoString() string {
  3347. return s.String()
  3348. }
  3349. // Validate inspects the fields of the type to determine if they are valid.
  3350. func (s *StartConfigurationRecorderInput) Validate() error {
  3351. invalidParams := request.ErrInvalidParams{Context: "StartConfigurationRecorderInput"}
  3352. if s.ConfigurationRecorderName == nil {
  3353. invalidParams.Add(request.NewErrParamRequired("ConfigurationRecorderName"))
  3354. }
  3355. if s.ConfigurationRecorderName != nil && len(*s.ConfigurationRecorderName) < 1 {
  3356. invalidParams.Add(request.NewErrParamMinLen("ConfigurationRecorderName", 1))
  3357. }
  3358. if invalidParams.Len() > 0 {
  3359. return invalidParams
  3360. }
  3361. return nil
  3362. }
  3363. type StartConfigurationRecorderOutput struct {
  3364. _ struct{} `type:"structure"`
  3365. }
  3366. // String returns the string representation
  3367. func (s StartConfigurationRecorderOutput) String() string {
  3368. return awsutil.Prettify(s)
  3369. }
  3370. // GoString returns the string representation
  3371. func (s StartConfigurationRecorderOutput) GoString() string {
  3372. return s.String()
  3373. }
  3374. // The input for the StopConfigurationRecorder action.
  3375. type StopConfigurationRecorderInput struct {
  3376. _ struct{} `type:"structure"`
  3377. // The name of the recorder object that records each configuration change made
  3378. // to the resources.
  3379. ConfigurationRecorderName *string `min:"1" type:"string" required:"true"`
  3380. }
  3381. // String returns the string representation
  3382. func (s StopConfigurationRecorderInput) String() string {
  3383. return awsutil.Prettify(s)
  3384. }
  3385. // GoString returns the string representation
  3386. func (s StopConfigurationRecorderInput) GoString() string {
  3387. return s.String()
  3388. }
  3389. // Validate inspects the fields of the type to determine if they are valid.
  3390. func (s *StopConfigurationRecorderInput) Validate() error {
  3391. invalidParams := request.ErrInvalidParams{Context: "StopConfigurationRecorderInput"}
  3392. if s.ConfigurationRecorderName == nil {
  3393. invalidParams.Add(request.NewErrParamRequired("ConfigurationRecorderName"))
  3394. }
  3395. if s.ConfigurationRecorderName != nil && len(*s.ConfigurationRecorderName) < 1 {
  3396. invalidParams.Add(request.NewErrParamMinLen("ConfigurationRecorderName", 1))
  3397. }
  3398. if invalidParams.Len() > 0 {
  3399. return invalidParams
  3400. }
  3401. return nil
  3402. }
  3403. type StopConfigurationRecorderOutput struct {
  3404. _ struct{} `type:"structure"`
  3405. }
  3406. // String returns the string representation
  3407. func (s StopConfigurationRecorderOutput) String() string {
  3408. return awsutil.Prettify(s)
  3409. }
  3410. // GoString returns the string representation
  3411. func (s StopConfigurationRecorderOutput) GoString() string {
  3412. return s.String()
  3413. }
  3414. const (
  3415. // @enum ChronologicalOrder
  3416. ChronologicalOrderReverse = "Reverse"
  3417. // @enum ChronologicalOrder
  3418. ChronologicalOrderForward = "Forward"
  3419. )
  3420. const (
  3421. // @enum ComplianceType
  3422. ComplianceTypeCompliant = "COMPLIANT"
  3423. // @enum ComplianceType
  3424. ComplianceTypeNonCompliant = "NON_COMPLIANT"
  3425. // @enum ComplianceType
  3426. ComplianceTypeNotApplicable = "NOT_APPLICABLE"
  3427. // @enum ComplianceType
  3428. ComplianceTypeInsufficientData = "INSUFFICIENT_DATA"
  3429. )
  3430. const (
  3431. // @enum ConfigRuleState
  3432. ConfigRuleStateActive = "ACTIVE"
  3433. // @enum ConfigRuleState
  3434. ConfigRuleStateDeleting = "DELETING"
  3435. // @enum ConfigRuleState
  3436. ConfigRuleStateDeletingResults = "DELETING_RESULTS"
  3437. // @enum ConfigRuleState
  3438. ConfigRuleStateEvaluating = "EVALUATING"
  3439. )
  3440. const (
  3441. // @enum ConfigurationItemStatus
  3442. ConfigurationItemStatusOk = "Ok"
  3443. // @enum ConfigurationItemStatus
  3444. ConfigurationItemStatusFailed = "Failed"
  3445. // @enum ConfigurationItemStatus
  3446. ConfigurationItemStatusDiscovered = "Discovered"
  3447. // @enum ConfigurationItemStatus
  3448. ConfigurationItemStatusDeleted = "Deleted"
  3449. )
  3450. const (
  3451. // @enum DeliveryStatus
  3452. DeliveryStatusSuccess = "Success"
  3453. // @enum DeliveryStatus
  3454. DeliveryStatusFailure = "Failure"
  3455. // @enum DeliveryStatus
  3456. DeliveryStatusNotApplicable = "Not_Applicable"
  3457. )
  3458. const (
  3459. // @enum EventSource
  3460. EventSourceAwsConfig = "aws.config"
  3461. )
  3462. const (
  3463. // @enum MaximumExecutionFrequency
  3464. MaximumExecutionFrequencyOneHour = "One_Hour"
  3465. // @enum MaximumExecutionFrequency
  3466. MaximumExecutionFrequencyThreeHours = "Three_Hours"
  3467. // @enum MaximumExecutionFrequency
  3468. MaximumExecutionFrequencySixHours = "Six_Hours"
  3469. // @enum MaximumExecutionFrequency
  3470. MaximumExecutionFrequencyTwelveHours = "Twelve_Hours"
  3471. // @enum MaximumExecutionFrequency
  3472. MaximumExecutionFrequencyTwentyFourHours = "TwentyFour_Hours"
  3473. )
  3474. const (
  3475. // @enum MessageType
  3476. MessageTypeConfigurationItemChangeNotification = "ConfigurationItemChangeNotification"
  3477. // @enum MessageType
  3478. MessageTypeConfigurationSnapshotDeliveryCompleted = "ConfigurationSnapshotDeliveryCompleted"
  3479. // @enum MessageType
  3480. MessageTypeScheduledNotification = "ScheduledNotification"
  3481. )
  3482. const (
  3483. // @enum Owner
  3484. OwnerCustomLambda = "CUSTOM_LAMBDA"
  3485. // @enum Owner
  3486. OwnerAws = "AWS"
  3487. )
  3488. const (
  3489. // @enum RecorderStatus
  3490. RecorderStatusPending = "Pending"
  3491. // @enum RecorderStatus
  3492. RecorderStatusSuccess = "Success"
  3493. // @enum RecorderStatus
  3494. RecorderStatusFailure = "Failure"
  3495. )
  3496. const (
  3497. // @enum ResourceType
  3498. ResourceTypeAwsEc2CustomerGateway = "AWS::EC2::CustomerGateway"
  3499. // @enum ResourceType
  3500. ResourceTypeAwsEc2Eip = "AWS::EC2::EIP"
  3501. // @enum ResourceType
  3502. ResourceTypeAwsEc2Host = "AWS::EC2::Host"
  3503. // @enum ResourceType
  3504. ResourceTypeAwsEc2Instance = "AWS::EC2::Instance"
  3505. // @enum ResourceType
  3506. ResourceTypeAwsEc2InternetGateway = "AWS::EC2::InternetGateway"
  3507. // @enum ResourceType
  3508. ResourceTypeAwsEc2NetworkAcl = "AWS::EC2::NetworkAcl"
  3509. // @enum ResourceType
  3510. ResourceTypeAwsEc2NetworkInterface = "AWS::EC2::NetworkInterface"
  3511. // @enum ResourceType
  3512. ResourceTypeAwsEc2RouteTable = "AWS::EC2::RouteTable"
  3513. // @enum ResourceType
  3514. ResourceTypeAwsEc2SecurityGroup = "AWS::EC2::SecurityGroup"
  3515. // @enum ResourceType
  3516. ResourceTypeAwsEc2Subnet = "AWS::EC2::Subnet"
  3517. // @enum ResourceType
  3518. ResourceTypeAwsCloudTrailTrail = "AWS::CloudTrail::Trail"
  3519. // @enum ResourceType
  3520. ResourceTypeAwsEc2Volume = "AWS::EC2::Volume"
  3521. // @enum ResourceType
  3522. ResourceTypeAwsEc2Vpc = "AWS::EC2::VPC"
  3523. // @enum ResourceType
  3524. ResourceTypeAwsEc2Vpnconnection = "AWS::EC2::VPNConnection"
  3525. // @enum ResourceType
  3526. ResourceTypeAwsEc2Vpngateway = "AWS::EC2::VPNGateway"
  3527. // @enum ResourceType
  3528. ResourceTypeAwsIamGroup = "AWS::IAM::Group"
  3529. // @enum ResourceType
  3530. ResourceTypeAwsIamPolicy = "AWS::IAM::Policy"
  3531. // @enum ResourceType
  3532. ResourceTypeAwsIamRole = "AWS::IAM::Role"
  3533. // @enum ResourceType
  3534. ResourceTypeAwsIamUser = "AWS::IAM::User"
  3535. // @enum ResourceType
  3536. ResourceTypeAwsAcmCertificate = "AWS::ACM::Certificate"
  3537. // @enum ResourceType
  3538. ResourceTypeAwsRdsDbinstance = "AWS::RDS::DBInstance"
  3539. // @enum ResourceType
  3540. ResourceTypeAwsRdsDbsubnetGroup = "AWS::RDS::DBSubnetGroup"
  3541. // @enum ResourceType
  3542. ResourceTypeAwsRdsDbsecurityGroup = "AWS::RDS::DBSecurityGroup"
  3543. // @enum ResourceType
  3544. ResourceTypeAwsRdsDbsnapshot = "AWS::RDS::DBSnapshot"
  3545. // @enum ResourceType
  3546. ResourceTypeAwsRdsEventSubscription = "AWS::RDS::EventSubscription"
  3547. )