api.go 181 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202
  1. // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
  2. package route53resolver
  3. import (
  4. "fmt"
  5. "github.com/aws/aws-sdk-go/aws"
  6. "github.com/aws/aws-sdk-go/aws/awsutil"
  7. "github.com/aws/aws-sdk-go/aws/request"
  8. "github.com/aws/aws-sdk-go/private/protocol"
  9. "github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
  10. )
  11. const opAssociateResolverEndpointIpAddress = "AssociateResolverEndpointIpAddress"
  12. // AssociateResolverEndpointIpAddressRequest generates a "aws/request.Request" representing the
  13. // client's request for the AssociateResolverEndpointIpAddress operation. The "output" return
  14. // value will be populated with the request's response once the request completes
  15. // successfully.
  16. //
  17. // Use "Send" method on the returned Request to send the API call to the service.
  18. // the "output" return value is not valid until after Send returns without error.
  19. //
  20. // See AssociateResolverEndpointIpAddress for more information on using the AssociateResolverEndpointIpAddress
  21. // API call, and error handling.
  22. //
  23. // This method is useful when you want to inject custom logic or configuration
  24. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  25. //
  26. //
  27. // // Example sending a request using the AssociateResolverEndpointIpAddressRequest method.
  28. // req, resp := client.AssociateResolverEndpointIpAddressRequest(params)
  29. //
  30. // err := req.Send()
  31. // if err == nil { // resp is now filled
  32. // fmt.Println(resp)
  33. // }
  34. //
  35. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/AssociateResolverEndpointIpAddress
  36. func (c *Route53Resolver) AssociateResolverEndpointIpAddressRequest(input *AssociateResolverEndpointIpAddressInput) (req *request.Request, output *AssociateResolverEndpointIpAddressOutput) {
  37. op := &request.Operation{
  38. Name: opAssociateResolverEndpointIpAddress,
  39. HTTPMethod: "POST",
  40. HTTPPath: "/",
  41. }
  42. if input == nil {
  43. input = &AssociateResolverEndpointIpAddressInput{}
  44. }
  45. output = &AssociateResolverEndpointIpAddressOutput{}
  46. req = c.newRequest(op, input, output)
  47. return
  48. }
  49. // AssociateResolverEndpointIpAddress API operation for Amazon Route 53 Resolver.
  50. //
  51. // Adds IP addresses to an inbound or an outbound resolver endpoint. If you
  52. // want to adding more than one IP address, submit one AssociateResolverEndpointIpAddress
  53. // request for each IP address.
  54. //
  55. // To remove an IP address from an endpoint, see DisassociateResolverEndpointIpAddress.
  56. //
  57. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  58. // with awserr.Error's Code and Message methods to get detailed information about
  59. // the error.
  60. //
  61. // See the AWS API reference guide for Amazon Route 53 Resolver's
  62. // API operation AssociateResolverEndpointIpAddress for usage and error information.
  63. //
  64. // Returned Error Codes:
  65. // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
  66. // The specified resource doesn't exist.
  67. //
  68. // * ErrCodeInvalidParameterException "InvalidParameterException"
  69. // One or more parameters in this request are not valid.
  70. //
  71. // * ErrCodeInvalidRequestException "InvalidRequestException"
  72. // The request is invalid.
  73. //
  74. // * ErrCodeResourceExistsException "ResourceExistsException"
  75. // The resource that you tried to create already exists.
  76. //
  77. // * ErrCodeInternalServiceErrorException "InternalServiceErrorException"
  78. // We encountered an unknown error. Try again in a few minutes.
  79. //
  80. // * ErrCodeLimitExceededException "LimitExceededException"
  81. // The request caused one or more limits to be exceeded.
  82. //
  83. // * ErrCodeThrottlingException "ThrottlingException"
  84. // The request was throttled. Try again in a few minutes.
  85. //
  86. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/AssociateResolverEndpointIpAddress
  87. func (c *Route53Resolver) AssociateResolverEndpointIpAddress(input *AssociateResolverEndpointIpAddressInput) (*AssociateResolverEndpointIpAddressOutput, error) {
  88. req, out := c.AssociateResolverEndpointIpAddressRequest(input)
  89. return out, req.Send()
  90. }
  91. // AssociateResolverEndpointIpAddressWithContext is the same as AssociateResolverEndpointIpAddress with the addition of
  92. // the ability to pass a context and additional request options.
  93. //
  94. // See AssociateResolverEndpointIpAddress for details on how to use this API operation.
  95. //
  96. // The context must be non-nil and will be used for request cancellation. If
  97. // the context is nil a panic will occur. In the future the SDK may create
  98. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  99. // for more information on using Contexts.
  100. func (c *Route53Resolver) AssociateResolverEndpointIpAddressWithContext(ctx aws.Context, input *AssociateResolverEndpointIpAddressInput, opts ...request.Option) (*AssociateResolverEndpointIpAddressOutput, error) {
  101. req, out := c.AssociateResolverEndpointIpAddressRequest(input)
  102. req.SetContext(ctx)
  103. req.ApplyOptions(opts...)
  104. return out, req.Send()
  105. }
  106. const opAssociateResolverRule = "AssociateResolverRule"
  107. // AssociateResolverRuleRequest generates a "aws/request.Request" representing the
  108. // client's request for the AssociateResolverRule operation. The "output" return
  109. // value will be populated with the request's response once the request completes
  110. // successfully.
  111. //
  112. // Use "Send" method on the returned Request to send the API call to the service.
  113. // the "output" return value is not valid until after Send returns without error.
  114. //
  115. // See AssociateResolverRule for more information on using the AssociateResolverRule
  116. // API call, and error handling.
  117. //
  118. // This method is useful when you want to inject custom logic or configuration
  119. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  120. //
  121. //
  122. // // Example sending a request using the AssociateResolverRuleRequest method.
  123. // req, resp := client.AssociateResolverRuleRequest(params)
  124. //
  125. // err := req.Send()
  126. // if err == nil { // resp is now filled
  127. // fmt.Println(resp)
  128. // }
  129. //
  130. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/AssociateResolverRule
  131. func (c *Route53Resolver) AssociateResolverRuleRequest(input *AssociateResolverRuleInput) (req *request.Request, output *AssociateResolverRuleOutput) {
  132. op := &request.Operation{
  133. Name: opAssociateResolverRule,
  134. HTTPMethod: "POST",
  135. HTTPPath: "/",
  136. }
  137. if input == nil {
  138. input = &AssociateResolverRuleInput{}
  139. }
  140. output = &AssociateResolverRuleOutput{}
  141. req = c.newRequest(op, input, output)
  142. return
  143. }
  144. // AssociateResolverRule API operation for Amazon Route 53 Resolver.
  145. //
  146. // Associates a resolver rule with a VPC. When you associate a rule with a VPC,
  147. // Resolver forwards all DNS queries for the domain name that is specified in
  148. // the rule and that originate in the VPC. The queries are forwarded to the
  149. // IP addresses for the DNS resolvers that are specified in the rule. For more
  150. // information about rules, see CreateResolverRule.
  151. //
  152. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  153. // with awserr.Error's Code and Message methods to get detailed information about
  154. // the error.
  155. //
  156. // See the AWS API reference guide for Amazon Route 53 Resolver's
  157. // API operation AssociateResolverRule for usage and error information.
  158. //
  159. // Returned Error Codes:
  160. // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
  161. // The specified resource doesn't exist.
  162. //
  163. // * ErrCodeInvalidRequestException "InvalidRequestException"
  164. // The request is invalid.
  165. //
  166. // * ErrCodeInvalidParameterException "InvalidParameterException"
  167. // One or more parameters in this request are not valid.
  168. //
  169. // * ErrCodeResourceUnavailableException "ResourceUnavailableException"
  170. // The specified resource isn't available.
  171. //
  172. // * ErrCodeResourceExistsException "ResourceExistsException"
  173. // The resource that you tried to create already exists.
  174. //
  175. // * ErrCodeInternalServiceErrorException "InternalServiceErrorException"
  176. // We encountered an unknown error. Try again in a few minutes.
  177. //
  178. // * ErrCodeThrottlingException "ThrottlingException"
  179. // The request was throttled. Try again in a few minutes.
  180. //
  181. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/AssociateResolverRule
  182. func (c *Route53Resolver) AssociateResolverRule(input *AssociateResolverRuleInput) (*AssociateResolverRuleOutput, error) {
  183. req, out := c.AssociateResolverRuleRequest(input)
  184. return out, req.Send()
  185. }
  186. // AssociateResolverRuleWithContext is the same as AssociateResolverRule with the addition of
  187. // the ability to pass a context and additional request options.
  188. //
  189. // See AssociateResolverRule for details on how to use this API operation.
  190. //
  191. // The context must be non-nil and will be used for request cancellation. If
  192. // the context is nil a panic will occur. In the future the SDK may create
  193. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  194. // for more information on using Contexts.
  195. func (c *Route53Resolver) AssociateResolverRuleWithContext(ctx aws.Context, input *AssociateResolverRuleInput, opts ...request.Option) (*AssociateResolverRuleOutput, error) {
  196. req, out := c.AssociateResolverRuleRequest(input)
  197. req.SetContext(ctx)
  198. req.ApplyOptions(opts...)
  199. return out, req.Send()
  200. }
  201. const opCreateResolverEndpoint = "CreateResolverEndpoint"
  202. // CreateResolverEndpointRequest generates a "aws/request.Request" representing the
  203. // client's request for the CreateResolverEndpoint operation. The "output" return
  204. // value will be populated with the request's response once the request completes
  205. // successfully.
  206. //
  207. // Use "Send" method on the returned Request to send the API call to the service.
  208. // the "output" return value is not valid until after Send returns without error.
  209. //
  210. // See CreateResolverEndpoint for more information on using the CreateResolverEndpoint
  211. // API call, and error handling.
  212. //
  213. // This method is useful when you want to inject custom logic or configuration
  214. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  215. //
  216. //
  217. // // Example sending a request using the CreateResolverEndpointRequest method.
  218. // req, resp := client.CreateResolverEndpointRequest(params)
  219. //
  220. // err := req.Send()
  221. // if err == nil { // resp is now filled
  222. // fmt.Println(resp)
  223. // }
  224. //
  225. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateResolverEndpoint
  226. func (c *Route53Resolver) CreateResolverEndpointRequest(input *CreateResolverEndpointInput) (req *request.Request, output *CreateResolverEndpointOutput) {
  227. op := &request.Operation{
  228. Name: opCreateResolverEndpoint,
  229. HTTPMethod: "POST",
  230. HTTPPath: "/",
  231. }
  232. if input == nil {
  233. input = &CreateResolverEndpointInput{}
  234. }
  235. output = &CreateResolverEndpointOutput{}
  236. req = c.newRequest(op, input, output)
  237. return
  238. }
  239. // CreateResolverEndpoint API operation for Amazon Route 53 Resolver.
  240. //
  241. // Creates a resolver endpoint. There are two types of resolver endpoints, inbound
  242. // and outbound:
  243. //
  244. // * An inbound resolver endpoint forwards DNS queries to the DNS service
  245. // for a VPC from your network or another VPC.
  246. //
  247. // * An outbound resolver endpoint forwards DNS queries from the DNS service
  248. // for a VPC to your network or another VPC.
  249. //
  250. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  251. // with awserr.Error's Code and Message methods to get detailed information about
  252. // the error.
  253. //
  254. // See the AWS API reference guide for Amazon Route 53 Resolver's
  255. // API operation CreateResolverEndpoint for usage and error information.
  256. //
  257. // Returned Error Codes:
  258. // * ErrCodeInvalidParameterException "InvalidParameterException"
  259. // One or more parameters in this request are not valid.
  260. //
  261. // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
  262. // The specified resource doesn't exist.
  263. //
  264. // * ErrCodeInvalidRequestException "InvalidRequestException"
  265. // The request is invalid.
  266. //
  267. // * ErrCodeResourceExistsException "ResourceExistsException"
  268. // The resource that you tried to create already exists.
  269. //
  270. // * ErrCodeLimitExceededException "LimitExceededException"
  271. // The request caused one or more limits to be exceeded.
  272. //
  273. // * ErrCodeInternalServiceErrorException "InternalServiceErrorException"
  274. // We encountered an unknown error. Try again in a few minutes.
  275. //
  276. // * ErrCodeThrottlingException "ThrottlingException"
  277. // The request was throttled. Try again in a few minutes.
  278. //
  279. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateResolverEndpoint
  280. func (c *Route53Resolver) CreateResolverEndpoint(input *CreateResolverEndpointInput) (*CreateResolverEndpointOutput, error) {
  281. req, out := c.CreateResolverEndpointRequest(input)
  282. return out, req.Send()
  283. }
  284. // CreateResolverEndpointWithContext is the same as CreateResolverEndpoint with the addition of
  285. // the ability to pass a context and additional request options.
  286. //
  287. // See CreateResolverEndpoint for details on how to use this API operation.
  288. //
  289. // The context must be non-nil and will be used for request cancellation. If
  290. // the context is nil a panic will occur. In the future the SDK may create
  291. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  292. // for more information on using Contexts.
  293. func (c *Route53Resolver) CreateResolverEndpointWithContext(ctx aws.Context, input *CreateResolverEndpointInput, opts ...request.Option) (*CreateResolverEndpointOutput, error) {
  294. req, out := c.CreateResolverEndpointRequest(input)
  295. req.SetContext(ctx)
  296. req.ApplyOptions(opts...)
  297. return out, req.Send()
  298. }
  299. const opCreateResolverRule = "CreateResolverRule"
  300. // CreateResolverRuleRequest generates a "aws/request.Request" representing the
  301. // client's request for the CreateResolverRule operation. The "output" return
  302. // value will be populated with the request's response once the request completes
  303. // successfully.
  304. //
  305. // Use "Send" method on the returned Request to send the API call to the service.
  306. // the "output" return value is not valid until after Send returns without error.
  307. //
  308. // See CreateResolverRule for more information on using the CreateResolverRule
  309. // API call, and error handling.
  310. //
  311. // This method is useful when you want to inject custom logic or configuration
  312. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  313. //
  314. //
  315. // // Example sending a request using the CreateResolverRuleRequest method.
  316. // req, resp := client.CreateResolverRuleRequest(params)
  317. //
  318. // err := req.Send()
  319. // if err == nil { // resp is now filled
  320. // fmt.Println(resp)
  321. // }
  322. //
  323. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateResolverRule
  324. func (c *Route53Resolver) CreateResolverRuleRequest(input *CreateResolverRuleInput) (req *request.Request, output *CreateResolverRuleOutput) {
  325. op := &request.Operation{
  326. Name: opCreateResolverRule,
  327. HTTPMethod: "POST",
  328. HTTPPath: "/",
  329. }
  330. if input == nil {
  331. input = &CreateResolverRuleInput{}
  332. }
  333. output = &CreateResolverRuleOutput{}
  334. req = c.newRequest(op, input, output)
  335. return
  336. }
  337. // CreateResolverRule API operation for Amazon Route 53 Resolver.
  338. //
  339. // For DNS queries that originate in your VPCs, specifies which resolver endpoint
  340. // the queries pass through, one domain name that you want to forward to your
  341. // network, and the IP addresses of the DNS resolvers in your network.
  342. //
  343. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  344. // with awserr.Error's Code and Message methods to get detailed information about
  345. // the error.
  346. //
  347. // See the AWS API reference guide for Amazon Route 53 Resolver's
  348. // API operation CreateResolverRule for usage and error information.
  349. //
  350. // Returned Error Codes:
  351. // * ErrCodeInvalidParameterException "InvalidParameterException"
  352. // One or more parameters in this request are not valid.
  353. //
  354. // * ErrCodeInvalidRequestException "InvalidRequestException"
  355. // The request is invalid.
  356. //
  357. // * ErrCodeLimitExceededException "LimitExceededException"
  358. // The request caused one or more limits to be exceeded.
  359. //
  360. // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
  361. // The specified resource doesn't exist.
  362. //
  363. // * ErrCodeResourceExistsException "ResourceExistsException"
  364. // The resource that you tried to create already exists.
  365. //
  366. // * ErrCodeResourceUnavailableException "ResourceUnavailableException"
  367. // The specified resource isn't available.
  368. //
  369. // * ErrCodeInternalServiceErrorException "InternalServiceErrorException"
  370. // We encountered an unknown error. Try again in a few minutes.
  371. //
  372. // * ErrCodeThrottlingException "ThrottlingException"
  373. // The request was throttled. Try again in a few minutes.
  374. //
  375. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateResolverRule
  376. func (c *Route53Resolver) CreateResolverRule(input *CreateResolverRuleInput) (*CreateResolverRuleOutput, error) {
  377. req, out := c.CreateResolverRuleRequest(input)
  378. return out, req.Send()
  379. }
  380. // CreateResolverRuleWithContext is the same as CreateResolverRule with the addition of
  381. // the ability to pass a context and additional request options.
  382. //
  383. // See CreateResolverRule for details on how to use this API operation.
  384. //
  385. // The context must be non-nil and will be used for request cancellation. If
  386. // the context is nil a panic will occur. In the future the SDK may create
  387. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  388. // for more information on using Contexts.
  389. func (c *Route53Resolver) CreateResolverRuleWithContext(ctx aws.Context, input *CreateResolverRuleInput, opts ...request.Option) (*CreateResolverRuleOutput, error) {
  390. req, out := c.CreateResolverRuleRequest(input)
  391. req.SetContext(ctx)
  392. req.ApplyOptions(opts...)
  393. return out, req.Send()
  394. }
  395. const opDeleteResolverEndpoint = "DeleteResolverEndpoint"
  396. // DeleteResolverEndpointRequest generates a "aws/request.Request" representing the
  397. // client's request for the DeleteResolverEndpoint operation. The "output" return
  398. // value will be populated with the request's response once the request completes
  399. // successfully.
  400. //
  401. // Use "Send" method on the returned Request to send the API call to the service.
  402. // the "output" return value is not valid until after Send returns without error.
  403. //
  404. // See DeleteResolverEndpoint for more information on using the DeleteResolverEndpoint
  405. // API call, and error handling.
  406. //
  407. // This method is useful when you want to inject custom logic or configuration
  408. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  409. //
  410. //
  411. // // Example sending a request using the DeleteResolverEndpointRequest method.
  412. // req, resp := client.DeleteResolverEndpointRequest(params)
  413. //
  414. // err := req.Send()
  415. // if err == nil { // resp is now filled
  416. // fmt.Println(resp)
  417. // }
  418. //
  419. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverEndpoint
  420. func (c *Route53Resolver) DeleteResolverEndpointRequest(input *DeleteResolverEndpointInput) (req *request.Request, output *DeleteResolverEndpointOutput) {
  421. op := &request.Operation{
  422. Name: opDeleteResolverEndpoint,
  423. HTTPMethod: "POST",
  424. HTTPPath: "/",
  425. }
  426. if input == nil {
  427. input = &DeleteResolverEndpointInput{}
  428. }
  429. output = &DeleteResolverEndpointOutput{}
  430. req = c.newRequest(op, input, output)
  431. return
  432. }
  433. // DeleteResolverEndpoint API operation for Amazon Route 53 Resolver.
  434. //
  435. // Deletes a resolver endpoint. The effect of deleting a resolver endpoint depends
  436. // on whether it's an inbound or an outbound resolver endpoint:
  437. //
  438. // * Inbound: DNS queries from your network or another VPC are no longer
  439. // routed to the DNS service for the specified VPC.
  440. //
  441. // * Outbound: DNS queries from a VPC are no longer routed to your network
  442. // or to another VPC.
  443. //
  444. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  445. // with awserr.Error's Code and Message methods to get detailed information about
  446. // the error.
  447. //
  448. // See the AWS API reference guide for Amazon Route 53 Resolver's
  449. // API operation DeleteResolverEndpoint for usage and error information.
  450. //
  451. // Returned Error Codes:
  452. // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
  453. // The specified resource doesn't exist.
  454. //
  455. // * ErrCodeInvalidParameterException "InvalidParameterException"
  456. // One or more parameters in this request are not valid.
  457. //
  458. // * ErrCodeInvalidRequestException "InvalidRequestException"
  459. // The request is invalid.
  460. //
  461. // * ErrCodeInternalServiceErrorException "InternalServiceErrorException"
  462. // We encountered an unknown error. Try again in a few minutes.
  463. //
  464. // * ErrCodeThrottlingException "ThrottlingException"
  465. // The request was throttled. Try again in a few minutes.
  466. //
  467. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverEndpoint
  468. func (c *Route53Resolver) DeleteResolverEndpoint(input *DeleteResolverEndpointInput) (*DeleteResolverEndpointOutput, error) {
  469. req, out := c.DeleteResolverEndpointRequest(input)
  470. return out, req.Send()
  471. }
  472. // DeleteResolverEndpointWithContext is the same as DeleteResolverEndpoint with the addition of
  473. // the ability to pass a context and additional request options.
  474. //
  475. // See DeleteResolverEndpoint for details on how to use this API operation.
  476. //
  477. // The context must be non-nil and will be used for request cancellation. If
  478. // the context is nil a panic will occur. In the future the SDK may create
  479. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  480. // for more information on using Contexts.
  481. func (c *Route53Resolver) DeleteResolverEndpointWithContext(ctx aws.Context, input *DeleteResolverEndpointInput, opts ...request.Option) (*DeleteResolverEndpointOutput, error) {
  482. req, out := c.DeleteResolverEndpointRequest(input)
  483. req.SetContext(ctx)
  484. req.ApplyOptions(opts...)
  485. return out, req.Send()
  486. }
  487. const opDeleteResolverRule = "DeleteResolverRule"
  488. // DeleteResolverRuleRequest generates a "aws/request.Request" representing the
  489. // client's request for the DeleteResolverRule operation. The "output" return
  490. // value will be populated with the request's response once the request completes
  491. // successfully.
  492. //
  493. // Use "Send" method on the returned Request to send the API call to the service.
  494. // the "output" return value is not valid until after Send returns without error.
  495. //
  496. // See DeleteResolverRule for more information on using the DeleteResolverRule
  497. // API call, and error handling.
  498. //
  499. // This method is useful when you want to inject custom logic or configuration
  500. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  501. //
  502. //
  503. // // Example sending a request using the DeleteResolverRuleRequest method.
  504. // req, resp := client.DeleteResolverRuleRequest(params)
  505. //
  506. // err := req.Send()
  507. // if err == nil { // resp is now filled
  508. // fmt.Println(resp)
  509. // }
  510. //
  511. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverRule
  512. func (c *Route53Resolver) DeleteResolverRuleRequest(input *DeleteResolverRuleInput) (req *request.Request, output *DeleteResolverRuleOutput) {
  513. op := &request.Operation{
  514. Name: opDeleteResolverRule,
  515. HTTPMethod: "POST",
  516. HTTPPath: "/",
  517. }
  518. if input == nil {
  519. input = &DeleteResolverRuleInput{}
  520. }
  521. output = &DeleteResolverRuleOutput{}
  522. req = c.newRequest(op, input, output)
  523. return
  524. }
  525. // DeleteResolverRule API operation for Amazon Route 53 Resolver.
  526. //
  527. // Deletes a resolver rule. Before you can delete a resolver rule, you must
  528. // disassociate it from all the VPCs that you associated the resolver rule with.
  529. // For more infomation, see DisassociateResolverRule.
  530. //
  531. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  532. // with awserr.Error's Code and Message methods to get detailed information about
  533. // the error.
  534. //
  535. // See the AWS API reference guide for Amazon Route 53 Resolver's
  536. // API operation DeleteResolverRule for usage and error information.
  537. //
  538. // Returned Error Codes:
  539. // * ErrCodeInvalidParameterException "InvalidParameterException"
  540. // One or more parameters in this request are not valid.
  541. //
  542. // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
  543. // The specified resource doesn't exist.
  544. //
  545. // * ErrCodeResourceInUseException "ResourceInUseException"
  546. // The resource that you tried to update or delete is currently in use.
  547. //
  548. // * ErrCodeInternalServiceErrorException "InternalServiceErrorException"
  549. // We encountered an unknown error. Try again in a few minutes.
  550. //
  551. // * ErrCodeThrottlingException "ThrottlingException"
  552. // The request was throttled. Try again in a few minutes.
  553. //
  554. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverRule
  555. func (c *Route53Resolver) DeleteResolverRule(input *DeleteResolverRuleInput) (*DeleteResolverRuleOutput, error) {
  556. req, out := c.DeleteResolverRuleRequest(input)
  557. return out, req.Send()
  558. }
  559. // DeleteResolverRuleWithContext is the same as DeleteResolverRule with the addition of
  560. // the ability to pass a context and additional request options.
  561. //
  562. // See DeleteResolverRule for details on how to use this API operation.
  563. //
  564. // The context must be non-nil and will be used for request cancellation. If
  565. // the context is nil a panic will occur. In the future the SDK may create
  566. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  567. // for more information on using Contexts.
  568. func (c *Route53Resolver) DeleteResolverRuleWithContext(ctx aws.Context, input *DeleteResolverRuleInput, opts ...request.Option) (*DeleteResolverRuleOutput, error) {
  569. req, out := c.DeleteResolverRuleRequest(input)
  570. req.SetContext(ctx)
  571. req.ApplyOptions(opts...)
  572. return out, req.Send()
  573. }
  574. const opDisassociateResolverEndpointIpAddress = "DisassociateResolverEndpointIpAddress"
  575. // DisassociateResolverEndpointIpAddressRequest generates a "aws/request.Request" representing the
  576. // client's request for the DisassociateResolverEndpointIpAddress operation. The "output" return
  577. // value will be populated with the request's response once the request completes
  578. // successfully.
  579. //
  580. // Use "Send" method on the returned Request to send the API call to the service.
  581. // the "output" return value is not valid until after Send returns without error.
  582. //
  583. // See DisassociateResolverEndpointIpAddress for more information on using the DisassociateResolverEndpointIpAddress
  584. // API call, and error handling.
  585. //
  586. // This method is useful when you want to inject custom logic or configuration
  587. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  588. //
  589. //
  590. // // Example sending a request using the DisassociateResolverEndpointIpAddressRequest method.
  591. // req, resp := client.DisassociateResolverEndpointIpAddressRequest(params)
  592. //
  593. // err := req.Send()
  594. // if err == nil { // resp is now filled
  595. // fmt.Println(resp)
  596. // }
  597. //
  598. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverEndpointIpAddress
  599. func (c *Route53Resolver) DisassociateResolverEndpointIpAddressRequest(input *DisassociateResolverEndpointIpAddressInput) (req *request.Request, output *DisassociateResolverEndpointIpAddressOutput) {
  600. op := &request.Operation{
  601. Name: opDisassociateResolverEndpointIpAddress,
  602. HTTPMethod: "POST",
  603. HTTPPath: "/",
  604. }
  605. if input == nil {
  606. input = &DisassociateResolverEndpointIpAddressInput{}
  607. }
  608. output = &DisassociateResolverEndpointIpAddressOutput{}
  609. req = c.newRequest(op, input, output)
  610. return
  611. }
  612. // DisassociateResolverEndpointIpAddress API operation for Amazon Route 53 Resolver.
  613. //
  614. // Removes IP addresses from an inbound or an outbound resolver endpoint. If
  615. // you want to remove more than one IP address, submit one DisassociateResolverEndpointIpAddress
  616. // request for each IP address.
  617. //
  618. // To add an IP address to an endpoint, see AssociateResolverEndpointIpAddress.
  619. //
  620. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  621. // with awserr.Error's Code and Message methods to get detailed information about
  622. // the error.
  623. //
  624. // See the AWS API reference guide for Amazon Route 53 Resolver's
  625. // API operation DisassociateResolverEndpointIpAddress for usage and error information.
  626. //
  627. // Returned Error Codes:
  628. // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
  629. // The specified resource doesn't exist.
  630. //
  631. // * ErrCodeInvalidParameterException "InvalidParameterException"
  632. // One or more parameters in this request are not valid.
  633. //
  634. // * ErrCodeInvalidRequestException "InvalidRequestException"
  635. // The request is invalid.
  636. //
  637. // * ErrCodeResourceExistsException "ResourceExistsException"
  638. // The resource that you tried to create already exists.
  639. //
  640. // * ErrCodeInternalServiceErrorException "InternalServiceErrorException"
  641. // We encountered an unknown error. Try again in a few minutes.
  642. //
  643. // * ErrCodeThrottlingException "ThrottlingException"
  644. // The request was throttled. Try again in a few minutes.
  645. //
  646. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverEndpointIpAddress
  647. func (c *Route53Resolver) DisassociateResolverEndpointIpAddress(input *DisassociateResolverEndpointIpAddressInput) (*DisassociateResolverEndpointIpAddressOutput, error) {
  648. req, out := c.DisassociateResolverEndpointIpAddressRequest(input)
  649. return out, req.Send()
  650. }
  651. // DisassociateResolverEndpointIpAddressWithContext is the same as DisassociateResolverEndpointIpAddress with the addition of
  652. // the ability to pass a context and additional request options.
  653. //
  654. // See DisassociateResolverEndpointIpAddress for details on how to use this API operation.
  655. //
  656. // The context must be non-nil and will be used for request cancellation. If
  657. // the context is nil a panic will occur. In the future the SDK may create
  658. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  659. // for more information on using Contexts.
  660. func (c *Route53Resolver) DisassociateResolverEndpointIpAddressWithContext(ctx aws.Context, input *DisassociateResolverEndpointIpAddressInput, opts ...request.Option) (*DisassociateResolverEndpointIpAddressOutput, error) {
  661. req, out := c.DisassociateResolverEndpointIpAddressRequest(input)
  662. req.SetContext(ctx)
  663. req.ApplyOptions(opts...)
  664. return out, req.Send()
  665. }
  666. const opDisassociateResolverRule = "DisassociateResolverRule"
  667. // DisassociateResolverRuleRequest generates a "aws/request.Request" representing the
  668. // client's request for the DisassociateResolverRule operation. The "output" return
  669. // value will be populated with the request's response once the request completes
  670. // successfully.
  671. //
  672. // Use "Send" method on the returned Request to send the API call to the service.
  673. // the "output" return value is not valid until after Send returns without error.
  674. //
  675. // See DisassociateResolverRule for more information on using the DisassociateResolverRule
  676. // API call, and error handling.
  677. //
  678. // This method is useful when you want to inject custom logic or configuration
  679. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  680. //
  681. //
  682. // // Example sending a request using the DisassociateResolverRuleRequest method.
  683. // req, resp := client.DisassociateResolverRuleRequest(params)
  684. //
  685. // err := req.Send()
  686. // if err == nil { // resp is now filled
  687. // fmt.Println(resp)
  688. // }
  689. //
  690. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverRule
  691. func (c *Route53Resolver) DisassociateResolverRuleRequest(input *DisassociateResolverRuleInput) (req *request.Request, output *DisassociateResolverRuleOutput) {
  692. op := &request.Operation{
  693. Name: opDisassociateResolverRule,
  694. HTTPMethod: "POST",
  695. HTTPPath: "/",
  696. }
  697. if input == nil {
  698. input = &DisassociateResolverRuleInput{}
  699. }
  700. output = &DisassociateResolverRuleOutput{}
  701. req = c.newRequest(op, input, output)
  702. return
  703. }
  704. // DisassociateResolverRule API operation for Amazon Route 53 Resolver.
  705. //
  706. // Removes the association between a specified resolver rule and a specified
  707. // VPC.
  708. //
  709. // If you disassociate a resolver rule from a VPC, Resolver stops forwarding
  710. // DNS queries for the domain name that you specified in the resolver rule.
  711. //
  712. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  713. // with awserr.Error's Code and Message methods to get detailed information about
  714. // the error.
  715. //
  716. // See the AWS API reference guide for Amazon Route 53 Resolver's
  717. // API operation DisassociateResolverRule for usage and error information.
  718. //
  719. // Returned Error Codes:
  720. // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
  721. // The specified resource doesn't exist.
  722. //
  723. // * ErrCodeInvalidParameterException "InvalidParameterException"
  724. // One or more parameters in this request are not valid.
  725. //
  726. // * ErrCodeInternalServiceErrorException "InternalServiceErrorException"
  727. // We encountered an unknown error. Try again in a few minutes.
  728. //
  729. // * ErrCodeThrottlingException "ThrottlingException"
  730. // The request was throttled. Try again in a few minutes.
  731. //
  732. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverRule
  733. func (c *Route53Resolver) DisassociateResolverRule(input *DisassociateResolverRuleInput) (*DisassociateResolverRuleOutput, error) {
  734. req, out := c.DisassociateResolverRuleRequest(input)
  735. return out, req.Send()
  736. }
  737. // DisassociateResolverRuleWithContext is the same as DisassociateResolverRule with the addition of
  738. // the ability to pass a context and additional request options.
  739. //
  740. // See DisassociateResolverRule for details on how to use this API operation.
  741. //
  742. // The context must be non-nil and will be used for request cancellation. If
  743. // the context is nil a panic will occur. In the future the SDK may create
  744. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  745. // for more information on using Contexts.
  746. func (c *Route53Resolver) DisassociateResolverRuleWithContext(ctx aws.Context, input *DisassociateResolverRuleInput, opts ...request.Option) (*DisassociateResolverRuleOutput, error) {
  747. req, out := c.DisassociateResolverRuleRequest(input)
  748. req.SetContext(ctx)
  749. req.ApplyOptions(opts...)
  750. return out, req.Send()
  751. }
  752. const opGetResolverEndpoint = "GetResolverEndpoint"
  753. // GetResolverEndpointRequest generates a "aws/request.Request" representing the
  754. // client's request for the GetResolverEndpoint operation. The "output" return
  755. // value will be populated with the request's response once the request completes
  756. // successfully.
  757. //
  758. // Use "Send" method on the returned Request to send the API call to the service.
  759. // the "output" return value is not valid until after Send returns without error.
  760. //
  761. // See GetResolverEndpoint for more information on using the GetResolverEndpoint
  762. // API call, and error handling.
  763. //
  764. // This method is useful when you want to inject custom logic or configuration
  765. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  766. //
  767. //
  768. // // Example sending a request using the GetResolverEndpointRequest method.
  769. // req, resp := client.GetResolverEndpointRequest(params)
  770. //
  771. // err := req.Send()
  772. // if err == nil { // resp is now filled
  773. // fmt.Println(resp)
  774. // }
  775. //
  776. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverEndpoint
  777. func (c *Route53Resolver) GetResolverEndpointRequest(input *GetResolverEndpointInput) (req *request.Request, output *GetResolverEndpointOutput) {
  778. op := &request.Operation{
  779. Name: opGetResolverEndpoint,
  780. HTTPMethod: "POST",
  781. HTTPPath: "/",
  782. }
  783. if input == nil {
  784. input = &GetResolverEndpointInput{}
  785. }
  786. output = &GetResolverEndpointOutput{}
  787. req = c.newRequest(op, input, output)
  788. return
  789. }
  790. // GetResolverEndpoint API operation for Amazon Route 53 Resolver.
  791. //
  792. // Gets information about a specified resolver endpoint, such as whether it's
  793. // an inbound or an outbound resolver endpoint, and the current status of the
  794. // endpoint.
  795. //
  796. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  797. // with awserr.Error's Code and Message methods to get detailed information about
  798. // the error.
  799. //
  800. // See the AWS API reference guide for Amazon Route 53 Resolver's
  801. // API operation GetResolverEndpoint for usage and error information.
  802. //
  803. // Returned Error Codes:
  804. // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
  805. // The specified resource doesn't exist.
  806. //
  807. // * ErrCodeInvalidParameterException "InvalidParameterException"
  808. // One or more parameters in this request are not valid.
  809. //
  810. // * ErrCodeInternalServiceErrorException "InternalServiceErrorException"
  811. // We encountered an unknown error. Try again in a few minutes.
  812. //
  813. // * ErrCodeThrottlingException "ThrottlingException"
  814. // The request was throttled. Try again in a few minutes.
  815. //
  816. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverEndpoint
  817. func (c *Route53Resolver) GetResolverEndpoint(input *GetResolverEndpointInput) (*GetResolverEndpointOutput, error) {
  818. req, out := c.GetResolverEndpointRequest(input)
  819. return out, req.Send()
  820. }
  821. // GetResolverEndpointWithContext is the same as GetResolverEndpoint with the addition of
  822. // the ability to pass a context and additional request options.
  823. //
  824. // See GetResolverEndpoint for details on how to use this API operation.
  825. //
  826. // The context must be non-nil and will be used for request cancellation. If
  827. // the context is nil a panic will occur. In the future the SDK may create
  828. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  829. // for more information on using Contexts.
  830. func (c *Route53Resolver) GetResolverEndpointWithContext(ctx aws.Context, input *GetResolverEndpointInput, opts ...request.Option) (*GetResolverEndpointOutput, error) {
  831. req, out := c.GetResolverEndpointRequest(input)
  832. req.SetContext(ctx)
  833. req.ApplyOptions(opts...)
  834. return out, req.Send()
  835. }
  836. const opGetResolverRule = "GetResolverRule"
  837. // GetResolverRuleRequest generates a "aws/request.Request" representing the
  838. // client's request for the GetResolverRule operation. The "output" return
  839. // value will be populated with the request's response once the request completes
  840. // successfully.
  841. //
  842. // Use "Send" method on the returned Request to send the API call to the service.
  843. // the "output" return value is not valid until after Send returns without error.
  844. //
  845. // See GetResolverRule for more information on using the GetResolverRule
  846. // API call, and error handling.
  847. //
  848. // This method is useful when you want to inject custom logic or configuration
  849. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  850. //
  851. //
  852. // // Example sending a request using the GetResolverRuleRequest method.
  853. // req, resp := client.GetResolverRuleRequest(params)
  854. //
  855. // err := req.Send()
  856. // if err == nil { // resp is now filled
  857. // fmt.Println(resp)
  858. // }
  859. //
  860. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRule
  861. func (c *Route53Resolver) GetResolverRuleRequest(input *GetResolverRuleInput) (req *request.Request, output *GetResolverRuleOutput) {
  862. op := &request.Operation{
  863. Name: opGetResolverRule,
  864. HTTPMethod: "POST",
  865. HTTPPath: "/",
  866. }
  867. if input == nil {
  868. input = &GetResolverRuleInput{}
  869. }
  870. output = &GetResolverRuleOutput{}
  871. req = c.newRequest(op, input, output)
  872. return
  873. }
  874. // GetResolverRule API operation for Amazon Route 53 Resolver.
  875. //
  876. // Gets information about a specified resolver rule, such as the domain name
  877. // that the rule forwards DNS queries for and the ID of the outbound resolver
  878. // endpoint that the rule is associated with.
  879. //
  880. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  881. // with awserr.Error's Code and Message methods to get detailed information about
  882. // the error.
  883. //
  884. // See the AWS API reference guide for Amazon Route 53 Resolver's
  885. // API operation GetResolverRule for usage and error information.
  886. //
  887. // Returned Error Codes:
  888. // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
  889. // The specified resource doesn't exist.
  890. //
  891. // * ErrCodeInvalidParameterException "InvalidParameterException"
  892. // One or more parameters in this request are not valid.
  893. //
  894. // * ErrCodeInternalServiceErrorException "InternalServiceErrorException"
  895. // We encountered an unknown error. Try again in a few minutes.
  896. //
  897. // * ErrCodeThrottlingException "ThrottlingException"
  898. // The request was throttled. Try again in a few minutes.
  899. //
  900. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRule
  901. func (c *Route53Resolver) GetResolverRule(input *GetResolverRuleInput) (*GetResolverRuleOutput, error) {
  902. req, out := c.GetResolverRuleRequest(input)
  903. return out, req.Send()
  904. }
  905. // GetResolverRuleWithContext is the same as GetResolverRule with the addition of
  906. // the ability to pass a context and additional request options.
  907. //
  908. // See GetResolverRule for details on how to use this API operation.
  909. //
  910. // The context must be non-nil and will be used for request cancellation. If
  911. // the context is nil a panic will occur. In the future the SDK may create
  912. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  913. // for more information on using Contexts.
  914. func (c *Route53Resolver) GetResolverRuleWithContext(ctx aws.Context, input *GetResolverRuleInput, opts ...request.Option) (*GetResolverRuleOutput, error) {
  915. req, out := c.GetResolverRuleRequest(input)
  916. req.SetContext(ctx)
  917. req.ApplyOptions(opts...)
  918. return out, req.Send()
  919. }
  920. const opGetResolverRuleAssociation = "GetResolverRuleAssociation"
  921. // GetResolverRuleAssociationRequest generates a "aws/request.Request" representing the
  922. // client's request for the GetResolverRuleAssociation operation. The "output" return
  923. // value will be populated with the request's response once the request completes
  924. // successfully.
  925. //
  926. // Use "Send" method on the returned Request to send the API call to the service.
  927. // the "output" return value is not valid until after Send returns without error.
  928. //
  929. // See GetResolverRuleAssociation for more information on using the GetResolverRuleAssociation
  930. // API call, and error handling.
  931. //
  932. // This method is useful when you want to inject custom logic or configuration
  933. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  934. //
  935. //
  936. // // Example sending a request using the GetResolverRuleAssociationRequest method.
  937. // req, resp := client.GetResolverRuleAssociationRequest(params)
  938. //
  939. // err := req.Send()
  940. // if err == nil { // resp is now filled
  941. // fmt.Println(resp)
  942. // }
  943. //
  944. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRuleAssociation
  945. func (c *Route53Resolver) GetResolverRuleAssociationRequest(input *GetResolverRuleAssociationInput) (req *request.Request, output *GetResolverRuleAssociationOutput) {
  946. op := &request.Operation{
  947. Name: opGetResolverRuleAssociation,
  948. HTTPMethod: "POST",
  949. HTTPPath: "/",
  950. }
  951. if input == nil {
  952. input = &GetResolverRuleAssociationInput{}
  953. }
  954. output = &GetResolverRuleAssociationOutput{}
  955. req = c.newRequest(op, input, output)
  956. return
  957. }
  958. // GetResolverRuleAssociation API operation for Amazon Route 53 Resolver.
  959. //
  960. // Gets information about an association between a specified resolver rule and
  961. // a VPC. You associate a resolver rule and a VPC using AssociateResolverRule.
  962. //
  963. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  964. // with awserr.Error's Code and Message methods to get detailed information about
  965. // the error.
  966. //
  967. // See the AWS API reference guide for Amazon Route 53 Resolver's
  968. // API operation GetResolverRuleAssociation for usage and error information.
  969. //
  970. // Returned Error Codes:
  971. // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
  972. // The specified resource doesn't exist.
  973. //
  974. // * ErrCodeInvalidParameterException "InvalidParameterException"
  975. // One or more parameters in this request are not valid.
  976. //
  977. // * ErrCodeInternalServiceErrorException "InternalServiceErrorException"
  978. // We encountered an unknown error. Try again in a few minutes.
  979. //
  980. // * ErrCodeThrottlingException "ThrottlingException"
  981. // The request was throttled. Try again in a few minutes.
  982. //
  983. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRuleAssociation
  984. func (c *Route53Resolver) GetResolverRuleAssociation(input *GetResolverRuleAssociationInput) (*GetResolverRuleAssociationOutput, error) {
  985. req, out := c.GetResolverRuleAssociationRequest(input)
  986. return out, req.Send()
  987. }
  988. // GetResolverRuleAssociationWithContext is the same as GetResolverRuleAssociation with the addition of
  989. // the ability to pass a context and additional request options.
  990. //
  991. // See GetResolverRuleAssociation for details on how to use this API operation.
  992. //
  993. // The context must be non-nil and will be used for request cancellation. If
  994. // the context is nil a panic will occur. In the future the SDK may create
  995. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  996. // for more information on using Contexts.
  997. func (c *Route53Resolver) GetResolverRuleAssociationWithContext(ctx aws.Context, input *GetResolverRuleAssociationInput, opts ...request.Option) (*GetResolverRuleAssociationOutput, error) {
  998. req, out := c.GetResolverRuleAssociationRequest(input)
  999. req.SetContext(ctx)
  1000. req.ApplyOptions(opts...)
  1001. return out, req.Send()
  1002. }
  1003. const opGetResolverRulePolicy = "GetResolverRulePolicy"
  1004. // GetResolverRulePolicyRequest generates a "aws/request.Request" representing the
  1005. // client's request for the GetResolverRulePolicy operation. The "output" return
  1006. // value will be populated with the request's response once the request completes
  1007. // successfully.
  1008. //
  1009. // Use "Send" method on the returned Request to send the API call to the service.
  1010. // the "output" return value is not valid until after Send returns without error.
  1011. //
  1012. // See GetResolverRulePolicy for more information on using the GetResolverRulePolicy
  1013. // API call, and error handling.
  1014. //
  1015. // This method is useful when you want to inject custom logic or configuration
  1016. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1017. //
  1018. //
  1019. // // Example sending a request using the GetResolverRulePolicyRequest method.
  1020. // req, resp := client.GetResolverRulePolicyRequest(params)
  1021. //
  1022. // err := req.Send()
  1023. // if err == nil { // resp is now filled
  1024. // fmt.Println(resp)
  1025. // }
  1026. //
  1027. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRulePolicy
  1028. func (c *Route53Resolver) GetResolverRulePolicyRequest(input *GetResolverRulePolicyInput) (req *request.Request, output *GetResolverRulePolicyOutput) {
  1029. op := &request.Operation{
  1030. Name: opGetResolverRulePolicy,
  1031. HTTPMethod: "POST",
  1032. HTTPPath: "/",
  1033. }
  1034. if input == nil {
  1035. input = &GetResolverRulePolicyInput{}
  1036. }
  1037. output = &GetResolverRulePolicyOutput{}
  1038. req = c.newRequest(op, input, output)
  1039. return
  1040. }
  1041. // GetResolverRulePolicy API operation for Amazon Route 53 Resolver.
  1042. //
  1043. // Gets information about a resolver rule policy. A resolver rule policy specifies
  1044. // the Resolver operations and resources that you want to allow another AWS
  1045. // account to be able to use.
  1046. //
  1047. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1048. // with awserr.Error's Code and Message methods to get detailed information about
  1049. // the error.
  1050. //
  1051. // See the AWS API reference guide for Amazon Route 53 Resolver's
  1052. // API operation GetResolverRulePolicy for usage and error information.
  1053. //
  1054. // Returned Error Codes:
  1055. // * ErrCodeInvalidParameterException "InvalidParameterException"
  1056. // One or more parameters in this request are not valid.
  1057. //
  1058. // * ErrCodeUnknownResourceException "UnknownResourceException"
  1059. // The specified resource doesn't exist.
  1060. //
  1061. // * ErrCodeInternalServiceErrorException "InternalServiceErrorException"
  1062. // We encountered an unknown error. Try again in a few minutes.
  1063. //
  1064. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRulePolicy
  1065. func (c *Route53Resolver) GetResolverRulePolicy(input *GetResolverRulePolicyInput) (*GetResolverRulePolicyOutput, error) {
  1066. req, out := c.GetResolverRulePolicyRequest(input)
  1067. return out, req.Send()
  1068. }
  1069. // GetResolverRulePolicyWithContext is the same as GetResolverRulePolicy with the addition of
  1070. // the ability to pass a context and additional request options.
  1071. //
  1072. // See GetResolverRulePolicy for details on how to use this API operation.
  1073. //
  1074. // The context must be non-nil and will be used for request cancellation. If
  1075. // the context is nil a panic will occur. In the future the SDK may create
  1076. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1077. // for more information on using Contexts.
  1078. func (c *Route53Resolver) GetResolverRulePolicyWithContext(ctx aws.Context, input *GetResolverRulePolicyInput, opts ...request.Option) (*GetResolverRulePolicyOutput, error) {
  1079. req, out := c.GetResolverRulePolicyRequest(input)
  1080. req.SetContext(ctx)
  1081. req.ApplyOptions(opts...)
  1082. return out, req.Send()
  1083. }
  1084. const opListResolverEndpointIpAddresses = "ListResolverEndpointIpAddresses"
  1085. // ListResolverEndpointIpAddressesRequest generates a "aws/request.Request" representing the
  1086. // client's request for the ListResolverEndpointIpAddresses operation. The "output" return
  1087. // value will be populated with the request's response once the request completes
  1088. // successfully.
  1089. //
  1090. // Use "Send" method on the returned Request to send the API call to the service.
  1091. // the "output" return value is not valid until after Send returns without error.
  1092. //
  1093. // See ListResolverEndpointIpAddresses for more information on using the ListResolverEndpointIpAddresses
  1094. // API call, and error handling.
  1095. //
  1096. // This method is useful when you want to inject custom logic or configuration
  1097. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1098. //
  1099. //
  1100. // // Example sending a request using the ListResolverEndpointIpAddressesRequest method.
  1101. // req, resp := client.ListResolverEndpointIpAddressesRequest(params)
  1102. //
  1103. // err := req.Send()
  1104. // if err == nil { // resp is now filled
  1105. // fmt.Println(resp)
  1106. // }
  1107. //
  1108. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverEndpointIpAddresses
  1109. func (c *Route53Resolver) ListResolverEndpointIpAddressesRequest(input *ListResolverEndpointIpAddressesInput) (req *request.Request, output *ListResolverEndpointIpAddressesOutput) {
  1110. op := &request.Operation{
  1111. Name: opListResolverEndpointIpAddresses,
  1112. HTTPMethod: "POST",
  1113. HTTPPath: "/",
  1114. Paginator: &request.Paginator{
  1115. InputTokens: []string{"NextToken"},
  1116. OutputTokens: []string{"NextToken"},
  1117. LimitToken: "MaxResults",
  1118. TruncationToken: "",
  1119. },
  1120. }
  1121. if input == nil {
  1122. input = &ListResolverEndpointIpAddressesInput{}
  1123. }
  1124. output = &ListResolverEndpointIpAddressesOutput{}
  1125. req = c.newRequest(op, input, output)
  1126. return
  1127. }
  1128. // ListResolverEndpointIpAddresses API operation for Amazon Route 53 Resolver.
  1129. //
  1130. // Gets the IP addresses for a specified resolver endpoint.
  1131. //
  1132. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1133. // with awserr.Error's Code and Message methods to get detailed information about
  1134. // the error.
  1135. //
  1136. // See the AWS API reference guide for Amazon Route 53 Resolver's
  1137. // API operation ListResolverEndpointIpAddresses for usage and error information.
  1138. //
  1139. // Returned Error Codes:
  1140. // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
  1141. // The specified resource doesn't exist.
  1142. //
  1143. // * ErrCodeInvalidParameterException "InvalidParameterException"
  1144. // One or more parameters in this request are not valid.
  1145. //
  1146. // * ErrCodeInternalServiceErrorException "InternalServiceErrorException"
  1147. // We encountered an unknown error. Try again in a few minutes.
  1148. //
  1149. // * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
  1150. // The value that you specified for NextToken in a List request isn't valid.
  1151. //
  1152. // * ErrCodeThrottlingException "ThrottlingException"
  1153. // The request was throttled. Try again in a few minutes.
  1154. //
  1155. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverEndpointIpAddresses
  1156. func (c *Route53Resolver) ListResolverEndpointIpAddresses(input *ListResolverEndpointIpAddressesInput) (*ListResolverEndpointIpAddressesOutput, error) {
  1157. req, out := c.ListResolverEndpointIpAddressesRequest(input)
  1158. return out, req.Send()
  1159. }
  1160. // ListResolverEndpointIpAddressesWithContext is the same as ListResolverEndpointIpAddresses with the addition of
  1161. // the ability to pass a context and additional request options.
  1162. //
  1163. // See ListResolverEndpointIpAddresses for details on how to use this API operation.
  1164. //
  1165. // The context must be non-nil and will be used for request cancellation. If
  1166. // the context is nil a panic will occur. In the future the SDK may create
  1167. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1168. // for more information on using Contexts.
  1169. func (c *Route53Resolver) ListResolverEndpointIpAddressesWithContext(ctx aws.Context, input *ListResolverEndpointIpAddressesInput, opts ...request.Option) (*ListResolverEndpointIpAddressesOutput, error) {
  1170. req, out := c.ListResolverEndpointIpAddressesRequest(input)
  1171. req.SetContext(ctx)
  1172. req.ApplyOptions(opts...)
  1173. return out, req.Send()
  1174. }
  1175. // ListResolverEndpointIpAddressesPages iterates over the pages of a ListResolverEndpointIpAddresses operation,
  1176. // calling the "fn" function with the response data for each page. To stop
  1177. // iterating, return false from the fn function.
  1178. //
  1179. // See ListResolverEndpointIpAddresses method for more information on how to use this operation.
  1180. //
  1181. // Note: This operation can generate multiple requests to a service.
  1182. //
  1183. // // Example iterating over at most 3 pages of a ListResolverEndpointIpAddresses operation.
  1184. // pageNum := 0
  1185. // err := client.ListResolverEndpointIpAddressesPages(params,
  1186. // func(page *ListResolverEndpointIpAddressesOutput, lastPage bool) bool {
  1187. // pageNum++
  1188. // fmt.Println(page)
  1189. // return pageNum <= 3
  1190. // })
  1191. //
  1192. func (c *Route53Resolver) ListResolverEndpointIpAddressesPages(input *ListResolverEndpointIpAddressesInput, fn func(*ListResolverEndpointIpAddressesOutput, bool) bool) error {
  1193. return c.ListResolverEndpointIpAddressesPagesWithContext(aws.BackgroundContext(), input, fn)
  1194. }
  1195. // ListResolverEndpointIpAddressesPagesWithContext same as ListResolverEndpointIpAddressesPages except
  1196. // it takes a Context and allows setting request options on the pages.
  1197. //
  1198. // The context must be non-nil and will be used for request cancellation. If
  1199. // the context is nil a panic will occur. In the future the SDK may create
  1200. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1201. // for more information on using Contexts.
  1202. func (c *Route53Resolver) ListResolverEndpointIpAddressesPagesWithContext(ctx aws.Context, input *ListResolverEndpointIpAddressesInput, fn func(*ListResolverEndpointIpAddressesOutput, bool) bool, opts ...request.Option) error {
  1203. p := request.Pagination{
  1204. NewRequest: func() (*request.Request, error) {
  1205. var inCpy *ListResolverEndpointIpAddressesInput
  1206. if input != nil {
  1207. tmp := *input
  1208. inCpy = &tmp
  1209. }
  1210. req, _ := c.ListResolverEndpointIpAddressesRequest(inCpy)
  1211. req.SetContext(ctx)
  1212. req.ApplyOptions(opts...)
  1213. return req, nil
  1214. },
  1215. }
  1216. cont := true
  1217. for p.Next() && cont {
  1218. cont = fn(p.Page().(*ListResolverEndpointIpAddressesOutput), !p.HasNextPage())
  1219. }
  1220. return p.Err()
  1221. }
  1222. const opListResolverEndpoints = "ListResolverEndpoints"
  1223. // ListResolverEndpointsRequest generates a "aws/request.Request" representing the
  1224. // client's request for the ListResolverEndpoints operation. The "output" return
  1225. // value will be populated with the request's response once the request completes
  1226. // successfully.
  1227. //
  1228. // Use "Send" method on the returned Request to send the API call to the service.
  1229. // the "output" return value is not valid until after Send returns without error.
  1230. //
  1231. // See ListResolverEndpoints for more information on using the ListResolverEndpoints
  1232. // API call, and error handling.
  1233. //
  1234. // This method is useful when you want to inject custom logic or configuration
  1235. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1236. //
  1237. //
  1238. // // Example sending a request using the ListResolverEndpointsRequest method.
  1239. // req, resp := client.ListResolverEndpointsRequest(params)
  1240. //
  1241. // err := req.Send()
  1242. // if err == nil { // resp is now filled
  1243. // fmt.Println(resp)
  1244. // }
  1245. //
  1246. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverEndpoints
  1247. func (c *Route53Resolver) ListResolverEndpointsRequest(input *ListResolverEndpointsInput) (req *request.Request, output *ListResolverEndpointsOutput) {
  1248. op := &request.Operation{
  1249. Name: opListResolverEndpoints,
  1250. HTTPMethod: "POST",
  1251. HTTPPath: "/",
  1252. Paginator: &request.Paginator{
  1253. InputTokens: []string{"NextToken"},
  1254. OutputTokens: []string{"NextToken"},
  1255. LimitToken: "MaxResults",
  1256. TruncationToken: "",
  1257. },
  1258. }
  1259. if input == nil {
  1260. input = &ListResolverEndpointsInput{}
  1261. }
  1262. output = &ListResolverEndpointsOutput{}
  1263. req = c.newRequest(op, input, output)
  1264. return
  1265. }
  1266. // ListResolverEndpoints API operation for Amazon Route 53 Resolver.
  1267. //
  1268. // Lists all the resolver endpoints that were created using the current AWS
  1269. // account.
  1270. //
  1271. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1272. // with awserr.Error's Code and Message methods to get detailed information about
  1273. // the error.
  1274. //
  1275. // See the AWS API reference guide for Amazon Route 53 Resolver's
  1276. // API operation ListResolverEndpoints for usage and error information.
  1277. //
  1278. // Returned Error Codes:
  1279. // * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
  1280. // The value that you specified for NextToken in a List request isn't valid.
  1281. //
  1282. // * ErrCodeInvalidRequestException "InvalidRequestException"
  1283. // The request is invalid.
  1284. //
  1285. // * ErrCodeInvalidParameterException "InvalidParameterException"
  1286. // One or more parameters in this request are not valid.
  1287. //
  1288. // * ErrCodeInternalServiceErrorException "InternalServiceErrorException"
  1289. // We encountered an unknown error. Try again in a few minutes.
  1290. //
  1291. // * ErrCodeThrottlingException "ThrottlingException"
  1292. // The request was throttled. Try again in a few minutes.
  1293. //
  1294. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverEndpoints
  1295. func (c *Route53Resolver) ListResolverEndpoints(input *ListResolverEndpointsInput) (*ListResolverEndpointsOutput, error) {
  1296. req, out := c.ListResolverEndpointsRequest(input)
  1297. return out, req.Send()
  1298. }
  1299. // ListResolverEndpointsWithContext is the same as ListResolverEndpoints with the addition of
  1300. // the ability to pass a context and additional request options.
  1301. //
  1302. // See ListResolverEndpoints for details on how to use this API operation.
  1303. //
  1304. // The context must be non-nil and will be used for request cancellation. If
  1305. // the context is nil a panic will occur. In the future the SDK may create
  1306. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1307. // for more information on using Contexts.
  1308. func (c *Route53Resolver) ListResolverEndpointsWithContext(ctx aws.Context, input *ListResolverEndpointsInput, opts ...request.Option) (*ListResolverEndpointsOutput, error) {
  1309. req, out := c.ListResolverEndpointsRequest(input)
  1310. req.SetContext(ctx)
  1311. req.ApplyOptions(opts...)
  1312. return out, req.Send()
  1313. }
  1314. // ListResolverEndpointsPages iterates over the pages of a ListResolverEndpoints operation,
  1315. // calling the "fn" function with the response data for each page. To stop
  1316. // iterating, return false from the fn function.
  1317. //
  1318. // See ListResolverEndpoints method for more information on how to use this operation.
  1319. //
  1320. // Note: This operation can generate multiple requests to a service.
  1321. //
  1322. // // Example iterating over at most 3 pages of a ListResolverEndpoints operation.
  1323. // pageNum := 0
  1324. // err := client.ListResolverEndpointsPages(params,
  1325. // func(page *ListResolverEndpointsOutput, lastPage bool) bool {
  1326. // pageNum++
  1327. // fmt.Println(page)
  1328. // return pageNum <= 3
  1329. // })
  1330. //
  1331. func (c *Route53Resolver) ListResolverEndpointsPages(input *ListResolverEndpointsInput, fn func(*ListResolverEndpointsOutput, bool) bool) error {
  1332. return c.ListResolverEndpointsPagesWithContext(aws.BackgroundContext(), input, fn)
  1333. }
  1334. // ListResolverEndpointsPagesWithContext same as ListResolverEndpointsPages except
  1335. // it takes a Context and allows setting request options on the pages.
  1336. //
  1337. // The context must be non-nil and will be used for request cancellation. If
  1338. // the context is nil a panic will occur. In the future the SDK may create
  1339. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1340. // for more information on using Contexts.
  1341. func (c *Route53Resolver) ListResolverEndpointsPagesWithContext(ctx aws.Context, input *ListResolverEndpointsInput, fn func(*ListResolverEndpointsOutput, bool) bool, opts ...request.Option) error {
  1342. p := request.Pagination{
  1343. NewRequest: func() (*request.Request, error) {
  1344. var inCpy *ListResolverEndpointsInput
  1345. if input != nil {
  1346. tmp := *input
  1347. inCpy = &tmp
  1348. }
  1349. req, _ := c.ListResolverEndpointsRequest(inCpy)
  1350. req.SetContext(ctx)
  1351. req.ApplyOptions(opts...)
  1352. return req, nil
  1353. },
  1354. }
  1355. cont := true
  1356. for p.Next() && cont {
  1357. cont = fn(p.Page().(*ListResolverEndpointsOutput), !p.HasNextPage())
  1358. }
  1359. return p.Err()
  1360. }
  1361. const opListResolverRuleAssociations = "ListResolverRuleAssociations"
  1362. // ListResolverRuleAssociationsRequest generates a "aws/request.Request" representing the
  1363. // client's request for the ListResolverRuleAssociations operation. The "output" return
  1364. // value will be populated with the request's response once the request completes
  1365. // successfully.
  1366. //
  1367. // Use "Send" method on the returned Request to send the API call to the service.
  1368. // the "output" return value is not valid until after Send returns without error.
  1369. //
  1370. // See ListResolverRuleAssociations for more information on using the ListResolverRuleAssociations
  1371. // API call, and error handling.
  1372. //
  1373. // This method is useful when you want to inject custom logic or configuration
  1374. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1375. //
  1376. //
  1377. // // Example sending a request using the ListResolverRuleAssociationsRequest method.
  1378. // req, resp := client.ListResolverRuleAssociationsRequest(params)
  1379. //
  1380. // err := req.Send()
  1381. // if err == nil { // resp is now filled
  1382. // fmt.Println(resp)
  1383. // }
  1384. //
  1385. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverRuleAssociations
  1386. func (c *Route53Resolver) ListResolverRuleAssociationsRequest(input *ListResolverRuleAssociationsInput) (req *request.Request, output *ListResolverRuleAssociationsOutput) {
  1387. op := &request.Operation{
  1388. Name: opListResolverRuleAssociations,
  1389. HTTPMethod: "POST",
  1390. HTTPPath: "/",
  1391. Paginator: &request.Paginator{
  1392. InputTokens: []string{"NextToken"},
  1393. OutputTokens: []string{"NextToken"},
  1394. LimitToken: "MaxResults",
  1395. TruncationToken: "",
  1396. },
  1397. }
  1398. if input == nil {
  1399. input = &ListResolverRuleAssociationsInput{}
  1400. }
  1401. output = &ListResolverRuleAssociationsOutput{}
  1402. req = c.newRequest(op, input, output)
  1403. return
  1404. }
  1405. // ListResolverRuleAssociations API operation for Amazon Route 53 Resolver.
  1406. //
  1407. // Lists the associations that were created between resolver rules and VPCs
  1408. // using the current AWS account.
  1409. //
  1410. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1411. // with awserr.Error's Code and Message methods to get detailed information about
  1412. // the error.
  1413. //
  1414. // See the AWS API reference guide for Amazon Route 53 Resolver's
  1415. // API operation ListResolverRuleAssociations for usage and error information.
  1416. //
  1417. // Returned Error Codes:
  1418. // * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
  1419. // The value that you specified for NextToken in a List request isn't valid.
  1420. //
  1421. // * ErrCodeInvalidRequestException "InvalidRequestException"
  1422. // The request is invalid.
  1423. //
  1424. // * ErrCodeInvalidParameterException "InvalidParameterException"
  1425. // One or more parameters in this request are not valid.
  1426. //
  1427. // * ErrCodeInternalServiceErrorException "InternalServiceErrorException"
  1428. // We encountered an unknown error. Try again in a few minutes.
  1429. //
  1430. // * ErrCodeThrottlingException "ThrottlingException"
  1431. // The request was throttled. Try again in a few minutes.
  1432. //
  1433. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverRuleAssociations
  1434. func (c *Route53Resolver) ListResolverRuleAssociations(input *ListResolverRuleAssociationsInput) (*ListResolverRuleAssociationsOutput, error) {
  1435. req, out := c.ListResolverRuleAssociationsRequest(input)
  1436. return out, req.Send()
  1437. }
  1438. // ListResolverRuleAssociationsWithContext is the same as ListResolverRuleAssociations with the addition of
  1439. // the ability to pass a context and additional request options.
  1440. //
  1441. // See ListResolverRuleAssociations for details on how to use this API operation.
  1442. //
  1443. // The context must be non-nil and will be used for request cancellation. If
  1444. // the context is nil a panic will occur. In the future the SDK may create
  1445. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1446. // for more information on using Contexts.
  1447. func (c *Route53Resolver) ListResolverRuleAssociationsWithContext(ctx aws.Context, input *ListResolverRuleAssociationsInput, opts ...request.Option) (*ListResolverRuleAssociationsOutput, error) {
  1448. req, out := c.ListResolverRuleAssociationsRequest(input)
  1449. req.SetContext(ctx)
  1450. req.ApplyOptions(opts...)
  1451. return out, req.Send()
  1452. }
  1453. // ListResolverRuleAssociationsPages iterates over the pages of a ListResolverRuleAssociations operation,
  1454. // calling the "fn" function with the response data for each page. To stop
  1455. // iterating, return false from the fn function.
  1456. //
  1457. // See ListResolverRuleAssociations method for more information on how to use this operation.
  1458. //
  1459. // Note: This operation can generate multiple requests to a service.
  1460. //
  1461. // // Example iterating over at most 3 pages of a ListResolverRuleAssociations operation.
  1462. // pageNum := 0
  1463. // err := client.ListResolverRuleAssociationsPages(params,
  1464. // func(page *ListResolverRuleAssociationsOutput, lastPage bool) bool {
  1465. // pageNum++
  1466. // fmt.Println(page)
  1467. // return pageNum <= 3
  1468. // })
  1469. //
  1470. func (c *Route53Resolver) ListResolverRuleAssociationsPages(input *ListResolverRuleAssociationsInput, fn func(*ListResolverRuleAssociationsOutput, bool) bool) error {
  1471. return c.ListResolverRuleAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
  1472. }
  1473. // ListResolverRuleAssociationsPagesWithContext same as ListResolverRuleAssociationsPages except
  1474. // it takes a Context and allows setting request options on the pages.
  1475. //
  1476. // The context must be non-nil and will be used for request cancellation. If
  1477. // the context is nil a panic will occur. In the future the SDK may create
  1478. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1479. // for more information on using Contexts.
  1480. func (c *Route53Resolver) ListResolverRuleAssociationsPagesWithContext(ctx aws.Context, input *ListResolverRuleAssociationsInput, fn func(*ListResolverRuleAssociationsOutput, bool) bool, opts ...request.Option) error {
  1481. p := request.Pagination{
  1482. NewRequest: func() (*request.Request, error) {
  1483. var inCpy *ListResolverRuleAssociationsInput
  1484. if input != nil {
  1485. tmp := *input
  1486. inCpy = &tmp
  1487. }
  1488. req, _ := c.ListResolverRuleAssociationsRequest(inCpy)
  1489. req.SetContext(ctx)
  1490. req.ApplyOptions(opts...)
  1491. return req, nil
  1492. },
  1493. }
  1494. cont := true
  1495. for p.Next() && cont {
  1496. cont = fn(p.Page().(*ListResolverRuleAssociationsOutput), !p.HasNextPage())
  1497. }
  1498. return p.Err()
  1499. }
  1500. const opListResolverRules = "ListResolverRules"
  1501. // ListResolverRulesRequest generates a "aws/request.Request" representing the
  1502. // client's request for the ListResolverRules operation. The "output" return
  1503. // value will be populated with the request's response once the request completes
  1504. // successfully.
  1505. //
  1506. // Use "Send" method on the returned Request to send the API call to the service.
  1507. // the "output" return value is not valid until after Send returns without error.
  1508. //
  1509. // See ListResolverRules for more information on using the ListResolverRules
  1510. // API call, and error handling.
  1511. //
  1512. // This method is useful when you want to inject custom logic or configuration
  1513. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1514. //
  1515. //
  1516. // // Example sending a request using the ListResolverRulesRequest method.
  1517. // req, resp := client.ListResolverRulesRequest(params)
  1518. //
  1519. // err := req.Send()
  1520. // if err == nil { // resp is now filled
  1521. // fmt.Println(resp)
  1522. // }
  1523. //
  1524. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverRules
  1525. func (c *Route53Resolver) ListResolverRulesRequest(input *ListResolverRulesInput) (req *request.Request, output *ListResolverRulesOutput) {
  1526. op := &request.Operation{
  1527. Name: opListResolverRules,
  1528. HTTPMethod: "POST",
  1529. HTTPPath: "/",
  1530. Paginator: &request.Paginator{
  1531. InputTokens: []string{"NextToken"},
  1532. OutputTokens: []string{"NextToken"},
  1533. LimitToken: "MaxResults",
  1534. TruncationToken: "",
  1535. },
  1536. }
  1537. if input == nil {
  1538. input = &ListResolverRulesInput{}
  1539. }
  1540. output = &ListResolverRulesOutput{}
  1541. req = c.newRequest(op, input, output)
  1542. return
  1543. }
  1544. // ListResolverRules API operation for Amazon Route 53 Resolver.
  1545. //
  1546. // Lists the resolver rules that were created using the current AWS account.
  1547. //
  1548. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1549. // with awserr.Error's Code and Message methods to get detailed information about
  1550. // the error.
  1551. //
  1552. // See the AWS API reference guide for Amazon Route 53 Resolver's
  1553. // API operation ListResolverRules for usage and error information.
  1554. //
  1555. // Returned Error Codes:
  1556. // * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
  1557. // The value that you specified for NextToken in a List request isn't valid.
  1558. //
  1559. // * ErrCodeInvalidRequestException "InvalidRequestException"
  1560. // The request is invalid.
  1561. //
  1562. // * ErrCodeInvalidParameterException "InvalidParameterException"
  1563. // One or more parameters in this request are not valid.
  1564. //
  1565. // * ErrCodeInternalServiceErrorException "InternalServiceErrorException"
  1566. // We encountered an unknown error. Try again in a few minutes.
  1567. //
  1568. // * ErrCodeThrottlingException "ThrottlingException"
  1569. // The request was throttled. Try again in a few minutes.
  1570. //
  1571. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverRules
  1572. func (c *Route53Resolver) ListResolverRules(input *ListResolverRulesInput) (*ListResolverRulesOutput, error) {
  1573. req, out := c.ListResolverRulesRequest(input)
  1574. return out, req.Send()
  1575. }
  1576. // ListResolverRulesWithContext is the same as ListResolverRules with the addition of
  1577. // the ability to pass a context and additional request options.
  1578. //
  1579. // See ListResolverRules for details on how to use this API operation.
  1580. //
  1581. // The context must be non-nil and will be used for request cancellation. If
  1582. // the context is nil a panic will occur. In the future the SDK may create
  1583. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1584. // for more information on using Contexts.
  1585. func (c *Route53Resolver) ListResolverRulesWithContext(ctx aws.Context, input *ListResolverRulesInput, opts ...request.Option) (*ListResolverRulesOutput, error) {
  1586. req, out := c.ListResolverRulesRequest(input)
  1587. req.SetContext(ctx)
  1588. req.ApplyOptions(opts...)
  1589. return out, req.Send()
  1590. }
  1591. // ListResolverRulesPages iterates over the pages of a ListResolverRules operation,
  1592. // calling the "fn" function with the response data for each page. To stop
  1593. // iterating, return false from the fn function.
  1594. //
  1595. // See ListResolverRules method for more information on how to use this operation.
  1596. //
  1597. // Note: This operation can generate multiple requests to a service.
  1598. //
  1599. // // Example iterating over at most 3 pages of a ListResolverRules operation.
  1600. // pageNum := 0
  1601. // err := client.ListResolverRulesPages(params,
  1602. // func(page *ListResolverRulesOutput, lastPage bool) bool {
  1603. // pageNum++
  1604. // fmt.Println(page)
  1605. // return pageNum <= 3
  1606. // })
  1607. //
  1608. func (c *Route53Resolver) ListResolverRulesPages(input *ListResolverRulesInput, fn func(*ListResolverRulesOutput, bool) bool) error {
  1609. return c.ListResolverRulesPagesWithContext(aws.BackgroundContext(), input, fn)
  1610. }
  1611. // ListResolverRulesPagesWithContext same as ListResolverRulesPages except
  1612. // it takes a Context and allows setting request options on the pages.
  1613. //
  1614. // The context must be non-nil and will be used for request cancellation. If
  1615. // the context is nil a panic will occur. In the future the SDK may create
  1616. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1617. // for more information on using Contexts.
  1618. func (c *Route53Resolver) ListResolverRulesPagesWithContext(ctx aws.Context, input *ListResolverRulesInput, fn func(*ListResolverRulesOutput, bool) bool, opts ...request.Option) error {
  1619. p := request.Pagination{
  1620. NewRequest: func() (*request.Request, error) {
  1621. var inCpy *ListResolverRulesInput
  1622. if input != nil {
  1623. tmp := *input
  1624. inCpy = &tmp
  1625. }
  1626. req, _ := c.ListResolverRulesRequest(inCpy)
  1627. req.SetContext(ctx)
  1628. req.ApplyOptions(opts...)
  1629. return req, nil
  1630. },
  1631. }
  1632. cont := true
  1633. for p.Next() && cont {
  1634. cont = fn(p.Page().(*ListResolverRulesOutput), !p.HasNextPage())
  1635. }
  1636. return p.Err()
  1637. }
  1638. const opListTagsForResource = "ListTagsForResource"
  1639. // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  1640. // client's request for the ListTagsForResource operation. The "output" return
  1641. // value will be populated with the request's response once the request completes
  1642. // successfully.
  1643. //
  1644. // Use "Send" method on the returned Request to send the API call to the service.
  1645. // the "output" return value is not valid until after Send returns without error.
  1646. //
  1647. // See ListTagsForResource for more information on using the ListTagsForResource
  1648. // API call, and error handling.
  1649. //
  1650. // This method is useful when you want to inject custom logic or configuration
  1651. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1652. //
  1653. //
  1654. // // Example sending a request using the ListTagsForResourceRequest method.
  1655. // req, resp := client.ListTagsForResourceRequest(params)
  1656. //
  1657. // err := req.Send()
  1658. // if err == nil { // resp is now filled
  1659. // fmt.Println(resp)
  1660. // }
  1661. //
  1662. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListTagsForResource
  1663. func (c *Route53Resolver) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  1664. op := &request.Operation{
  1665. Name: opListTagsForResource,
  1666. HTTPMethod: "POST",
  1667. HTTPPath: "/",
  1668. }
  1669. if input == nil {
  1670. input = &ListTagsForResourceInput{}
  1671. }
  1672. output = &ListTagsForResourceOutput{}
  1673. req = c.newRequest(op, input, output)
  1674. return
  1675. }
  1676. // ListTagsForResource API operation for Amazon Route 53 Resolver.
  1677. //
  1678. // Lists the tags that you associated with the specified resource.
  1679. //
  1680. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1681. // with awserr.Error's Code and Message methods to get detailed information about
  1682. // the error.
  1683. //
  1684. // See the AWS API reference guide for Amazon Route 53 Resolver's
  1685. // API operation ListTagsForResource for usage and error information.
  1686. //
  1687. // Returned Error Codes:
  1688. // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
  1689. // The specified resource doesn't exist.
  1690. //
  1691. // * ErrCodeInvalidParameterException "InvalidParameterException"
  1692. // One or more parameters in this request are not valid.
  1693. //
  1694. // * ErrCodeInvalidNextTokenException "InvalidNextTokenException"
  1695. // The value that you specified for NextToken in a List request isn't valid.
  1696. //
  1697. // * ErrCodeInvalidRequestException "InvalidRequestException"
  1698. // The request is invalid.
  1699. //
  1700. // * ErrCodeInternalServiceErrorException "InternalServiceErrorException"
  1701. // We encountered an unknown error. Try again in a few minutes.
  1702. //
  1703. // * ErrCodeThrottlingException "ThrottlingException"
  1704. // The request was throttled. Try again in a few minutes.
  1705. //
  1706. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListTagsForResource
  1707. func (c *Route53Resolver) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  1708. req, out := c.ListTagsForResourceRequest(input)
  1709. return out, req.Send()
  1710. }
  1711. // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  1712. // the ability to pass a context and additional request options.
  1713. //
  1714. // See ListTagsForResource for details on how to use this API operation.
  1715. //
  1716. // The context must be non-nil and will be used for request cancellation. If
  1717. // the context is nil a panic will occur. In the future the SDK may create
  1718. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1719. // for more information on using Contexts.
  1720. func (c *Route53Resolver) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  1721. req, out := c.ListTagsForResourceRequest(input)
  1722. req.SetContext(ctx)
  1723. req.ApplyOptions(opts...)
  1724. return out, req.Send()
  1725. }
  1726. const opPutResolverRulePolicy = "PutResolverRulePolicy"
  1727. // PutResolverRulePolicyRequest generates a "aws/request.Request" representing the
  1728. // client's request for the PutResolverRulePolicy operation. The "output" return
  1729. // value will be populated with the request's response once the request completes
  1730. // successfully.
  1731. //
  1732. // Use "Send" method on the returned Request to send the API call to the service.
  1733. // the "output" return value is not valid until after Send returns without error.
  1734. //
  1735. // See PutResolverRulePolicy for more information on using the PutResolverRulePolicy
  1736. // API call, and error handling.
  1737. //
  1738. // This method is useful when you want to inject custom logic or configuration
  1739. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1740. //
  1741. //
  1742. // // Example sending a request using the PutResolverRulePolicyRequest method.
  1743. // req, resp := client.PutResolverRulePolicyRequest(params)
  1744. //
  1745. // err := req.Send()
  1746. // if err == nil { // resp is now filled
  1747. // fmt.Println(resp)
  1748. // }
  1749. //
  1750. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/PutResolverRulePolicy
  1751. func (c *Route53Resolver) PutResolverRulePolicyRequest(input *PutResolverRulePolicyInput) (req *request.Request, output *PutResolverRulePolicyOutput) {
  1752. op := &request.Operation{
  1753. Name: opPutResolverRulePolicy,
  1754. HTTPMethod: "POST",
  1755. HTTPPath: "/",
  1756. }
  1757. if input == nil {
  1758. input = &PutResolverRulePolicyInput{}
  1759. }
  1760. output = &PutResolverRulePolicyOutput{}
  1761. req = c.newRequest(op, input, output)
  1762. return
  1763. }
  1764. // PutResolverRulePolicy API operation for Amazon Route 53 Resolver.
  1765. //
  1766. // Specifies the Resolver operations and resources that you want to allow another
  1767. // AWS account to be able to use.
  1768. //
  1769. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1770. // with awserr.Error's Code and Message methods to get detailed information about
  1771. // the error.
  1772. //
  1773. // See the AWS API reference guide for Amazon Route 53 Resolver's
  1774. // API operation PutResolverRulePolicy for usage and error information.
  1775. //
  1776. // Returned Error Codes:
  1777. // * ErrCodeInvalidPolicyDocument "InvalidPolicyDocument"
  1778. // The specified resolver rule policy is invalid.
  1779. //
  1780. // * ErrCodeInvalidParameterException "InvalidParameterException"
  1781. // One or more parameters in this request are not valid.
  1782. //
  1783. // * ErrCodeUnknownResourceException "UnknownResourceException"
  1784. // The specified resource doesn't exist.
  1785. //
  1786. // * ErrCodeInternalServiceErrorException "InternalServiceErrorException"
  1787. // We encountered an unknown error. Try again in a few minutes.
  1788. //
  1789. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/PutResolverRulePolicy
  1790. func (c *Route53Resolver) PutResolverRulePolicy(input *PutResolverRulePolicyInput) (*PutResolverRulePolicyOutput, error) {
  1791. req, out := c.PutResolverRulePolicyRequest(input)
  1792. return out, req.Send()
  1793. }
  1794. // PutResolverRulePolicyWithContext is the same as PutResolverRulePolicy with the addition of
  1795. // the ability to pass a context and additional request options.
  1796. //
  1797. // See PutResolverRulePolicy for details on how to use this API operation.
  1798. //
  1799. // The context must be non-nil and will be used for request cancellation. If
  1800. // the context is nil a panic will occur. In the future the SDK may create
  1801. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1802. // for more information on using Contexts.
  1803. func (c *Route53Resolver) PutResolverRulePolicyWithContext(ctx aws.Context, input *PutResolverRulePolicyInput, opts ...request.Option) (*PutResolverRulePolicyOutput, error) {
  1804. req, out := c.PutResolverRulePolicyRequest(input)
  1805. req.SetContext(ctx)
  1806. req.ApplyOptions(opts...)
  1807. return out, req.Send()
  1808. }
  1809. const opTagResource = "TagResource"
  1810. // TagResourceRequest generates a "aws/request.Request" representing the
  1811. // client's request for the TagResource operation. The "output" return
  1812. // value will be populated with the request's response once the request completes
  1813. // successfully.
  1814. //
  1815. // Use "Send" method on the returned Request to send the API call to the service.
  1816. // the "output" return value is not valid until after Send returns without error.
  1817. //
  1818. // See TagResource for more information on using the TagResource
  1819. // API call, and error handling.
  1820. //
  1821. // This method is useful when you want to inject custom logic or configuration
  1822. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1823. //
  1824. //
  1825. // // Example sending a request using the TagResourceRequest method.
  1826. // req, resp := client.TagResourceRequest(params)
  1827. //
  1828. // err := req.Send()
  1829. // if err == nil { // resp is now filled
  1830. // fmt.Println(resp)
  1831. // }
  1832. //
  1833. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/TagResource
  1834. func (c *Route53Resolver) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  1835. op := &request.Operation{
  1836. Name: opTagResource,
  1837. HTTPMethod: "POST",
  1838. HTTPPath: "/",
  1839. }
  1840. if input == nil {
  1841. input = &TagResourceInput{}
  1842. }
  1843. output = &TagResourceOutput{}
  1844. req = c.newRequest(op, input, output)
  1845. req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1846. return
  1847. }
  1848. // TagResource API operation for Amazon Route 53 Resolver.
  1849. //
  1850. // Adds one or more tags to a specified resource.
  1851. //
  1852. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1853. // with awserr.Error's Code and Message methods to get detailed information about
  1854. // the error.
  1855. //
  1856. // See the AWS API reference guide for Amazon Route 53 Resolver's
  1857. // API operation TagResource for usage and error information.
  1858. //
  1859. // Returned Error Codes:
  1860. // * ErrCodeLimitExceededException "LimitExceededException"
  1861. // The request caused one or more limits to be exceeded.
  1862. //
  1863. // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
  1864. // The specified resource doesn't exist.
  1865. //
  1866. // * ErrCodeInvalidParameterException "InvalidParameterException"
  1867. // One or more parameters in this request are not valid.
  1868. //
  1869. // * ErrCodeInvalidTagException "InvalidTagException"
  1870. // The specified tag is invalid.
  1871. //
  1872. // * ErrCodeInternalServiceErrorException "InternalServiceErrorException"
  1873. // We encountered an unknown error. Try again in a few minutes.
  1874. //
  1875. // * ErrCodeThrottlingException "ThrottlingException"
  1876. // The request was throttled. Try again in a few minutes.
  1877. //
  1878. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/TagResource
  1879. func (c *Route53Resolver) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  1880. req, out := c.TagResourceRequest(input)
  1881. return out, req.Send()
  1882. }
  1883. // TagResourceWithContext is the same as TagResource with the addition of
  1884. // the ability to pass a context and additional request options.
  1885. //
  1886. // See TagResource for details on how to use this API operation.
  1887. //
  1888. // The context must be non-nil and will be used for request cancellation. If
  1889. // the context is nil a panic will occur. In the future the SDK may create
  1890. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1891. // for more information on using Contexts.
  1892. func (c *Route53Resolver) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  1893. req, out := c.TagResourceRequest(input)
  1894. req.SetContext(ctx)
  1895. req.ApplyOptions(opts...)
  1896. return out, req.Send()
  1897. }
  1898. const opUntagResource = "UntagResource"
  1899. // UntagResourceRequest generates a "aws/request.Request" representing the
  1900. // client's request for the UntagResource operation. The "output" return
  1901. // value will be populated with the request's response once the request completes
  1902. // successfully.
  1903. //
  1904. // Use "Send" method on the returned Request to send the API call to the service.
  1905. // the "output" return value is not valid until after Send returns without error.
  1906. //
  1907. // See UntagResource for more information on using the UntagResource
  1908. // API call, and error handling.
  1909. //
  1910. // This method is useful when you want to inject custom logic or configuration
  1911. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1912. //
  1913. //
  1914. // // Example sending a request using the UntagResourceRequest method.
  1915. // req, resp := client.UntagResourceRequest(params)
  1916. //
  1917. // err := req.Send()
  1918. // if err == nil { // resp is now filled
  1919. // fmt.Println(resp)
  1920. // }
  1921. //
  1922. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UntagResource
  1923. func (c *Route53Resolver) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  1924. op := &request.Operation{
  1925. Name: opUntagResource,
  1926. HTTPMethod: "POST",
  1927. HTTPPath: "/",
  1928. }
  1929. if input == nil {
  1930. input = &UntagResourceInput{}
  1931. }
  1932. output = &UntagResourceOutput{}
  1933. req = c.newRequest(op, input, output)
  1934. req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1935. return
  1936. }
  1937. // UntagResource API operation for Amazon Route 53 Resolver.
  1938. //
  1939. // Removes one or more tags from a specified resource.
  1940. //
  1941. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1942. // with awserr.Error's Code and Message methods to get detailed information about
  1943. // the error.
  1944. //
  1945. // See the AWS API reference guide for Amazon Route 53 Resolver's
  1946. // API operation UntagResource for usage and error information.
  1947. //
  1948. // Returned Error Codes:
  1949. // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
  1950. // The specified resource doesn't exist.
  1951. //
  1952. // * ErrCodeInvalidParameterException "InvalidParameterException"
  1953. // One or more parameters in this request are not valid.
  1954. //
  1955. // * ErrCodeInternalServiceErrorException "InternalServiceErrorException"
  1956. // We encountered an unknown error. Try again in a few minutes.
  1957. //
  1958. // * ErrCodeThrottlingException "ThrottlingException"
  1959. // The request was throttled. Try again in a few minutes.
  1960. //
  1961. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UntagResource
  1962. func (c *Route53Resolver) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  1963. req, out := c.UntagResourceRequest(input)
  1964. return out, req.Send()
  1965. }
  1966. // UntagResourceWithContext is the same as UntagResource with the addition of
  1967. // the ability to pass a context and additional request options.
  1968. //
  1969. // See UntagResource for details on how to use this API operation.
  1970. //
  1971. // The context must be non-nil and will be used for request cancellation. If
  1972. // the context is nil a panic will occur. In the future the SDK may create
  1973. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1974. // for more information on using Contexts.
  1975. func (c *Route53Resolver) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  1976. req, out := c.UntagResourceRequest(input)
  1977. req.SetContext(ctx)
  1978. req.ApplyOptions(opts...)
  1979. return out, req.Send()
  1980. }
  1981. const opUpdateResolverEndpoint = "UpdateResolverEndpoint"
  1982. // UpdateResolverEndpointRequest generates a "aws/request.Request" representing the
  1983. // client's request for the UpdateResolverEndpoint operation. The "output" return
  1984. // value will be populated with the request's response once the request completes
  1985. // successfully.
  1986. //
  1987. // Use "Send" method on the returned Request to send the API call to the service.
  1988. // the "output" return value is not valid until after Send returns without error.
  1989. //
  1990. // See UpdateResolverEndpoint for more information on using the UpdateResolverEndpoint
  1991. // API call, and error handling.
  1992. //
  1993. // This method is useful when you want to inject custom logic or configuration
  1994. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1995. //
  1996. //
  1997. // // Example sending a request using the UpdateResolverEndpointRequest method.
  1998. // req, resp := client.UpdateResolverEndpointRequest(params)
  1999. //
  2000. // err := req.Send()
  2001. // if err == nil { // resp is now filled
  2002. // fmt.Println(resp)
  2003. // }
  2004. //
  2005. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverEndpoint
  2006. func (c *Route53Resolver) UpdateResolverEndpointRequest(input *UpdateResolverEndpointInput) (req *request.Request, output *UpdateResolverEndpointOutput) {
  2007. op := &request.Operation{
  2008. Name: opUpdateResolverEndpoint,
  2009. HTTPMethod: "POST",
  2010. HTTPPath: "/",
  2011. }
  2012. if input == nil {
  2013. input = &UpdateResolverEndpointInput{}
  2014. }
  2015. output = &UpdateResolverEndpointOutput{}
  2016. req = c.newRequest(op, input, output)
  2017. return
  2018. }
  2019. // UpdateResolverEndpoint API operation for Amazon Route 53 Resolver.
  2020. //
  2021. // Updates the name of an inbound or an outbound resolver endpoint.
  2022. //
  2023. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2024. // with awserr.Error's Code and Message methods to get detailed information about
  2025. // the error.
  2026. //
  2027. // See the AWS API reference guide for Amazon Route 53 Resolver's
  2028. // API operation UpdateResolverEndpoint for usage and error information.
  2029. //
  2030. // Returned Error Codes:
  2031. // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
  2032. // The specified resource doesn't exist.
  2033. //
  2034. // * ErrCodeInvalidParameterException "InvalidParameterException"
  2035. // One or more parameters in this request are not valid.
  2036. //
  2037. // * ErrCodeInvalidRequestException "InvalidRequestException"
  2038. // The request is invalid.
  2039. //
  2040. // * ErrCodeInternalServiceErrorException "InternalServiceErrorException"
  2041. // We encountered an unknown error. Try again in a few minutes.
  2042. //
  2043. // * ErrCodeThrottlingException "ThrottlingException"
  2044. // The request was throttled. Try again in a few minutes.
  2045. //
  2046. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverEndpoint
  2047. func (c *Route53Resolver) UpdateResolverEndpoint(input *UpdateResolverEndpointInput) (*UpdateResolverEndpointOutput, error) {
  2048. req, out := c.UpdateResolverEndpointRequest(input)
  2049. return out, req.Send()
  2050. }
  2051. // UpdateResolverEndpointWithContext is the same as UpdateResolverEndpoint with the addition of
  2052. // the ability to pass a context and additional request options.
  2053. //
  2054. // See UpdateResolverEndpoint for details on how to use this API operation.
  2055. //
  2056. // The context must be non-nil and will be used for request cancellation. If
  2057. // the context is nil a panic will occur. In the future the SDK may create
  2058. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2059. // for more information on using Contexts.
  2060. func (c *Route53Resolver) UpdateResolverEndpointWithContext(ctx aws.Context, input *UpdateResolverEndpointInput, opts ...request.Option) (*UpdateResolverEndpointOutput, error) {
  2061. req, out := c.UpdateResolverEndpointRequest(input)
  2062. req.SetContext(ctx)
  2063. req.ApplyOptions(opts...)
  2064. return out, req.Send()
  2065. }
  2066. const opUpdateResolverRule = "UpdateResolverRule"
  2067. // UpdateResolverRuleRequest generates a "aws/request.Request" representing the
  2068. // client's request for the UpdateResolverRule operation. The "output" return
  2069. // value will be populated with the request's response once the request completes
  2070. // successfully.
  2071. //
  2072. // Use "Send" method on the returned Request to send the API call to the service.
  2073. // the "output" return value is not valid until after Send returns without error.
  2074. //
  2075. // See UpdateResolverRule for more information on using the UpdateResolverRule
  2076. // API call, and error handling.
  2077. //
  2078. // This method is useful when you want to inject custom logic or configuration
  2079. // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2080. //
  2081. //
  2082. // // Example sending a request using the UpdateResolverRuleRequest method.
  2083. // req, resp := client.UpdateResolverRuleRequest(params)
  2084. //
  2085. // err := req.Send()
  2086. // if err == nil { // resp is now filled
  2087. // fmt.Println(resp)
  2088. // }
  2089. //
  2090. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverRule
  2091. func (c *Route53Resolver) UpdateResolverRuleRequest(input *UpdateResolverRuleInput) (req *request.Request, output *UpdateResolverRuleOutput) {
  2092. op := &request.Operation{
  2093. Name: opUpdateResolverRule,
  2094. HTTPMethod: "POST",
  2095. HTTPPath: "/",
  2096. }
  2097. if input == nil {
  2098. input = &UpdateResolverRuleInput{}
  2099. }
  2100. output = &UpdateResolverRuleOutput{}
  2101. req = c.newRequest(op, input, output)
  2102. return
  2103. }
  2104. // UpdateResolverRule API operation for Amazon Route 53 Resolver.
  2105. //
  2106. // Updates settings for a specified resolver rule. ResolverRuleId is required,
  2107. // and all other parameters are optional. If you don't specify a parameter,
  2108. // it retains its current value.
  2109. //
  2110. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2111. // with awserr.Error's Code and Message methods to get detailed information about
  2112. // the error.
  2113. //
  2114. // See the AWS API reference guide for Amazon Route 53 Resolver's
  2115. // API operation UpdateResolverRule for usage and error information.
  2116. //
  2117. // Returned Error Codes:
  2118. // * ErrCodeInvalidRequestException "InvalidRequestException"
  2119. // The request is invalid.
  2120. //
  2121. // * ErrCodeInvalidParameterException "InvalidParameterException"
  2122. // One or more parameters in this request are not valid.
  2123. //
  2124. // * ErrCodeResourceNotFoundException "ResourceNotFoundException"
  2125. // The specified resource doesn't exist.
  2126. //
  2127. // * ErrCodeResourceUnavailableException "ResourceUnavailableException"
  2128. // The specified resource isn't available.
  2129. //
  2130. // * ErrCodeLimitExceededException "LimitExceededException"
  2131. // The request caused one or more limits to be exceeded.
  2132. //
  2133. // * ErrCodeInternalServiceErrorException "InternalServiceErrorException"
  2134. // We encountered an unknown error. Try again in a few minutes.
  2135. //
  2136. // * ErrCodeThrottlingException "ThrottlingException"
  2137. // The request was throttled. Try again in a few minutes.
  2138. //
  2139. // See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverRule
  2140. func (c *Route53Resolver) UpdateResolverRule(input *UpdateResolverRuleInput) (*UpdateResolverRuleOutput, error) {
  2141. req, out := c.UpdateResolverRuleRequest(input)
  2142. return out, req.Send()
  2143. }
  2144. // UpdateResolverRuleWithContext is the same as UpdateResolverRule with the addition of
  2145. // the ability to pass a context and additional request options.
  2146. //
  2147. // See UpdateResolverRule for details on how to use this API operation.
  2148. //
  2149. // The context must be non-nil and will be used for request cancellation. If
  2150. // the context is nil a panic will occur. In the future the SDK may create
  2151. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2152. // for more information on using Contexts.
  2153. func (c *Route53Resolver) UpdateResolverRuleWithContext(ctx aws.Context, input *UpdateResolverRuleInput, opts ...request.Option) (*UpdateResolverRuleOutput, error) {
  2154. req, out := c.UpdateResolverRuleRequest(input)
  2155. req.SetContext(ctx)
  2156. req.ApplyOptions(opts...)
  2157. return out, req.Send()
  2158. }
  2159. type AssociateResolverEndpointIpAddressInput struct {
  2160. _ struct{} `type:"structure"`
  2161. // Either the IPv4 address that you want to add to a resolver endpoint or a
  2162. // subnet ID. If you specify a subnet ID, Resolver chooses an IP address for
  2163. // you from the available IPs in the specified subnet.
  2164. //
  2165. // IpAddress is a required field
  2166. IpAddress *IpAddressUpdate `type:"structure" required:"true"`
  2167. // The ID of the resolver endpoint that you want to associate IP addresses with.
  2168. //
  2169. // ResolverEndpointId is a required field
  2170. ResolverEndpointId *string `min:"1" type:"string" required:"true"`
  2171. }
  2172. // String returns the string representation
  2173. func (s AssociateResolverEndpointIpAddressInput) String() string {
  2174. return awsutil.Prettify(s)
  2175. }
  2176. // GoString returns the string representation
  2177. func (s AssociateResolverEndpointIpAddressInput) GoString() string {
  2178. return s.String()
  2179. }
  2180. // Validate inspects the fields of the type to determine if they are valid.
  2181. func (s *AssociateResolverEndpointIpAddressInput) Validate() error {
  2182. invalidParams := request.ErrInvalidParams{Context: "AssociateResolverEndpointIpAddressInput"}
  2183. if s.IpAddress == nil {
  2184. invalidParams.Add(request.NewErrParamRequired("IpAddress"))
  2185. }
  2186. if s.ResolverEndpointId == nil {
  2187. invalidParams.Add(request.NewErrParamRequired("ResolverEndpointId"))
  2188. }
  2189. if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 {
  2190. invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1))
  2191. }
  2192. if s.IpAddress != nil {
  2193. if err := s.IpAddress.Validate(); err != nil {
  2194. invalidParams.AddNested("IpAddress", err.(request.ErrInvalidParams))
  2195. }
  2196. }
  2197. if invalidParams.Len() > 0 {
  2198. return invalidParams
  2199. }
  2200. return nil
  2201. }
  2202. // SetIpAddress sets the IpAddress field's value.
  2203. func (s *AssociateResolverEndpointIpAddressInput) SetIpAddress(v *IpAddressUpdate) *AssociateResolverEndpointIpAddressInput {
  2204. s.IpAddress = v
  2205. return s
  2206. }
  2207. // SetResolverEndpointId sets the ResolverEndpointId field's value.
  2208. func (s *AssociateResolverEndpointIpAddressInput) SetResolverEndpointId(v string) *AssociateResolverEndpointIpAddressInput {
  2209. s.ResolverEndpointId = &v
  2210. return s
  2211. }
  2212. type AssociateResolverEndpointIpAddressOutput struct {
  2213. _ struct{} `type:"structure"`
  2214. // The response to an AssociateResolverEndpointIpAddress request.
  2215. ResolverEndpoint *ResolverEndpoint `type:"structure"`
  2216. }
  2217. // String returns the string representation
  2218. func (s AssociateResolverEndpointIpAddressOutput) String() string {
  2219. return awsutil.Prettify(s)
  2220. }
  2221. // GoString returns the string representation
  2222. func (s AssociateResolverEndpointIpAddressOutput) GoString() string {
  2223. return s.String()
  2224. }
  2225. // SetResolverEndpoint sets the ResolverEndpoint field's value.
  2226. func (s *AssociateResolverEndpointIpAddressOutput) SetResolverEndpoint(v *ResolverEndpoint) *AssociateResolverEndpointIpAddressOutput {
  2227. s.ResolverEndpoint = v
  2228. return s
  2229. }
  2230. type AssociateResolverRuleInput struct {
  2231. _ struct{} `type:"structure"`
  2232. // A name for the association that you're creating between a resolver rule and
  2233. // a VPC.
  2234. Name *string `type:"string"`
  2235. // The ID of the resolver rule that you want to associate with the VPC. To list
  2236. // the existing resolver rules, use ListResolverRules.
  2237. //
  2238. // ResolverRuleId is a required field
  2239. ResolverRuleId *string `min:"1" type:"string" required:"true"`
  2240. // The ID of the VPC that you want to associate the resolver rule with.
  2241. //
  2242. // VPCId is a required field
  2243. VPCId *string `min:"1" type:"string" required:"true"`
  2244. }
  2245. // String returns the string representation
  2246. func (s AssociateResolverRuleInput) String() string {
  2247. return awsutil.Prettify(s)
  2248. }
  2249. // GoString returns the string representation
  2250. func (s AssociateResolverRuleInput) GoString() string {
  2251. return s.String()
  2252. }
  2253. // Validate inspects the fields of the type to determine if they are valid.
  2254. func (s *AssociateResolverRuleInput) Validate() error {
  2255. invalidParams := request.ErrInvalidParams{Context: "AssociateResolverRuleInput"}
  2256. if s.ResolverRuleId == nil {
  2257. invalidParams.Add(request.NewErrParamRequired("ResolverRuleId"))
  2258. }
  2259. if s.ResolverRuleId != nil && len(*s.ResolverRuleId) < 1 {
  2260. invalidParams.Add(request.NewErrParamMinLen("ResolverRuleId", 1))
  2261. }
  2262. if s.VPCId == nil {
  2263. invalidParams.Add(request.NewErrParamRequired("VPCId"))
  2264. }
  2265. if s.VPCId != nil && len(*s.VPCId) < 1 {
  2266. invalidParams.Add(request.NewErrParamMinLen("VPCId", 1))
  2267. }
  2268. if invalidParams.Len() > 0 {
  2269. return invalidParams
  2270. }
  2271. return nil
  2272. }
  2273. // SetName sets the Name field's value.
  2274. func (s *AssociateResolverRuleInput) SetName(v string) *AssociateResolverRuleInput {
  2275. s.Name = &v
  2276. return s
  2277. }
  2278. // SetResolverRuleId sets the ResolverRuleId field's value.
  2279. func (s *AssociateResolverRuleInput) SetResolverRuleId(v string) *AssociateResolverRuleInput {
  2280. s.ResolverRuleId = &v
  2281. return s
  2282. }
  2283. // SetVPCId sets the VPCId field's value.
  2284. func (s *AssociateResolverRuleInput) SetVPCId(v string) *AssociateResolverRuleInput {
  2285. s.VPCId = &v
  2286. return s
  2287. }
  2288. type AssociateResolverRuleOutput struct {
  2289. _ struct{} `type:"structure"`
  2290. // Information about the AssociateResolverRule request, including the status
  2291. // of the request.
  2292. ResolverRuleAssociation *ResolverRuleAssociation `type:"structure"`
  2293. }
  2294. // String returns the string representation
  2295. func (s AssociateResolverRuleOutput) String() string {
  2296. return awsutil.Prettify(s)
  2297. }
  2298. // GoString returns the string representation
  2299. func (s AssociateResolverRuleOutput) GoString() string {
  2300. return s.String()
  2301. }
  2302. // SetResolverRuleAssociation sets the ResolverRuleAssociation field's value.
  2303. func (s *AssociateResolverRuleOutput) SetResolverRuleAssociation(v *ResolverRuleAssociation) *AssociateResolverRuleOutput {
  2304. s.ResolverRuleAssociation = v
  2305. return s
  2306. }
  2307. type CreateResolverEndpointInput struct {
  2308. _ struct{} `type:"structure"`
  2309. // A unique string that identifies the request and that allows failed requests
  2310. // to be retried without the risk of executing the operation twice. CreatorRequestId
  2311. // can be any unique string, for example, a date/time stamp.
  2312. //
  2313. // CreatorRequestId is a required field
  2314. CreatorRequestId *string `min:"1" type:"string" required:"true"`
  2315. // Specify the applicable value:
  2316. //
  2317. // * INBOUND: Resolver forwards DNS queries to the DNS service for a VPC
  2318. // from your network or another VPC
  2319. //
  2320. // * OUTBOUND: Resolver forwards DNS queries from the DNS service for a VPC
  2321. // to your network or another VPC
  2322. //
  2323. // Direction is a required field
  2324. Direction *string `type:"string" required:"true" enum:"ResolverEndpointDirection"`
  2325. // The subnets and IP addresses in your VPC that you want DNS queries to pass
  2326. // through on the way from your VPCs to your network (for outbound endpoints)
  2327. // or on the way from your network to your VPCs (for inbound resolver endpoints).
  2328. //
  2329. // IpAddresses is a required field
  2330. IpAddresses []*IpAddressRequest `min:"1" type:"list" required:"true"`
  2331. // A friendly name that lets you easily find a configuration in the Resolver
  2332. // dashboard in the Route 53 console.
  2333. Name *string `type:"string"`
  2334. // The ID of one or more security groups that you want to use to control access
  2335. // to this VPC. The security group that you specify must include one or more
  2336. // inbound rules (for inbound resolver endpoints) or outbound rules (for outbound
  2337. // resolver endpoints).
  2338. //
  2339. // SecurityGroupIds is a required field
  2340. SecurityGroupIds []*string `type:"list" required:"true"`
  2341. // A list of the tag keys and values that you want to associate with the endpoint.
  2342. Tags []*Tag `type:"list"`
  2343. }
  2344. // String returns the string representation
  2345. func (s CreateResolverEndpointInput) String() string {
  2346. return awsutil.Prettify(s)
  2347. }
  2348. // GoString returns the string representation
  2349. func (s CreateResolverEndpointInput) GoString() string {
  2350. return s.String()
  2351. }
  2352. // Validate inspects the fields of the type to determine if they are valid.
  2353. func (s *CreateResolverEndpointInput) Validate() error {
  2354. invalidParams := request.ErrInvalidParams{Context: "CreateResolverEndpointInput"}
  2355. if s.CreatorRequestId == nil {
  2356. invalidParams.Add(request.NewErrParamRequired("CreatorRequestId"))
  2357. }
  2358. if s.CreatorRequestId != nil && len(*s.CreatorRequestId) < 1 {
  2359. invalidParams.Add(request.NewErrParamMinLen("CreatorRequestId", 1))
  2360. }
  2361. if s.Direction == nil {
  2362. invalidParams.Add(request.NewErrParamRequired("Direction"))
  2363. }
  2364. if s.IpAddresses == nil {
  2365. invalidParams.Add(request.NewErrParamRequired("IpAddresses"))
  2366. }
  2367. if s.IpAddresses != nil && len(s.IpAddresses) < 1 {
  2368. invalidParams.Add(request.NewErrParamMinLen("IpAddresses", 1))
  2369. }
  2370. if s.SecurityGroupIds == nil {
  2371. invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds"))
  2372. }
  2373. if s.IpAddresses != nil {
  2374. for i, v := range s.IpAddresses {
  2375. if v == nil {
  2376. continue
  2377. }
  2378. if err := v.Validate(); err != nil {
  2379. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "IpAddresses", i), err.(request.ErrInvalidParams))
  2380. }
  2381. }
  2382. }
  2383. if invalidParams.Len() > 0 {
  2384. return invalidParams
  2385. }
  2386. return nil
  2387. }
  2388. // SetCreatorRequestId sets the CreatorRequestId field's value.
  2389. func (s *CreateResolverEndpointInput) SetCreatorRequestId(v string) *CreateResolverEndpointInput {
  2390. s.CreatorRequestId = &v
  2391. return s
  2392. }
  2393. // SetDirection sets the Direction field's value.
  2394. func (s *CreateResolverEndpointInput) SetDirection(v string) *CreateResolverEndpointInput {
  2395. s.Direction = &v
  2396. return s
  2397. }
  2398. // SetIpAddresses sets the IpAddresses field's value.
  2399. func (s *CreateResolverEndpointInput) SetIpAddresses(v []*IpAddressRequest) *CreateResolverEndpointInput {
  2400. s.IpAddresses = v
  2401. return s
  2402. }
  2403. // SetName sets the Name field's value.
  2404. func (s *CreateResolverEndpointInput) SetName(v string) *CreateResolverEndpointInput {
  2405. s.Name = &v
  2406. return s
  2407. }
  2408. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  2409. func (s *CreateResolverEndpointInput) SetSecurityGroupIds(v []*string) *CreateResolverEndpointInput {
  2410. s.SecurityGroupIds = v
  2411. return s
  2412. }
  2413. // SetTags sets the Tags field's value.
  2414. func (s *CreateResolverEndpointInput) SetTags(v []*Tag) *CreateResolverEndpointInput {
  2415. s.Tags = v
  2416. return s
  2417. }
  2418. type CreateResolverEndpointOutput struct {
  2419. _ struct{} `type:"structure"`
  2420. // Information about the CreateResolverEndpoint request, including the status
  2421. // of the request.
  2422. ResolverEndpoint *ResolverEndpoint `type:"structure"`
  2423. }
  2424. // String returns the string representation
  2425. func (s CreateResolverEndpointOutput) String() string {
  2426. return awsutil.Prettify(s)
  2427. }
  2428. // GoString returns the string representation
  2429. func (s CreateResolverEndpointOutput) GoString() string {
  2430. return s.String()
  2431. }
  2432. // SetResolverEndpoint sets the ResolverEndpoint field's value.
  2433. func (s *CreateResolverEndpointOutput) SetResolverEndpoint(v *ResolverEndpoint) *CreateResolverEndpointOutput {
  2434. s.ResolverEndpoint = v
  2435. return s
  2436. }
  2437. type CreateResolverRuleInput struct {
  2438. _ struct{} `type:"structure"`
  2439. // A unique string that identifies the request and that allows failed requests
  2440. // to be retried without the risk of executing the operation twice. CreatorRequestId
  2441. // can be any unique string, for example, a date/time stamp.
  2442. //
  2443. // CreatorRequestId is a required field
  2444. CreatorRequestId *string `min:"1" type:"string" required:"true"`
  2445. // DNS queries for this domain name are forwarded to the IP addresses that you
  2446. // specify in TargetIps. If a query matches multiple resolver rules (example.com
  2447. // and www.example.com), outbound DNS queries are routed using the resolver
  2448. // rule that contains the most specific domain name (www.example.com).
  2449. //
  2450. // DomainName is a required field
  2451. DomainName *string `min:"1" type:"string" required:"true"`
  2452. // A friendly name that lets you easily find a rule in the Resolver dashboard
  2453. // in the Route 53 console.
  2454. Name *string `type:"string"`
  2455. // The ID of the outbound resolver endpoint that you want to use to route DNS
  2456. // queries to the IP addresses that you specify in TargetIps.
  2457. ResolverEndpointId *string `min:"1" type:"string"`
  2458. // Specify FORWARD. Other resolver rule types aren't supported.
  2459. //
  2460. // RuleType is a required field
  2461. RuleType *string `type:"string" required:"true" enum:"RuleTypeOption"`
  2462. // A list of the tag keys and values that you want to associate with the endpoint.
  2463. Tags []*Tag `type:"list"`
  2464. // The IPs that you want Resolver to forward DNS queries to. You can specify
  2465. // only IPv4 addresses. Separate IP addresses with a comma.
  2466. TargetIps []*TargetAddress `min:"1" type:"list"`
  2467. }
  2468. // String returns the string representation
  2469. func (s CreateResolverRuleInput) String() string {
  2470. return awsutil.Prettify(s)
  2471. }
  2472. // GoString returns the string representation
  2473. func (s CreateResolverRuleInput) GoString() string {
  2474. return s.String()
  2475. }
  2476. // Validate inspects the fields of the type to determine if they are valid.
  2477. func (s *CreateResolverRuleInput) Validate() error {
  2478. invalidParams := request.ErrInvalidParams{Context: "CreateResolverRuleInput"}
  2479. if s.CreatorRequestId == nil {
  2480. invalidParams.Add(request.NewErrParamRequired("CreatorRequestId"))
  2481. }
  2482. if s.CreatorRequestId != nil && len(*s.CreatorRequestId) < 1 {
  2483. invalidParams.Add(request.NewErrParamMinLen("CreatorRequestId", 1))
  2484. }
  2485. if s.DomainName == nil {
  2486. invalidParams.Add(request.NewErrParamRequired("DomainName"))
  2487. }
  2488. if s.DomainName != nil && len(*s.DomainName) < 1 {
  2489. invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
  2490. }
  2491. if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 {
  2492. invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1))
  2493. }
  2494. if s.RuleType == nil {
  2495. invalidParams.Add(request.NewErrParamRequired("RuleType"))
  2496. }
  2497. if s.TargetIps != nil && len(s.TargetIps) < 1 {
  2498. invalidParams.Add(request.NewErrParamMinLen("TargetIps", 1))
  2499. }
  2500. if s.TargetIps != nil {
  2501. for i, v := range s.TargetIps {
  2502. if v == nil {
  2503. continue
  2504. }
  2505. if err := v.Validate(); err != nil {
  2506. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetIps", i), err.(request.ErrInvalidParams))
  2507. }
  2508. }
  2509. }
  2510. if invalidParams.Len() > 0 {
  2511. return invalidParams
  2512. }
  2513. return nil
  2514. }
  2515. // SetCreatorRequestId sets the CreatorRequestId field's value.
  2516. func (s *CreateResolverRuleInput) SetCreatorRequestId(v string) *CreateResolverRuleInput {
  2517. s.CreatorRequestId = &v
  2518. return s
  2519. }
  2520. // SetDomainName sets the DomainName field's value.
  2521. func (s *CreateResolverRuleInput) SetDomainName(v string) *CreateResolverRuleInput {
  2522. s.DomainName = &v
  2523. return s
  2524. }
  2525. // SetName sets the Name field's value.
  2526. func (s *CreateResolverRuleInput) SetName(v string) *CreateResolverRuleInput {
  2527. s.Name = &v
  2528. return s
  2529. }
  2530. // SetResolverEndpointId sets the ResolverEndpointId field's value.
  2531. func (s *CreateResolverRuleInput) SetResolverEndpointId(v string) *CreateResolverRuleInput {
  2532. s.ResolverEndpointId = &v
  2533. return s
  2534. }
  2535. // SetRuleType sets the RuleType field's value.
  2536. func (s *CreateResolverRuleInput) SetRuleType(v string) *CreateResolverRuleInput {
  2537. s.RuleType = &v
  2538. return s
  2539. }
  2540. // SetTags sets the Tags field's value.
  2541. func (s *CreateResolverRuleInput) SetTags(v []*Tag) *CreateResolverRuleInput {
  2542. s.Tags = v
  2543. return s
  2544. }
  2545. // SetTargetIps sets the TargetIps field's value.
  2546. func (s *CreateResolverRuleInput) SetTargetIps(v []*TargetAddress) *CreateResolverRuleInput {
  2547. s.TargetIps = v
  2548. return s
  2549. }
  2550. type CreateResolverRuleOutput struct {
  2551. _ struct{} `type:"structure"`
  2552. // Information about the CreateResolverRule request, including the status of
  2553. // the request.
  2554. ResolverRule *ResolverRule `type:"structure"`
  2555. }
  2556. // String returns the string representation
  2557. func (s CreateResolverRuleOutput) String() string {
  2558. return awsutil.Prettify(s)
  2559. }
  2560. // GoString returns the string representation
  2561. func (s CreateResolverRuleOutput) GoString() string {
  2562. return s.String()
  2563. }
  2564. // SetResolverRule sets the ResolverRule field's value.
  2565. func (s *CreateResolverRuleOutput) SetResolverRule(v *ResolverRule) *CreateResolverRuleOutput {
  2566. s.ResolverRule = v
  2567. return s
  2568. }
  2569. type DeleteResolverEndpointInput struct {
  2570. _ struct{} `type:"structure"`
  2571. // The ID of the resolver endpoint that you want to delete.
  2572. //
  2573. // ResolverEndpointId is a required field
  2574. ResolverEndpointId *string `min:"1" type:"string" required:"true"`
  2575. }
  2576. // String returns the string representation
  2577. func (s DeleteResolverEndpointInput) String() string {
  2578. return awsutil.Prettify(s)
  2579. }
  2580. // GoString returns the string representation
  2581. func (s DeleteResolverEndpointInput) GoString() string {
  2582. return s.String()
  2583. }
  2584. // Validate inspects the fields of the type to determine if they are valid.
  2585. func (s *DeleteResolverEndpointInput) Validate() error {
  2586. invalidParams := request.ErrInvalidParams{Context: "DeleteResolverEndpointInput"}
  2587. if s.ResolverEndpointId == nil {
  2588. invalidParams.Add(request.NewErrParamRequired("ResolverEndpointId"))
  2589. }
  2590. if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 {
  2591. invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1))
  2592. }
  2593. if invalidParams.Len() > 0 {
  2594. return invalidParams
  2595. }
  2596. return nil
  2597. }
  2598. // SetResolverEndpointId sets the ResolverEndpointId field's value.
  2599. func (s *DeleteResolverEndpointInput) SetResolverEndpointId(v string) *DeleteResolverEndpointInput {
  2600. s.ResolverEndpointId = &v
  2601. return s
  2602. }
  2603. type DeleteResolverEndpointOutput struct {
  2604. _ struct{} `type:"structure"`
  2605. // Information about the DeleteResolverEndpoint request, including the status
  2606. // of the request.
  2607. ResolverEndpoint *ResolverEndpoint `type:"structure"`
  2608. }
  2609. // String returns the string representation
  2610. func (s DeleteResolverEndpointOutput) String() string {
  2611. return awsutil.Prettify(s)
  2612. }
  2613. // GoString returns the string representation
  2614. func (s DeleteResolverEndpointOutput) GoString() string {
  2615. return s.String()
  2616. }
  2617. // SetResolverEndpoint sets the ResolverEndpoint field's value.
  2618. func (s *DeleteResolverEndpointOutput) SetResolverEndpoint(v *ResolverEndpoint) *DeleteResolverEndpointOutput {
  2619. s.ResolverEndpoint = v
  2620. return s
  2621. }
  2622. type DeleteResolverRuleInput struct {
  2623. _ struct{} `type:"structure"`
  2624. // The ID of the resolver rule that you want to delete.
  2625. //
  2626. // ResolverRuleId is a required field
  2627. ResolverRuleId *string `min:"1" type:"string" required:"true"`
  2628. }
  2629. // String returns the string representation
  2630. func (s DeleteResolverRuleInput) String() string {
  2631. return awsutil.Prettify(s)
  2632. }
  2633. // GoString returns the string representation
  2634. func (s DeleteResolverRuleInput) GoString() string {
  2635. return s.String()
  2636. }
  2637. // Validate inspects the fields of the type to determine if they are valid.
  2638. func (s *DeleteResolverRuleInput) Validate() error {
  2639. invalidParams := request.ErrInvalidParams{Context: "DeleteResolverRuleInput"}
  2640. if s.ResolverRuleId == nil {
  2641. invalidParams.Add(request.NewErrParamRequired("ResolverRuleId"))
  2642. }
  2643. if s.ResolverRuleId != nil && len(*s.ResolverRuleId) < 1 {
  2644. invalidParams.Add(request.NewErrParamMinLen("ResolverRuleId", 1))
  2645. }
  2646. if invalidParams.Len() > 0 {
  2647. return invalidParams
  2648. }
  2649. return nil
  2650. }
  2651. // SetResolverRuleId sets the ResolverRuleId field's value.
  2652. func (s *DeleteResolverRuleInput) SetResolverRuleId(v string) *DeleteResolverRuleInput {
  2653. s.ResolverRuleId = &v
  2654. return s
  2655. }
  2656. type DeleteResolverRuleOutput struct {
  2657. _ struct{} `type:"structure"`
  2658. // Information about the DeleteResolverRule request, including the status of
  2659. // the request.
  2660. ResolverRule *ResolverRule `type:"structure"`
  2661. }
  2662. // String returns the string representation
  2663. func (s DeleteResolverRuleOutput) String() string {
  2664. return awsutil.Prettify(s)
  2665. }
  2666. // GoString returns the string representation
  2667. func (s DeleteResolverRuleOutput) GoString() string {
  2668. return s.String()
  2669. }
  2670. // SetResolverRule sets the ResolverRule field's value.
  2671. func (s *DeleteResolverRuleOutput) SetResolverRule(v *ResolverRule) *DeleteResolverRuleOutput {
  2672. s.ResolverRule = v
  2673. return s
  2674. }
  2675. type DisassociateResolverEndpointIpAddressInput struct {
  2676. _ struct{} `type:"structure"`
  2677. // The IPv4 address that you want to remove from a resolver endpoint.
  2678. //
  2679. // IpAddress is a required field
  2680. IpAddress *IpAddressUpdate `type:"structure" required:"true"`
  2681. // The ID of the resolver endpoint that you want to disassociate an IP address
  2682. // from.
  2683. //
  2684. // ResolverEndpointId is a required field
  2685. ResolverEndpointId *string `min:"1" type:"string" required:"true"`
  2686. }
  2687. // String returns the string representation
  2688. func (s DisassociateResolverEndpointIpAddressInput) String() string {
  2689. return awsutil.Prettify(s)
  2690. }
  2691. // GoString returns the string representation
  2692. func (s DisassociateResolverEndpointIpAddressInput) GoString() string {
  2693. return s.String()
  2694. }
  2695. // Validate inspects the fields of the type to determine if they are valid.
  2696. func (s *DisassociateResolverEndpointIpAddressInput) Validate() error {
  2697. invalidParams := request.ErrInvalidParams{Context: "DisassociateResolverEndpointIpAddressInput"}
  2698. if s.IpAddress == nil {
  2699. invalidParams.Add(request.NewErrParamRequired("IpAddress"))
  2700. }
  2701. if s.ResolverEndpointId == nil {
  2702. invalidParams.Add(request.NewErrParamRequired("ResolverEndpointId"))
  2703. }
  2704. if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 {
  2705. invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1))
  2706. }
  2707. if s.IpAddress != nil {
  2708. if err := s.IpAddress.Validate(); err != nil {
  2709. invalidParams.AddNested("IpAddress", err.(request.ErrInvalidParams))
  2710. }
  2711. }
  2712. if invalidParams.Len() > 0 {
  2713. return invalidParams
  2714. }
  2715. return nil
  2716. }
  2717. // SetIpAddress sets the IpAddress field's value.
  2718. func (s *DisassociateResolverEndpointIpAddressInput) SetIpAddress(v *IpAddressUpdate) *DisassociateResolverEndpointIpAddressInput {
  2719. s.IpAddress = v
  2720. return s
  2721. }
  2722. // SetResolverEndpointId sets the ResolverEndpointId field's value.
  2723. func (s *DisassociateResolverEndpointIpAddressInput) SetResolverEndpointId(v string) *DisassociateResolverEndpointIpAddressInput {
  2724. s.ResolverEndpointId = &v
  2725. return s
  2726. }
  2727. type DisassociateResolverEndpointIpAddressOutput struct {
  2728. _ struct{} `type:"structure"`
  2729. // The response to an DisassociateResolverEndpointIpAddress request.
  2730. ResolverEndpoint *ResolverEndpoint `type:"structure"`
  2731. }
  2732. // String returns the string representation
  2733. func (s DisassociateResolverEndpointIpAddressOutput) String() string {
  2734. return awsutil.Prettify(s)
  2735. }
  2736. // GoString returns the string representation
  2737. func (s DisassociateResolverEndpointIpAddressOutput) GoString() string {
  2738. return s.String()
  2739. }
  2740. // SetResolverEndpoint sets the ResolverEndpoint field's value.
  2741. func (s *DisassociateResolverEndpointIpAddressOutput) SetResolverEndpoint(v *ResolverEndpoint) *DisassociateResolverEndpointIpAddressOutput {
  2742. s.ResolverEndpoint = v
  2743. return s
  2744. }
  2745. type DisassociateResolverRuleInput struct {
  2746. _ struct{} `type:"structure"`
  2747. // The ID of the resolver rule that you want to disassociate from the specified
  2748. // VPC.
  2749. //
  2750. // ResolverRuleId is a required field
  2751. ResolverRuleId *string `min:"1" type:"string" required:"true"`
  2752. // The ID of the VPC that you want to disassociate the resolver rule from.
  2753. //
  2754. // VPCId is a required field
  2755. VPCId *string `min:"1" type:"string" required:"true"`
  2756. }
  2757. // String returns the string representation
  2758. func (s DisassociateResolverRuleInput) String() string {
  2759. return awsutil.Prettify(s)
  2760. }
  2761. // GoString returns the string representation
  2762. func (s DisassociateResolverRuleInput) GoString() string {
  2763. return s.String()
  2764. }
  2765. // Validate inspects the fields of the type to determine if they are valid.
  2766. func (s *DisassociateResolverRuleInput) Validate() error {
  2767. invalidParams := request.ErrInvalidParams{Context: "DisassociateResolverRuleInput"}
  2768. if s.ResolverRuleId == nil {
  2769. invalidParams.Add(request.NewErrParamRequired("ResolverRuleId"))
  2770. }
  2771. if s.ResolverRuleId != nil && len(*s.ResolverRuleId) < 1 {
  2772. invalidParams.Add(request.NewErrParamMinLen("ResolverRuleId", 1))
  2773. }
  2774. if s.VPCId == nil {
  2775. invalidParams.Add(request.NewErrParamRequired("VPCId"))
  2776. }
  2777. if s.VPCId != nil && len(*s.VPCId) < 1 {
  2778. invalidParams.Add(request.NewErrParamMinLen("VPCId", 1))
  2779. }
  2780. if invalidParams.Len() > 0 {
  2781. return invalidParams
  2782. }
  2783. return nil
  2784. }
  2785. // SetResolverRuleId sets the ResolverRuleId field's value.
  2786. func (s *DisassociateResolverRuleInput) SetResolverRuleId(v string) *DisassociateResolverRuleInput {
  2787. s.ResolverRuleId = &v
  2788. return s
  2789. }
  2790. // SetVPCId sets the VPCId field's value.
  2791. func (s *DisassociateResolverRuleInput) SetVPCId(v string) *DisassociateResolverRuleInput {
  2792. s.VPCId = &v
  2793. return s
  2794. }
  2795. type DisassociateResolverRuleOutput struct {
  2796. _ struct{} `type:"structure"`
  2797. // Information about the DisassociateResolverRule request, including the status
  2798. // of the request.
  2799. ResolverRuleAssociation *ResolverRuleAssociation `type:"structure"`
  2800. }
  2801. // String returns the string representation
  2802. func (s DisassociateResolverRuleOutput) String() string {
  2803. return awsutil.Prettify(s)
  2804. }
  2805. // GoString returns the string representation
  2806. func (s DisassociateResolverRuleOutput) GoString() string {
  2807. return s.String()
  2808. }
  2809. // SetResolverRuleAssociation sets the ResolverRuleAssociation field's value.
  2810. func (s *DisassociateResolverRuleOutput) SetResolverRuleAssociation(v *ResolverRuleAssociation) *DisassociateResolverRuleOutput {
  2811. s.ResolverRuleAssociation = v
  2812. return s
  2813. }
  2814. // For List operations, an optional specification to return a subset of objects,
  2815. // such as resolver endpoints or resolver rules.
  2816. type Filter struct {
  2817. _ struct{} `type:"structure"`
  2818. // When you're using a List operation and you want the operation to return a
  2819. // subset of objects, such as resolver endpoints or resolver rules, the name
  2820. // of the parameter that you want to use to filter objects. For example, to
  2821. // list only inbound resolver endpoints, specify Direction for the value of
  2822. // Name.
  2823. Name *string `min:"1" type:"string"`
  2824. // When you're using a List operation and you want the operation to return a
  2825. // subset of objects, such as resolver endpoints or resolver rules, the value
  2826. // of the parameter that you want to use to filter objects. For example, to
  2827. // list only inbound resolver endpoints, specify INBOUND for the value of Values.
  2828. Values []*string `type:"list"`
  2829. }
  2830. // String returns the string representation
  2831. func (s Filter) String() string {
  2832. return awsutil.Prettify(s)
  2833. }
  2834. // GoString returns the string representation
  2835. func (s Filter) GoString() string {
  2836. return s.String()
  2837. }
  2838. // Validate inspects the fields of the type to determine if they are valid.
  2839. func (s *Filter) Validate() error {
  2840. invalidParams := request.ErrInvalidParams{Context: "Filter"}
  2841. if s.Name != nil && len(*s.Name) < 1 {
  2842. invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  2843. }
  2844. if invalidParams.Len() > 0 {
  2845. return invalidParams
  2846. }
  2847. return nil
  2848. }
  2849. // SetName sets the Name field's value.
  2850. func (s *Filter) SetName(v string) *Filter {
  2851. s.Name = &v
  2852. return s
  2853. }
  2854. // SetValues sets the Values field's value.
  2855. func (s *Filter) SetValues(v []*string) *Filter {
  2856. s.Values = v
  2857. return s
  2858. }
  2859. type GetResolverEndpointInput struct {
  2860. _ struct{} `type:"structure"`
  2861. // The ID of the resolver endpoint that you want to get information about.
  2862. //
  2863. // ResolverEndpointId is a required field
  2864. ResolverEndpointId *string `min:"1" type:"string" required:"true"`
  2865. }
  2866. // String returns the string representation
  2867. func (s GetResolverEndpointInput) String() string {
  2868. return awsutil.Prettify(s)
  2869. }
  2870. // GoString returns the string representation
  2871. func (s GetResolverEndpointInput) GoString() string {
  2872. return s.String()
  2873. }
  2874. // Validate inspects the fields of the type to determine if they are valid.
  2875. func (s *GetResolverEndpointInput) Validate() error {
  2876. invalidParams := request.ErrInvalidParams{Context: "GetResolverEndpointInput"}
  2877. if s.ResolverEndpointId == nil {
  2878. invalidParams.Add(request.NewErrParamRequired("ResolverEndpointId"))
  2879. }
  2880. if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 {
  2881. invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1))
  2882. }
  2883. if invalidParams.Len() > 0 {
  2884. return invalidParams
  2885. }
  2886. return nil
  2887. }
  2888. // SetResolverEndpointId sets the ResolverEndpointId field's value.
  2889. func (s *GetResolverEndpointInput) SetResolverEndpointId(v string) *GetResolverEndpointInput {
  2890. s.ResolverEndpointId = &v
  2891. return s
  2892. }
  2893. type GetResolverEndpointOutput struct {
  2894. _ struct{} `type:"structure"`
  2895. // Information about the resolver endpoint that you specified in a GetResolverEndpoint
  2896. // request.
  2897. ResolverEndpoint *ResolverEndpoint `type:"structure"`
  2898. }
  2899. // String returns the string representation
  2900. func (s GetResolverEndpointOutput) String() string {
  2901. return awsutil.Prettify(s)
  2902. }
  2903. // GoString returns the string representation
  2904. func (s GetResolverEndpointOutput) GoString() string {
  2905. return s.String()
  2906. }
  2907. // SetResolverEndpoint sets the ResolverEndpoint field's value.
  2908. func (s *GetResolverEndpointOutput) SetResolverEndpoint(v *ResolverEndpoint) *GetResolverEndpointOutput {
  2909. s.ResolverEndpoint = v
  2910. return s
  2911. }
  2912. type GetResolverRuleAssociationInput struct {
  2913. _ struct{} `type:"structure"`
  2914. // The ID of the resolver rule association that you want to get information
  2915. // about.
  2916. //
  2917. // ResolverRuleAssociationId is a required field
  2918. ResolverRuleAssociationId *string `min:"1" type:"string" required:"true"`
  2919. }
  2920. // String returns the string representation
  2921. func (s GetResolverRuleAssociationInput) String() string {
  2922. return awsutil.Prettify(s)
  2923. }
  2924. // GoString returns the string representation
  2925. func (s GetResolverRuleAssociationInput) GoString() string {
  2926. return s.String()
  2927. }
  2928. // Validate inspects the fields of the type to determine if they are valid.
  2929. func (s *GetResolverRuleAssociationInput) Validate() error {
  2930. invalidParams := request.ErrInvalidParams{Context: "GetResolverRuleAssociationInput"}
  2931. if s.ResolverRuleAssociationId == nil {
  2932. invalidParams.Add(request.NewErrParamRequired("ResolverRuleAssociationId"))
  2933. }
  2934. if s.ResolverRuleAssociationId != nil && len(*s.ResolverRuleAssociationId) < 1 {
  2935. invalidParams.Add(request.NewErrParamMinLen("ResolverRuleAssociationId", 1))
  2936. }
  2937. if invalidParams.Len() > 0 {
  2938. return invalidParams
  2939. }
  2940. return nil
  2941. }
  2942. // SetResolverRuleAssociationId sets the ResolverRuleAssociationId field's value.
  2943. func (s *GetResolverRuleAssociationInput) SetResolverRuleAssociationId(v string) *GetResolverRuleAssociationInput {
  2944. s.ResolverRuleAssociationId = &v
  2945. return s
  2946. }
  2947. type GetResolverRuleAssociationOutput struct {
  2948. _ struct{} `type:"structure"`
  2949. // Information about the resolver rule association that you specified in a GetResolverRuleAssociation
  2950. // request.
  2951. ResolverRuleAssociation *ResolverRuleAssociation `type:"structure"`
  2952. }
  2953. // String returns the string representation
  2954. func (s GetResolverRuleAssociationOutput) String() string {
  2955. return awsutil.Prettify(s)
  2956. }
  2957. // GoString returns the string representation
  2958. func (s GetResolverRuleAssociationOutput) GoString() string {
  2959. return s.String()
  2960. }
  2961. // SetResolverRuleAssociation sets the ResolverRuleAssociation field's value.
  2962. func (s *GetResolverRuleAssociationOutput) SetResolverRuleAssociation(v *ResolverRuleAssociation) *GetResolverRuleAssociationOutput {
  2963. s.ResolverRuleAssociation = v
  2964. return s
  2965. }
  2966. type GetResolverRuleInput struct {
  2967. _ struct{} `type:"structure"`
  2968. // The ID of the resolver rule that you want to get information about.
  2969. //
  2970. // ResolverRuleId is a required field
  2971. ResolverRuleId *string `min:"1" type:"string" required:"true"`
  2972. }
  2973. // String returns the string representation
  2974. func (s GetResolverRuleInput) String() string {
  2975. return awsutil.Prettify(s)
  2976. }
  2977. // GoString returns the string representation
  2978. func (s GetResolverRuleInput) GoString() string {
  2979. return s.String()
  2980. }
  2981. // Validate inspects the fields of the type to determine if they are valid.
  2982. func (s *GetResolverRuleInput) Validate() error {
  2983. invalidParams := request.ErrInvalidParams{Context: "GetResolverRuleInput"}
  2984. if s.ResolverRuleId == nil {
  2985. invalidParams.Add(request.NewErrParamRequired("ResolverRuleId"))
  2986. }
  2987. if s.ResolverRuleId != nil && len(*s.ResolverRuleId) < 1 {
  2988. invalidParams.Add(request.NewErrParamMinLen("ResolverRuleId", 1))
  2989. }
  2990. if invalidParams.Len() > 0 {
  2991. return invalidParams
  2992. }
  2993. return nil
  2994. }
  2995. // SetResolverRuleId sets the ResolverRuleId field's value.
  2996. func (s *GetResolverRuleInput) SetResolverRuleId(v string) *GetResolverRuleInput {
  2997. s.ResolverRuleId = &v
  2998. return s
  2999. }
  3000. type GetResolverRuleOutput struct {
  3001. _ struct{} `type:"structure"`
  3002. // Information about the resolver rule that you specified in a GetResolverRule
  3003. // request.
  3004. ResolverRule *ResolverRule `type:"structure"`
  3005. }
  3006. // String returns the string representation
  3007. func (s GetResolverRuleOutput) String() string {
  3008. return awsutil.Prettify(s)
  3009. }
  3010. // GoString returns the string representation
  3011. func (s GetResolverRuleOutput) GoString() string {
  3012. return s.String()
  3013. }
  3014. // SetResolverRule sets the ResolverRule field's value.
  3015. func (s *GetResolverRuleOutput) SetResolverRule(v *ResolverRule) *GetResolverRuleOutput {
  3016. s.ResolverRule = v
  3017. return s
  3018. }
  3019. type GetResolverRulePolicyInput struct {
  3020. _ struct{} `type:"structure"`
  3021. // The ID of the resolver rule policy that you want to get information about.
  3022. //
  3023. // Arn is a required field
  3024. Arn *string `min:"1" type:"string" required:"true"`
  3025. }
  3026. // String returns the string representation
  3027. func (s GetResolverRulePolicyInput) String() string {
  3028. return awsutil.Prettify(s)
  3029. }
  3030. // GoString returns the string representation
  3031. func (s GetResolverRulePolicyInput) GoString() string {
  3032. return s.String()
  3033. }
  3034. // Validate inspects the fields of the type to determine if they are valid.
  3035. func (s *GetResolverRulePolicyInput) Validate() error {
  3036. invalidParams := request.ErrInvalidParams{Context: "GetResolverRulePolicyInput"}
  3037. if s.Arn == nil {
  3038. invalidParams.Add(request.NewErrParamRequired("Arn"))
  3039. }
  3040. if s.Arn != nil && len(*s.Arn) < 1 {
  3041. invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
  3042. }
  3043. if invalidParams.Len() > 0 {
  3044. return invalidParams
  3045. }
  3046. return nil
  3047. }
  3048. // SetArn sets the Arn field's value.
  3049. func (s *GetResolverRulePolicyInput) SetArn(v string) *GetResolverRulePolicyInput {
  3050. s.Arn = &v
  3051. return s
  3052. }
  3053. type GetResolverRulePolicyOutput struct {
  3054. _ struct{} `type:"structure"`
  3055. // Information about the resolver rule policy that you specified in a GetResolverRulePolicy
  3056. // request.
  3057. ResolverRulePolicy *string `type:"string"`
  3058. }
  3059. // String returns the string representation
  3060. func (s GetResolverRulePolicyOutput) String() string {
  3061. return awsutil.Prettify(s)
  3062. }
  3063. // GoString returns the string representation
  3064. func (s GetResolverRulePolicyOutput) GoString() string {
  3065. return s.String()
  3066. }
  3067. // SetResolverRulePolicy sets the ResolverRulePolicy field's value.
  3068. func (s *GetResolverRulePolicyOutput) SetResolverRulePolicy(v string) *GetResolverRulePolicyOutput {
  3069. s.ResolverRulePolicy = &v
  3070. return s
  3071. }
  3072. // In an CreateResolverEndpoint request, a subnet and IP address that you want
  3073. // to use for DNS queries.
  3074. type IpAddressRequest struct {
  3075. _ struct{} `type:"structure"`
  3076. // The IP address that you want to use for DNS queries.
  3077. Ip *string `min:"7" type:"string"`
  3078. // The subnet that contains the IP address.
  3079. //
  3080. // SubnetId is a required field
  3081. SubnetId *string `min:"1" type:"string" required:"true"`
  3082. }
  3083. // String returns the string representation
  3084. func (s IpAddressRequest) String() string {
  3085. return awsutil.Prettify(s)
  3086. }
  3087. // GoString returns the string representation
  3088. func (s IpAddressRequest) GoString() string {
  3089. return s.String()
  3090. }
  3091. // Validate inspects the fields of the type to determine if they are valid.
  3092. func (s *IpAddressRequest) Validate() error {
  3093. invalidParams := request.ErrInvalidParams{Context: "IpAddressRequest"}
  3094. if s.Ip != nil && len(*s.Ip) < 7 {
  3095. invalidParams.Add(request.NewErrParamMinLen("Ip", 7))
  3096. }
  3097. if s.SubnetId == nil {
  3098. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  3099. }
  3100. if s.SubnetId != nil && len(*s.SubnetId) < 1 {
  3101. invalidParams.Add(request.NewErrParamMinLen("SubnetId", 1))
  3102. }
  3103. if invalidParams.Len() > 0 {
  3104. return invalidParams
  3105. }
  3106. return nil
  3107. }
  3108. // SetIp sets the Ip field's value.
  3109. func (s *IpAddressRequest) SetIp(v string) *IpAddressRequest {
  3110. s.Ip = &v
  3111. return s
  3112. }
  3113. // SetSubnetId sets the SubnetId field's value.
  3114. func (s *IpAddressRequest) SetSubnetId(v string) *IpAddressRequest {
  3115. s.SubnetId = &v
  3116. return s
  3117. }
  3118. // In the response to a GetResolverEndpoint request, information about the IP
  3119. // addresses that the resolver endpoint uses for DNS queries.
  3120. type IpAddressResponse struct {
  3121. _ struct{} `type:"structure"`
  3122. // The date and time that the IP address was created, in Unix time format and
  3123. // Coordinated Universal Time (UTC).
  3124. CreationTime *string `min:"20" type:"string"`
  3125. // One IP address that the resolver endpoint uses for DNS queries.
  3126. Ip *string `min:"7" type:"string"`
  3127. // The ID of one IP address.
  3128. IpId *string `min:"1" type:"string"`
  3129. // The date and time that the IP address was last modified, in Unix time format
  3130. // and Coordinated Universal Time (UTC).
  3131. ModificationTime *string `min:"20" type:"string"`
  3132. // A status code that gives the current status of the request.
  3133. Status *string `type:"string" enum:"IpAddressStatus"`
  3134. // A message that provides additional information about the status of the request.
  3135. StatusMessage *string `type:"string"`
  3136. // The ID of one subnet.
  3137. SubnetId *string `min:"1" type:"string"`
  3138. }
  3139. // String returns the string representation
  3140. func (s IpAddressResponse) String() string {
  3141. return awsutil.Prettify(s)
  3142. }
  3143. // GoString returns the string representation
  3144. func (s IpAddressResponse) GoString() string {
  3145. return s.String()
  3146. }
  3147. // SetCreationTime sets the CreationTime field's value.
  3148. func (s *IpAddressResponse) SetCreationTime(v string) *IpAddressResponse {
  3149. s.CreationTime = &v
  3150. return s
  3151. }
  3152. // SetIp sets the Ip field's value.
  3153. func (s *IpAddressResponse) SetIp(v string) *IpAddressResponse {
  3154. s.Ip = &v
  3155. return s
  3156. }
  3157. // SetIpId sets the IpId field's value.
  3158. func (s *IpAddressResponse) SetIpId(v string) *IpAddressResponse {
  3159. s.IpId = &v
  3160. return s
  3161. }
  3162. // SetModificationTime sets the ModificationTime field's value.
  3163. func (s *IpAddressResponse) SetModificationTime(v string) *IpAddressResponse {
  3164. s.ModificationTime = &v
  3165. return s
  3166. }
  3167. // SetStatus sets the Status field's value.
  3168. func (s *IpAddressResponse) SetStatus(v string) *IpAddressResponse {
  3169. s.Status = &v
  3170. return s
  3171. }
  3172. // SetStatusMessage sets the StatusMessage field's value.
  3173. func (s *IpAddressResponse) SetStatusMessage(v string) *IpAddressResponse {
  3174. s.StatusMessage = &v
  3175. return s
  3176. }
  3177. // SetSubnetId sets the SubnetId field's value.
  3178. func (s *IpAddressResponse) SetSubnetId(v string) *IpAddressResponse {
  3179. s.SubnetId = &v
  3180. return s
  3181. }
  3182. // In an UpdateResolverEndpoint request, information about an IP address to
  3183. // update.
  3184. type IpAddressUpdate struct {
  3185. _ struct{} `type:"structure"`
  3186. // The new IP address.
  3187. Ip *string `min:"7" type:"string"`
  3188. // Only when removing an IP address from a resolver endpoint: The ID of the
  3189. // IP address that you want to remove. To get this ID, use GetResolverEndpoint.
  3190. IpId *string `min:"1" type:"string"`
  3191. // The ID of the subnet that includes the IP address that you want to update.
  3192. // To get this ID, use GetResolverEndpoint.
  3193. SubnetId *string `min:"1" type:"string"`
  3194. }
  3195. // String returns the string representation
  3196. func (s IpAddressUpdate) String() string {
  3197. return awsutil.Prettify(s)
  3198. }
  3199. // GoString returns the string representation
  3200. func (s IpAddressUpdate) GoString() string {
  3201. return s.String()
  3202. }
  3203. // Validate inspects the fields of the type to determine if they are valid.
  3204. func (s *IpAddressUpdate) Validate() error {
  3205. invalidParams := request.ErrInvalidParams{Context: "IpAddressUpdate"}
  3206. if s.Ip != nil && len(*s.Ip) < 7 {
  3207. invalidParams.Add(request.NewErrParamMinLen("Ip", 7))
  3208. }
  3209. if s.IpId != nil && len(*s.IpId) < 1 {
  3210. invalidParams.Add(request.NewErrParamMinLen("IpId", 1))
  3211. }
  3212. if s.SubnetId != nil && len(*s.SubnetId) < 1 {
  3213. invalidParams.Add(request.NewErrParamMinLen("SubnetId", 1))
  3214. }
  3215. if invalidParams.Len() > 0 {
  3216. return invalidParams
  3217. }
  3218. return nil
  3219. }
  3220. // SetIp sets the Ip field's value.
  3221. func (s *IpAddressUpdate) SetIp(v string) *IpAddressUpdate {
  3222. s.Ip = &v
  3223. return s
  3224. }
  3225. // SetIpId sets the IpId field's value.
  3226. func (s *IpAddressUpdate) SetIpId(v string) *IpAddressUpdate {
  3227. s.IpId = &v
  3228. return s
  3229. }
  3230. // SetSubnetId sets the SubnetId field's value.
  3231. func (s *IpAddressUpdate) SetSubnetId(v string) *IpAddressUpdate {
  3232. s.SubnetId = &v
  3233. return s
  3234. }
  3235. type ListResolverEndpointIpAddressesInput struct {
  3236. _ struct{} `type:"structure"`
  3237. // The maximum number of IP addresses that you want to return in the response
  3238. // to a ListResolverEndpointIpAddresses request. If you don't specify a value
  3239. // for MaxResults, Resolver returns up to 100 IP addresses.
  3240. MaxResults *int64 `min:"1" type:"integer"`
  3241. // For the first ListResolverEndpointIpAddresses request, omit this value.
  3242. //
  3243. // If the specified resolver endpoint has more than MaxResults IP addresses,
  3244. // you can submit another ListResolverEndpointIpAddresses request to get the
  3245. // next group of IP addresses. In the next request, specify the value of NextToken
  3246. // from the previous response.
  3247. NextToken *string `type:"string"`
  3248. // The ID of the resolver endpoint that you want to get IP addresses for.
  3249. //
  3250. // ResolverEndpointId is a required field
  3251. ResolverEndpointId *string `min:"1" type:"string" required:"true"`
  3252. }
  3253. // String returns the string representation
  3254. func (s ListResolverEndpointIpAddressesInput) String() string {
  3255. return awsutil.Prettify(s)
  3256. }
  3257. // GoString returns the string representation
  3258. func (s ListResolverEndpointIpAddressesInput) GoString() string {
  3259. return s.String()
  3260. }
  3261. // Validate inspects the fields of the type to determine if they are valid.
  3262. func (s *ListResolverEndpointIpAddressesInput) Validate() error {
  3263. invalidParams := request.ErrInvalidParams{Context: "ListResolverEndpointIpAddressesInput"}
  3264. if s.MaxResults != nil && *s.MaxResults < 1 {
  3265. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  3266. }
  3267. if s.ResolverEndpointId == nil {
  3268. invalidParams.Add(request.NewErrParamRequired("ResolverEndpointId"))
  3269. }
  3270. if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 {
  3271. invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1))
  3272. }
  3273. if invalidParams.Len() > 0 {
  3274. return invalidParams
  3275. }
  3276. return nil
  3277. }
  3278. // SetMaxResults sets the MaxResults field's value.
  3279. func (s *ListResolverEndpointIpAddressesInput) SetMaxResults(v int64) *ListResolverEndpointIpAddressesInput {
  3280. s.MaxResults = &v
  3281. return s
  3282. }
  3283. // SetNextToken sets the NextToken field's value.
  3284. func (s *ListResolverEndpointIpAddressesInput) SetNextToken(v string) *ListResolverEndpointIpAddressesInput {
  3285. s.NextToken = &v
  3286. return s
  3287. }
  3288. // SetResolverEndpointId sets the ResolverEndpointId field's value.
  3289. func (s *ListResolverEndpointIpAddressesInput) SetResolverEndpointId(v string) *ListResolverEndpointIpAddressesInput {
  3290. s.ResolverEndpointId = &v
  3291. return s
  3292. }
  3293. type ListResolverEndpointIpAddressesOutput struct {
  3294. _ struct{} `type:"structure"`
  3295. // The IP addresses that DNS queries pass through on their way to your network
  3296. // (outbound endpoint) or on the way to Resolver (inbound endpoint).
  3297. IpAddresses []*IpAddressResponse `type:"list"`
  3298. // The value that you specified for MaxResults in the request.
  3299. MaxResults *int64 `min:"1" type:"integer"`
  3300. // If the specified endpoint has more than MaxResults IP addresses, you can
  3301. // submit another ListResolverEndpointIpAddresses request to get the next group
  3302. // of IP addresses. In the next request, specify the value of NextToken from
  3303. // the previous response.
  3304. NextToken *string `type:"string"`
  3305. }
  3306. // String returns the string representation
  3307. func (s ListResolverEndpointIpAddressesOutput) String() string {
  3308. return awsutil.Prettify(s)
  3309. }
  3310. // GoString returns the string representation
  3311. func (s ListResolverEndpointIpAddressesOutput) GoString() string {
  3312. return s.String()
  3313. }
  3314. // SetIpAddresses sets the IpAddresses field's value.
  3315. func (s *ListResolverEndpointIpAddressesOutput) SetIpAddresses(v []*IpAddressResponse) *ListResolverEndpointIpAddressesOutput {
  3316. s.IpAddresses = v
  3317. return s
  3318. }
  3319. // SetMaxResults sets the MaxResults field's value.
  3320. func (s *ListResolverEndpointIpAddressesOutput) SetMaxResults(v int64) *ListResolverEndpointIpAddressesOutput {
  3321. s.MaxResults = &v
  3322. return s
  3323. }
  3324. // SetNextToken sets the NextToken field's value.
  3325. func (s *ListResolverEndpointIpAddressesOutput) SetNextToken(v string) *ListResolverEndpointIpAddressesOutput {
  3326. s.NextToken = &v
  3327. return s
  3328. }
  3329. type ListResolverEndpointsInput struct {
  3330. _ struct{} `type:"structure"`
  3331. // An optional specification to return a subset of resolver endpoints, such
  3332. // as all inbound resolver endpoints.
  3333. //
  3334. // If you submit a second or subsequent ListResolverEndpoints request and specify
  3335. // the NextToken parameter, you must use the same values for Filters, if any,
  3336. // as in the previous request.
  3337. Filters []*Filter `type:"list"`
  3338. // The maximum number of resolver endpoints that you want to return in the response
  3339. // to a ListResolverEndpoints request. If you don't specify a value for MaxResults,
  3340. // Resolver returns up to 100 resolver endpoints.
  3341. MaxResults *int64 `min:"1" type:"integer"`
  3342. // For the first ListResolverEndpoints request, omit this value.
  3343. //
  3344. // If you have more than MaxResults resolver endpoints, you can submit another
  3345. // ListResolverEndpoints request to get the next group of resolver endpoints.
  3346. // In the next request, specify the value of NextToken from the previous response.
  3347. NextToken *string `type:"string"`
  3348. }
  3349. // String returns the string representation
  3350. func (s ListResolverEndpointsInput) String() string {
  3351. return awsutil.Prettify(s)
  3352. }
  3353. // GoString returns the string representation
  3354. func (s ListResolverEndpointsInput) GoString() string {
  3355. return s.String()
  3356. }
  3357. // Validate inspects the fields of the type to determine if they are valid.
  3358. func (s *ListResolverEndpointsInput) Validate() error {
  3359. invalidParams := request.ErrInvalidParams{Context: "ListResolverEndpointsInput"}
  3360. if s.MaxResults != nil && *s.MaxResults < 1 {
  3361. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  3362. }
  3363. if s.Filters != nil {
  3364. for i, v := range s.Filters {
  3365. if v == nil {
  3366. continue
  3367. }
  3368. if err := v.Validate(); err != nil {
  3369. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
  3370. }
  3371. }
  3372. }
  3373. if invalidParams.Len() > 0 {
  3374. return invalidParams
  3375. }
  3376. return nil
  3377. }
  3378. // SetFilters sets the Filters field's value.
  3379. func (s *ListResolverEndpointsInput) SetFilters(v []*Filter) *ListResolverEndpointsInput {
  3380. s.Filters = v
  3381. return s
  3382. }
  3383. // SetMaxResults sets the MaxResults field's value.
  3384. func (s *ListResolverEndpointsInput) SetMaxResults(v int64) *ListResolverEndpointsInput {
  3385. s.MaxResults = &v
  3386. return s
  3387. }
  3388. // SetNextToken sets the NextToken field's value.
  3389. func (s *ListResolverEndpointsInput) SetNextToken(v string) *ListResolverEndpointsInput {
  3390. s.NextToken = &v
  3391. return s
  3392. }
  3393. type ListResolverEndpointsOutput struct {
  3394. _ struct{} `type:"structure"`
  3395. // The value that you specified for MaxResults in the request.
  3396. MaxResults *int64 `min:"1" type:"integer"`
  3397. // If more than MaxResults IP addresses match the specified criteria, you can
  3398. // submit another ListResolverEndpoint request to get the next group of results.
  3399. // In the next request, specify the value of NextToken from the previous response.
  3400. NextToken *string `type:"string"`
  3401. // The resolver endpoints that were created by using the current AWS account,
  3402. // and that match the specified filters, if any.
  3403. ResolverEndpoints []*ResolverEndpoint `type:"list"`
  3404. }
  3405. // String returns the string representation
  3406. func (s ListResolverEndpointsOutput) String() string {
  3407. return awsutil.Prettify(s)
  3408. }
  3409. // GoString returns the string representation
  3410. func (s ListResolverEndpointsOutput) GoString() string {
  3411. return s.String()
  3412. }
  3413. // SetMaxResults sets the MaxResults field's value.
  3414. func (s *ListResolverEndpointsOutput) SetMaxResults(v int64) *ListResolverEndpointsOutput {
  3415. s.MaxResults = &v
  3416. return s
  3417. }
  3418. // SetNextToken sets the NextToken field's value.
  3419. func (s *ListResolverEndpointsOutput) SetNextToken(v string) *ListResolverEndpointsOutput {
  3420. s.NextToken = &v
  3421. return s
  3422. }
  3423. // SetResolverEndpoints sets the ResolverEndpoints field's value.
  3424. func (s *ListResolverEndpointsOutput) SetResolverEndpoints(v []*ResolverEndpoint) *ListResolverEndpointsOutput {
  3425. s.ResolverEndpoints = v
  3426. return s
  3427. }
  3428. type ListResolverRuleAssociationsInput struct {
  3429. _ struct{} `type:"structure"`
  3430. // An optional specification to return a subset of resolver rules, such as resolver
  3431. // rules that are associated with the same VPC ID.
  3432. //
  3433. // If you submit a second or subsequent ListResolverRuleAssociations request
  3434. // and specify the NextToken parameter, you must use the same values for Filters,
  3435. // if any, as in the previous request.
  3436. Filters []*Filter `type:"list"`
  3437. // The maximum number of rule associations that you want to return in the response
  3438. // to a ListResolverRuleAssociations request. If you don't specify a value for
  3439. // MaxResults, Resolver returns up to 100 rule associations.
  3440. MaxResults *int64 `min:"1" type:"integer"`
  3441. // For the first ListResolverRuleAssociation request, omit this value.
  3442. //
  3443. // If you have more than MaxResults rule associations, you can submit another
  3444. // ListResolverRuleAssociation request to get the next group of rule associations.
  3445. // In the next request, specify the value of NextToken from the previous response.
  3446. NextToken *string `type:"string"`
  3447. }
  3448. // String returns the string representation
  3449. func (s ListResolverRuleAssociationsInput) String() string {
  3450. return awsutil.Prettify(s)
  3451. }
  3452. // GoString returns the string representation
  3453. func (s ListResolverRuleAssociationsInput) GoString() string {
  3454. return s.String()
  3455. }
  3456. // Validate inspects the fields of the type to determine if they are valid.
  3457. func (s *ListResolverRuleAssociationsInput) Validate() error {
  3458. invalidParams := request.ErrInvalidParams{Context: "ListResolverRuleAssociationsInput"}
  3459. if s.MaxResults != nil && *s.MaxResults < 1 {
  3460. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  3461. }
  3462. if s.Filters != nil {
  3463. for i, v := range s.Filters {
  3464. if v == nil {
  3465. continue
  3466. }
  3467. if err := v.Validate(); err != nil {
  3468. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
  3469. }
  3470. }
  3471. }
  3472. if invalidParams.Len() > 0 {
  3473. return invalidParams
  3474. }
  3475. return nil
  3476. }
  3477. // SetFilters sets the Filters field's value.
  3478. func (s *ListResolverRuleAssociationsInput) SetFilters(v []*Filter) *ListResolverRuleAssociationsInput {
  3479. s.Filters = v
  3480. return s
  3481. }
  3482. // SetMaxResults sets the MaxResults field's value.
  3483. func (s *ListResolverRuleAssociationsInput) SetMaxResults(v int64) *ListResolverRuleAssociationsInput {
  3484. s.MaxResults = &v
  3485. return s
  3486. }
  3487. // SetNextToken sets the NextToken field's value.
  3488. func (s *ListResolverRuleAssociationsInput) SetNextToken(v string) *ListResolverRuleAssociationsInput {
  3489. s.NextToken = &v
  3490. return s
  3491. }
  3492. type ListResolverRuleAssociationsOutput struct {
  3493. _ struct{} `type:"structure"`
  3494. // The value that you specified for MaxResults in the request.
  3495. MaxResults *int64 `min:"1" type:"integer"`
  3496. // If more than MaxResults rule associations match the specified criteria, you
  3497. // can submit another ListResolverRuleAssociation request to get the next group
  3498. // of results. In the next request, specify the value of NextToken from the
  3499. // previous response.
  3500. NextToken *string `type:"string"`
  3501. // The associations that were created between resolver rules and VPCs using
  3502. // the current AWS account, and that match the specified filters, if any.
  3503. ResolverRuleAssociations []*ResolverRuleAssociation `type:"list"`
  3504. }
  3505. // String returns the string representation
  3506. func (s ListResolverRuleAssociationsOutput) String() string {
  3507. return awsutil.Prettify(s)
  3508. }
  3509. // GoString returns the string representation
  3510. func (s ListResolverRuleAssociationsOutput) GoString() string {
  3511. return s.String()
  3512. }
  3513. // SetMaxResults sets the MaxResults field's value.
  3514. func (s *ListResolverRuleAssociationsOutput) SetMaxResults(v int64) *ListResolverRuleAssociationsOutput {
  3515. s.MaxResults = &v
  3516. return s
  3517. }
  3518. // SetNextToken sets the NextToken field's value.
  3519. func (s *ListResolverRuleAssociationsOutput) SetNextToken(v string) *ListResolverRuleAssociationsOutput {
  3520. s.NextToken = &v
  3521. return s
  3522. }
  3523. // SetResolverRuleAssociations sets the ResolverRuleAssociations field's value.
  3524. func (s *ListResolverRuleAssociationsOutput) SetResolverRuleAssociations(v []*ResolverRuleAssociation) *ListResolverRuleAssociationsOutput {
  3525. s.ResolverRuleAssociations = v
  3526. return s
  3527. }
  3528. type ListResolverRulesInput struct {
  3529. _ struct{} `type:"structure"`
  3530. // An optional specification to return a subset of resolver rules, such as all
  3531. // resolver rules that are associated with the same resolver endpoint.
  3532. //
  3533. // If you submit a second or subsequent ListResolverRules request and specify
  3534. // the NextToken parameter, you must use the same values for Filters, if any,
  3535. // as in the previous request.
  3536. Filters []*Filter `type:"list"`
  3537. // The maximum number of resolver rules that you want to return in the response
  3538. // to a ListResolverRules request. If you don't specify a value for MaxResults,
  3539. // Resolver returns up to 100 resolver rules.
  3540. MaxResults *int64 `min:"1" type:"integer"`
  3541. // For the first ListResolverRules request, omit this value.
  3542. //
  3543. // If you have more than MaxResults resolver rules, you can submit another ListResolverRules
  3544. // request to get the next group of resolver rules. In the next request, specify
  3545. // the value of NextToken from the previous response.
  3546. NextToken *string `type:"string"`
  3547. }
  3548. // String returns the string representation
  3549. func (s ListResolverRulesInput) String() string {
  3550. return awsutil.Prettify(s)
  3551. }
  3552. // GoString returns the string representation
  3553. func (s ListResolverRulesInput) GoString() string {
  3554. return s.String()
  3555. }
  3556. // Validate inspects the fields of the type to determine if they are valid.
  3557. func (s *ListResolverRulesInput) Validate() error {
  3558. invalidParams := request.ErrInvalidParams{Context: "ListResolverRulesInput"}
  3559. if s.MaxResults != nil && *s.MaxResults < 1 {
  3560. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  3561. }
  3562. if s.Filters != nil {
  3563. for i, v := range s.Filters {
  3564. if v == nil {
  3565. continue
  3566. }
  3567. if err := v.Validate(); err != nil {
  3568. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
  3569. }
  3570. }
  3571. }
  3572. if invalidParams.Len() > 0 {
  3573. return invalidParams
  3574. }
  3575. return nil
  3576. }
  3577. // SetFilters sets the Filters field's value.
  3578. func (s *ListResolverRulesInput) SetFilters(v []*Filter) *ListResolverRulesInput {
  3579. s.Filters = v
  3580. return s
  3581. }
  3582. // SetMaxResults sets the MaxResults field's value.
  3583. func (s *ListResolverRulesInput) SetMaxResults(v int64) *ListResolverRulesInput {
  3584. s.MaxResults = &v
  3585. return s
  3586. }
  3587. // SetNextToken sets the NextToken field's value.
  3588. func (s *ListResolverRulesInput) SetNextToken(v string) *ListResolverRulesInput {
  3589. s.NextToken = &v
  3590. return s
  3591. }
  3592. type ListResolverRulesOutput struct {
  3593. _ struct{} `type:"structure"`
  3594. // The value that you specified for MaxResults in the request.
  3595. MaxResults *int64 `min:"1" type:"integer"`
  3596. // If more than MaxResults resolver rules match the specified criteria, you
  3597. // can submit another ListResolverRules request to get the next group of results.
  3598. // In the next request, specify the value of NextToken from the previous response.
  3599. NextToken *string `type:"string"`
  3600. // The resolver rules that were created using the current AWS account and that
  3601. // match the specified filters, if any.
  3602. ResolverRules []*ResolverRule `type:"list"`
  3603. }
  3604. // String returns the string representation
  3605. func (s ListResolverRulesOutput) String() string {
  3606. return awsutil.Prettify(s)
  3607. }
  3608. // GoString returns the string representation
  3609. func (s ListResolverRulesOutput) GoString() string {
  3610. return s.String()
  3611. }
  3612. // SetMaxResults sets the MaxResults field's value.
  3613. func (s *ListResolverRulesOutput) SetMaxResults(v int64) *ListResolverRulesOutput {
  3614. s.MaxResults = &v
  3615. return s
  3616. }
  3617. // SetNextToken sets the NextToken field's value.
  3618. func (s *ListResolverRulesOutput) SetNextToken(v string) *ListResolverRulesOutput {
  3619. s.NextToken = &v
  3620. return s
  3621. }
  3622. // SetResolverRules sets the ResolverRules field's value.
  3623. func (s *ListResolverRulesOutput) SetResolverRules(v []*ResolverRule) *ListResolverRulesOutput {
  3624. s.ResolverRules = v
  3625. return s
  3626. }
  3627. type ListTagsForResourceInput struct {
  3628. _ struct{} `type:"structure"`
  3629. // The maximum number of tags that you want to return in the response to a ListTagsForResource
  3630. // request. If you don't specify a value for MaxResults, Resolver returns up
  3631. // to 100 tags.
  3632. MaxResults *int64 `min:"1" type:"integer"`
  3633. // For the first ListTagsForResource request, omit this value.
  3634. //
  3635. // If you have more than MaxResults tags, you can submit another ListTagsForResource
  3636. // request to get the next group of tags for the resource. In the next request,
  3637. // specify the value of NextToken from the previous response.
  3638. NextToken *string `type:"string"`
  3639. // The Amazon Resource Name (ARN) for the resource that you want to list tags
  3640. // for.
  3641. //
  3642. // ResourceArn is a required field
  3643. ResourceArn *string `min:"1" type:"string" required:"true"`
  3644. }
  3645. // String returns the string representation
  3646. func (s ListTagsForResourceInput) String() string {
  3647. return awsutil.Prettify(s)
  3648. }
  3649. // GoString returns the string representation
  3650. func (s ListTagsForResourceInput) GoString() string {
  3651. return s.String()
  3652. }
  3653. // Validate inspects the fields of the type to determine if they are valid.
  3654. func (s *ListTagsForResourceInput) Validate() error {
  3655. invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  3656. if s.MaxResults != nil && *s.MaxResults < 1 {
  3657. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  3658. }
  3659. if s.ResourceArn == nil {
  3660. invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  3661. }
  3662. if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  3663. invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  3664. }
  3665. if invalidParams.Len() > 0 {
  3666. return invalidParams
  3667. }
  3668. return nil
  3669. }
  3670. // SetMaxResults sets the MaxResults field's value.
  3671. func (s *ListTagsForResourceInput) SetMaxResults(v int64) *ListTagsForResourceInput {
  3672. s.MaxResults = &v
  3673. return s
  3674. }
  3675. // SetNextToken sets the NextToken field's value.
  3676. func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
  3677. s.NextToken = &v
  3678. return s
  3679. }
  3680. // SetResourceArn sets the ResourceArn field's value.
  3681. func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  3682. s.ResourceArn = &v
  3683. return s
  3684. }
  3685. type ListTagsForResourceOutput struct {
  3686. _ struct{} `type:"structure"`
  3687. // If more than MaxResults tags match the specified criteria, you can submit
  3688. // another ListTagsForResource request to get the next group of results. In
  3689. // the next request, specify the value of NextToken from the previous response.
  3690. NextToken *string `type:"string"`
  3691. // The tags that are associated with the resource that you specified in the
  3692. // ListTagsForResource request.
  3693. Tags []*Tag `type:"list"`
  3694. }
  3695. // String returns the string representation
  3696. func (s ListTagsForResourceOutput) String() string {
  3697. return awsutil.Prettify(s)
  3698. }
  3699. // GoString returns the string representation
  3700. func (s ListTagsForResourceOutput) GoString() string {
  3701. return s.String()
  3702. }
  3703. // SetNextToken sets the NextToken field's value.
  3704. func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
  3705. s.NextToken = &v
  3706. return s
  3707. }
  3708. // SetTags sets the Tags field's value.
  3709. func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
  3710. s.Tags = v
  3711. return s
  3712. }
  3713. type PutResolverRulePolicyInput struct {
  3714. _ struct{} `type:"structure"`
  3715. // The Amazon Resource Name (ARN) of the account that you want to grant permissions
  3716. // to.
  3717. //
  3718. // Arn is a required field
  3719. Arn *string `min:"1" type:"string" required:"true"`
  3720. // An AWS Identity and Access Management policy statement that lists the permissions
  3721. // that you want to grant to another AWS account.
  3722. //
  3723. // ResolverRulePolicy is a required field
  3724. ResolverRulePolicy *string `type:"string" required:"true"`
  3725. }
  3726. // String returns the string representation
  3727. func (s PutResolverRulePolicyInput) String() string {
  3728. return awsutil.Prettify(s)
  3729. }
  3730. // GoString returns the string representation
  3731. func (s PutResolverRulePolicyInput) GoString() string {
  3732. return s.String()
  3733. }
  3734. // Validate inspects the fields of the type to determine if they are valid.
  3735. func (s *PutResolverRulePolicyInput) Validate() error {
  3736. invalidParams := request.ErrInvalidParams{Context: "PutResolverRulePolicyInput"}
  3737. if s.Arn == nil {
  3738. invalidParams.Add(request.NewErrParamRequired("Arn"))
  3739. }
  3740. if s.Arn != nil && len(*s.Arn) < 1 {
  3741. invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
  3742. }
  3743. if s.ResolverRulePolicy == nil {
  3744. invalidParams.Add(request.NewErrParamRequired("ResolverRulePolicy"))
  3745. }
  3746. if invalidParams.Len() > 0 {
  3747. return invalidParams
  3748. }
  3749. return nil
  3750. }
  3751. // SetArn sets the Arn field's value.
  3752. func (s *PutResolverRulePolicyInput) SetArn(v string) *PutResolverRulePolicyInput {
  3753. s.Arn = &v
  3754. return s
  3755. }
  3756. // SetResolverRulePolicy sets the ResolverRulePolicy field's value.
  3757. func (s *PutResolverRulePolicyInput) SetResolverRulePolicy(v string) *PutResolverRulePolicyInput {
  3758. s.ResolverRulePolicy = &v
  3759. return s
  3760. }
  3761. // The response to a PutResolverRulePolicy request.
  3762. type PutResolverRulePolicyOutput struct {
  3763. _ struct{} `type:"structure"`
  3764. // Whether the PutResolverRulePolicy request was successful.
  3765. ReturnValue *bool `type:"boolean"`
  3766. }
  3767. // String returns the string representation
  3768. func (s PutResolverRulePolicyOutput) String() string {
  3769. return awsutil.Prettify(s)
  3770. }
  3771. // GoString returns the string representation
  3772. func (s PutResolverRulePolicyOutput) GoString() string {
  3773. return s.String()
  3774. }
  3775. // SetReturnValue sets the ReturnValue field's value.
  3776. func (s *PutResolverRulePolicyOutput) SetReturnValue(v bool) *PutResolverRulePolicyOutput {
  3777. s.ReturnValue = &v
  3778. return s
  3779. }
  3780. // In the response to a CreateResolverEndpoint, DeleteResolverEndpoint, GetResolverEndpoint,
  3781. // ListResolverEndpoints, or UpdateResolverEndpoint request, a complex type
  3782. // that contains settings for an existing inbound or outbound resolver endpoint.
  3783. type ResolverEndpoint struct {
  3784. _ struct{} `type:"structure"`
  3785. // The ARN (Amazon Resource Name) for the resolver endpoint.
  3786. Arn *string `min:"1" type:"string"`
  3787. // The date and time that the endpoint was created, in Unix time format and
  3788. // Coordinated Universal Time (UTC).
  3789. CreationTime *string `min:"20" type:"string"`
  3790. // A unique string that identifies the request that created the resolver endpoint.
  3791. // The CreatorRequestId allows failed requests to be retried without the risk
  3792. // of executing the operation twice.
  3793. CreatorRequestId *string `min:"1" type:"string"`
  3794. // Indicates whether the resolver endpoint allows inbound or outbound DNS queries:
  3795. //
  3796. // * INBOUND: allows DNS queries to your VPC from your network or another
  3797. // VPC
  3798. //
  3799. // * OUTBOUND: allows DNS queries from your VPC to your network or another
  3800. // VPC
  3801. Direction *string `type:"string" enum:"ResolverEndpointDirection"`
  3802. // The ID of the VPC that you want to create the resolver endpoint in.
  3803. HostVPCId *string `min:"1" type:"string"`
  3804. // The ID of the resolver endpoint.
  3805. Id *string `min:"1" type:"string"`
  3806. // The number of IP addresses that the resolver endpoint can use for DNS queries.
  3807. IpAddressCount *int64 `type:"integer"`
  3808. // The date and time that the endpoint was last modified, in Unix time format
  3809. // and Coordinated Universal Time (UTC).
  3810. ModificationTime *string `min:"20" type:"string"`
  3811. // The name that you assigned to the resolver endpoint when you submitted a
  3812. // CreateResolverEndpoint request.
  3813. Name *string `type:"string"`
  3814. // The ID of one or more security groups that control access to this VPC. The
  3815. // security group must include one or more inbound resolver rules.
  3816. SecurityGroupIds []*string `type:"list"`
  3817. // A code that specifies the current status of the resolver endpoint.
  3818. Status *string `type:"string" enum:"ResolverEndpointStatus"`
  3819. // A detailed description of the status of the resolver endpoint.
  3820. StatusMessage *string `type:"string"`
  3821. }
  3822. // String returns the string representation
  3823. func (s ResolverEndpoint) String() string {
  3824. return awsutil.Prettify(s)
  3825. }
  3826. // GoString returns the string representation
  3827. func (s ResolverEndpoint) GoString() string {
  3828. return s.String()
  3829. }
  3830. // SetArn sets the Arn field's value.
  3831. func (s *ResolverEndpoint) SetArn(v string) *ResolverEndpoint {
  3832. s.Arn = &v
  3833. return s
  3834. }
  3835. // SetCreationTime sets the CreationTime field's value.
  3836. func (s *ResolverEndpoint) SetCreationTime(v string) *ResolverEndpoint {
  3837. s.CreationTime = &v
  3838. return s
  3839. }
  3840. // SetCreatorRequestId sets the CreatorRequestId field's value.
  3841. func (s *ResolverEndpoint) SetCreatorRequestId(v string) *ResolverEndpoint {
  3842. s.CreatorRequestId = &v
  3843. return s
  3844. }
  3845. // SetDirection sets the Direction field's value.
  3846. func (s *ResolverEndpoint) SetDirection(v string) *ResolverEndpoint {
  3847. s.Direction = &v
  3848. return s
  3849. }
  3850. // SetHostVPCId sets the HostVPCId field's value.
  3851. func (s *ResolverEndpoint) SetHostVPCId(v string) *ResolverEndpoint {
  3852. s.HostVPCId = &v
  3853. return s
  3854. }
  3855. // SetId sets the Id field's value.
  3856. func (s *ResolverEndpoint) SetId(v string) *ResolverEndpoint {
  3857. s.Id = &v
  3858. return s
  3859. }
  3860. // SetIpAddressCount sets the IpAddressCount field's value.
  3861. func (s *ResolverEndpoint) SetIpAddressCount(v int64) *ResolverEndpoint {
  3862. s.IpAddressCount = &v
  3863. return s
  3864. }
  3865. // SetModificationTime sets the ModificationTime field's value.
  3866. func (s *ResolverEndpoint) SetModificationTime(v string) *ResolverEndpoint {
  3867. s.ModificationTime = &v
  3868. return s
  3869. }
  3870. // SetName sets the Name field's value.
  3871. func (s *ResolverEndpoint) SetName(v string) *ResolverEndpoint {
  3872. s.Name = &v
  3873. return s
  3874. }
  3875. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  3876. func (s *ResolverEndpoint) SetSecurityGroupIds(v []*string) *ResolverEndpoint {
  3877. s.SecurityGroupIds = v
  3878. return s
  3879. }
  3880. // SetStatus sets the Status field's value.
  3881. func (s *ResolverEndpoint) SetStatus(v string) *ResolverEndpoint {
  3882. s.Status = &v
  3883. return s
  3884. }
  3885. // SetStatusMessage sets the StatusMessage field's value.
  3886. func (s *ResolverEndpoint) SetStatusMessage(v string) *ResolverEndpoint {
  3887. s.StatusMessage = &v
  3888. return s
  3889. }
  3890. // For queries that originate in your VPC, detailed information about a resolver
  3891. // rule, which specifies how to route DNS queries out of the VPC. The ResolverRule
  3892. // parameter appears in the response to a CreateResolverRule, DeleteResolverRule,
  3893. // GetResolverRule, ListResolverRules, or UpdateResolverRule request.
  3894. type ResolverRule struct {
  3895. _ struct{} `type:"structure"`
  3896. // The ARN (Amazon Resource Name) for the resolver rule specified by Id.
  3897. Arn *string `min:"1" type:"string"`
  3898. // A unique string that you specified when you created the resolver rule. CreatorRequestIdidentifies
  3899. // the request and allows failed requests to be retried without the risk of
  3900. // executing the operation twice.
  3901. CreatorRequestId *string `min:"1" type:"string"`
  3902. // DNS queries for this domain name are forwarded to the IP addresses that are
  3903. // specified in TargetIps. If a query matches multiple resolver rules (example.com
  3904. // and www.example.com), the query is routed using the resolver rule that contains
  3905. // the most specific domain name (www.example.com).
  3906. DomainName *string `min:"1" type:"string"`
  3907. // The ID that Resolver assigned to the resolver rule when you created it.
  3908. Id *string `min:"1" type:"string"`
  3909. // The name for the resolver rule, which you specified when you created the
  3910. // resolver rule.
  3911. Name *string `type:"string"`
  3912. // When a rule is shared with another AWS account, the account ID of the account
  3913. // that the rule is shared with.
  3914. OwnerId *string `min:"12" type:"string"`
  3915. // The ID of the endpoint that the rule is associated with.
  3916. ResolverEndpointId *string `min:"1" type:"string"`
  3917. // This value is always FORWARD. Other resolver rule types aren't supported.
  3918. RuleType *string `type:"string" enum:"RuleTypeOption"`
  3919. // Whether the rules is shared and, if so, whether the current account is sharing
  3920. // the rule with another account, or another account is sharing the rule with
  3921. // the current account.
  3922. ShareStatus *string `type:"string" enum:"ShareStatus"`
  3923. // A code that specifies the current status of the resolver rule.
  3924. Status *string `type:"string" enum:"ResolverRuleStatus"`
  3925. // A detailed description of the status of a resolver rule.
  3926. StatusMessage *string `type:"string"`
  3927. // An array that contains the IP addresses and ports that you want to forward
  3928. TargetIps []*TargetAddress `min:"1" type:"list"`
  3929. }
  3930. // String returns the string representation
  3931. func (s ResolverRule) String() string {
  3932. return awsutil.Prettify(s)
  3933. }
  3934. // GoString returns the string representation
  3935. func (s ResolverRule) GoString() string {
  3936. return s.String()
  3937. }
  3938. // SetArn sets the Arn field's value.
  3939. func (s *ResolverRule) SetArn(v string) *ResolverRule {
  3940. s.Arn = &v
  3941. return s
  3942. }
  3943. // SetCreatorRequestId sets the CreatorRequestId field's value.
  3944. func (s *ResolverRule) SetCreatorRequestId(v string) *ResolverRule {
  3945. s.CreatorRequestId = &v
  3946. return s
  3947. }
  3948. // SetDomainName sets the DomainName field's value.
  3949. func (s *ResolverRule) SetDomainName(v string) *ResolverRule {
  3950. s.DomainName = &v
  3951. return s
  3952. }
  3953. // SetId sets the Id field's value.
  3954. func (s *ResolverRule) SetId(v string) *ResolverRule {
  3955. s.Id = &v
  3956. return s
  3957. }
  3958. // SetName sets the Name field's value.
  3959. func (s *ResolverRule) SetName(v string) *ResolverRule {
  3960. s.Name = &v
  3961. return s
  3962. }
  3963. // SetOwnerId sets the OwnerId field's value.
  3964. func (s *ResolverRule) SetOwnerId(v string) *ResolverRule {
  3965. s.OwnerId = &v
  3966. return s
  3967. }
  3968. // SetResolverEndpointId sets the ResolverEndpointId field's value.
  3969. func (s *ResolverRule) SetResolverEndpointId(v string) *ResolverRule {
  3970. s.ResolverEndpointId = &v
  3971. return s
  3972. }
  3973. // SetRuleType sets the RuleType field's value.
  3974. func (s *ResolverRule) SetRuleType(v string) *ResolverRule {
  3975. s.RuleType = &v
  3976. return s
  3977. }
  3978. // SetShareStatus sets the ShareStatus field's value.
  3979. func (s *ResolverRule) SetShareStatus(v string) *ResolverRule {
  3980. s.ShareStatus = &v
  3981. return s
  3982. }
  3983. // SetStatus sets the Status field's value.
  3984. func (s *ResolverRule) SetStatus(v string) *ResolverRule {
  3985. s.Status = &v
  3986. return s
  3987. }
  3988. // SetStatusMessage sets the StatusMessage field's value.
  3989. func (s *ResolverRule) SetStatusMessage(v string) *ResolverRule {
  3990. s.StatusMessage = &v
  3991. return s
  3992. }
  3993. // SetTargetIps sets the TargetIps field's value.
  3994. func (s *ResolverRule) SetTargetIps(v []*TargetAddress) *ResolverRule {
  3995. s.TargetIps = v
  3996. return s
  3997. }
  3998. // In the response to an AssociateResolverRule, DisassociateResolverRule, or
  3999. // ListResolverRuleAssociations request, information about an association between
  4000. // a resolver rule and a VPC.
  4001. type ResolverRuleAssociation struct {
  4002. _ struct{} `type:"structure"`
  4003. // The ID of the association between a resolver rule and a VPC. Resolver assigns
  4004. // this value when you submit an AssociateResolverRule request.
  4005. Id *string `min:"1" type:"string"`
  4006. // The name of an association between a resolver rule and a VPC.
  4007. Name *string `type:"string"`
  4008. // The ID of the resolver rule that you associated with the VPC that is specified
  4009. // by VPCId.
  4010. ResolverRuleId *string `min:"1" type:"string"`
  4011. // A code that specifies the current status of the association between a resolver
  4012. // rule and a VPC.
  4013. Status *string `type:"string" enum:"ResolverRuleAssociationStatus"`
  4014. // A detailed description of the status of the association between a resolver
  4015. // rule and a VPC.
  4016. StatusMessage *string `type:"string"`
  4017. // The ID of the VPC that you associated the resolver rule with.
  4018. VPCId *string `min:"1" type:"string"`
  4019. }
  4020. // String returns the string representation
  4021. func (s ResolverRuleAssociation) String() string {
  4022. return awsutil.Prettify(s)
  4023. }
  4024. // GoString returns the string representation
  4025. func (s ResolverRuleAssociation) GoString() string {
  4026. return s.String()
  4027. }
  4028. // SetId sets the Id field's value.
  4029. func (s *ResolverRuleAssociation) SetId(v string) *ResolverRuleAssociation {
  4030. s.Id = &v
  4031. return s
  4032. }
  4033. // SetName sets the Name field's value.
  4034. func (s *ResolverRuleAssociation) SetName(v string) *ResolverRuleAssociation {
  4035. s.Name = &v
  4036. return s
  4037. }
  4038. // SetResolverRuleId sets the ResolverRuleId field's value.
  4039. func (s *ResolverRuleAssociation) SetResolverRuleId(v string) *ResolverRuleAssociation {
  4040. s.ResolverRuleId = &v
  4041. return s
  4042. }
  4043. // SetStatus sets the Status field's value.
  4044. func (s *ResolverRuleAssociation) SetStatus(v string) *ResolverRuleAssociation {
  4045. s.Status = &v
  4046. return s
  4047. }
  4048. // SetStatusMessage sets the StatusMessage field's value.
  4049. func (s *ResolverRuleAssociation) SetStatusMessage(v string) *ResolverRuleAssociation {
  4050. s.StatusMessage = &v
  4051. return s
  4052. }
  4053. // SetVPCId sets the VPCId field's value.
  4054. func (s *ResolverRuleAssociation) SetVPCId(v string) *ResolverRuleAssociation {
  4055. s.VPCId = &v
  4056. return s
  4057. }
  4058. // In an UpdateResolverRule request, information about the changes that you
  4059. // want to make.
  4060. type ResolverRuleConfig struct {
  4061. _ struct{} `type:"structure"`
  4062. // The new name for the resolver rule. The name that you specify appears in
  4063. // the Resolver dashboard in the Route 53 console.
  4064. Name *string `type:"string"`
  4065. // The ID of the new outbound resolver endpoint that you want to use to route
  4066. // DNS queries to the IP addresses that you specify in TargetIps.
  4067. ResolverEndpointId *string `min:"1" type:"string"`
  4068. // For DNS queries that originate in your VPC, the new IP addresses that you
  4069. // want to route outbound DNS queries to.
  4070. TargetIps []*TargetAddress `min:"1" type:"list"`
  4071. }
  4072. // String returns the string representation
  4073. func (s ResolverRuleConfig) String() string {
  4074. return awsutil.Prettify(s)
  4075. }
  4076. // GoString returns the string representation
  4077. func (s ResolverRuleConfig) GoString() string {
  4078. return s.String()
  4079. }
  4080. // Validate inspects the fields of the type to determine if they are valid.
  4081. func (s *ResolverRuleConfig) Validate() error {
  4082. invalidParams := request.ErrInvalidParams{Context: "ResolverRuleConfig"}
  4083. if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 {
  4084. invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1))
  4085. }
  4086. if s.TargetIps != nil && len(s.TargetIps) < 1 {
  4087. invalidParams.Add(request.NewErrParamMinLen("TargetIps", 1))
  4088. }
  4089. if s.TargetIps != nil {
  4090. for i, v := range s.TargetIps {
  4091. if v == nil {
  4092. continue
  4093. }
  4094. if err := v.Validate(); err != nil {
  4095. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetIps", i), err.(request.ErrInvalidParams))
  4096. }
  4097. }
  4098. }
  4099. if invalidParams.Len() > 0 {
  4100. return invalidParams
  4101. }
  4102. return nil
  4103. }
  4104. // SetName sets the Name field's value.
  4105. func (s *ResolverRuleConfig) SetName(v string) *ResolverRuleConfig {
  4106. s.Name = &v
  4107. return s
  4108. }
  4109. // SetResolverEndpointId sets the ResolverEndpointId field's value.
  4110. func (s *ResolverRuleConfig) SetResolverEndpointId(v string) *ResolverRuleConfig {
  4111. s.ResolverEndpointId = &v
  4112. return s
  4113. }
  4114. // SetTargetIps sets the TargetIps field's value.
  4115. func (s *ResolverRuleConfig) SetTargetIps(v []*TargetAddress) *ResolverRuleConfig {
  4116. s.TargetIps = v
  4117. return s
  4118. }
  4119. // One tag that you want to add to the specified resource. A tag consists of
  4120. // a Key (a name for the tag) and a Value.
  4121. type Tag struct {
  4122. _ struct{} `type:"structure"`
  4123. // The name for the tag. For example, if you want to associate Resolver resources
  4124. // with the account IDs of your customers for billing purposes, the value of
  4125. // Key might be account-id.
  4126. Key *string `type:"string"`
  4127. // The value for the tag. For example, if Key is account-id, then Value might
  4128. // be the ID of the customer account that you're creating the resource for.
  4129. Value *string `type:"string"`
  4130. }
  4131. // String returns the string representation
  4132. func (s Tag) String() string {
  4133. return awsutil.Prettify(s)
  4134. }
  4135. // GoString returns the string representation
  4136. func (s Tag) GoString() string {
  4137. return s.String()
  4138. }
  4139. // SetKey sets the Key field's value.
  4140. func (s *Tag) SetKey(v string) *Tag {
  4141. s.Key = &v
  4142. return s
  4143. }
  4144. // SetValue sets the Value field's value.
  4145. func (s *Tag) SetValue(v string) *Tag {
  4146. s.Value = &v
  4147. return s
  4148. }
  4149. type TagResourceInput struct {
  4150. _ struct{} `type:"structure"`
  4151. // The Amazon Resource Name (ARN) for the resource that you want to add tags
  4152. // to. To get the ARN for a resource, use the applicable Get or List command:
  4153. //
  4154. // * GetResolverEndpoint
  4155. //
  4156. // * GetResolverRule
  4157. //
  4158. // * GetResolverRuleAssociation
  4159. //
  4160. // * ListResolverEndpoints
  4161. //
  4162. // * ListResolverRuleAssociations
  4163. //
  4164. // * ListResolverRules
  4165. //
  4166. // ResourceArn is a required field
  4167. ResourceArn *string `min:"1" type:"string" required:"true"`
  4168. // The tags that you want to add to the specified resource.
  4169. //
  4170. // Tags is a required field
  4171. Tags []*Tag `type:"list" required:"true"`
  4172. }
  4173. // String returns the string representation
  4174. func (s TagResourceInput) String() string {
  4175. return awsutil.Prettify(s)
  4176. }
  4177. // GoString returns the string representation
  4178. func (s TagResourceInput) GoString() string {
  4179. return s.String()
  4180. }
  4181. // Validate inspects the fields of the type to determine if they are valid.
  4182. func (s *TagResourceInput) Validate() error {
  4183. invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  4184. if s.ResourceArn == nil {
  4185. invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  4186. }
  4187. if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  4188. invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  4189. }
  4190. if s.Tags == nil {
  4191. invalidParams.Add(request.NewErrParamRequired("Tags"))
  4192. }
  4193. if invalidParams.Len() > 0 {
  4194. return invalidParams
  4195. }
  4196. return nil
  4197. }
  4198. // SetResourceArn sets the ResourceArn field's value.
  4199. func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
  4200. s.ResourceArn = &v
  4201. return s
  4202. }
  4203. // SetTags sets the Tags field's value.
  4204. func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
  4205. s.Tags = v
  4206. return s
  4207. }
  4208. type TagResourceOutput struct {
  4209. _ struct{} `type:"structure"`
  4210. }
  4211. // String returns the string representation
  4212. func (s TagResourceOutput) String() string {
  4213. return awsutil.Prettify(s)
  4214. }
  4215. // GoString returns the string representation
  4216. func (s TagResourceOutput) GoString() string {
  4217. return s.String()
  4218. }
  4219. // In a CreateResolverRule request, an array of the IPs that you want to forward
  4220. // DNS queries to.
  4221. type TargetAddress struct {
  4222. _ struct{} `type:"structure"`
  4223. // One IP address that you want to forward DNS queries to. You can specify only
  4224. // IPv4 addresses.
  4225. //
  4226. // Ip is a required field
  4227. Ip *string `min:"7" type:"string" required:"true"`
  4228. // The port at Ip that you want to forward DNS queries to.
  4229. Port *int64 `type:"integer"`
  4230. }
  4231. // String returns the string representation
  4232. func (s TargetAddress) String() string {
  4233. return awsutil.Prettify(s)
  4234. }
  4235. // GoString returns the string representation
  4236. func (s TargetAddress) GoString() string {
  4237. return s.String()
  4238. }
  4239. // Validate inspects the fields of the type to determine if they are valid.
  4240. func (s *TargetAddress) Validate() error {
  4241. invalidParams := request.ErrInvalidParams{Context: "TargetAddress"}
  4242. if s.Ip == nil {
  4243. invalidParams.Add(request.NewErrParamRequired("Ip"))
  4244. }
  4245. if s.Ip != nil && len(*s.Ip) < 7 {
  4246. invalidParams.Add(request.NewErrParamMinLen("Ip", 7))
  4247. }
  4248. if invalidParams.Len() > 0 {
  4249. return invalidParams
  4250. }
  4251. return nil
  4252. }
  4253. // SetIp sets the Ip field's value.
  4254. func (s *TargetAddress) SetIp(v string) *TargetAddress {
  4255. s.Ip = &v
  4256. return s
  4257. }
  4258. // SetPort sets the Port field's value.
  4259. func (s *TargetAddress) SetPort(v int64) *TargetAddress {
  4260. s.Port = &v
  4261. return s
  4262. }
  4263. type UntagResourceInput struct {
  4264. _ struct{} `type:"structure"`
  4265. // The Amazon Resource Name (ARN) for the resource that you want to remove tags
  4266. // from. To get the ARN for a resource, use the applicable Get or List command:
  4267. //
  4268. // * GetResolverEndpoint
  4269. //
  4270. // * GetResolverRule
  4271. //
  4272. // * GetResolverRuleAssociation
  4273. //
  4274. // * ListResolverEndpoints
  4275. //
  4276. // * ListResolverRuleAssociations
  4277. //
  4278. // * ListResolverRules
  4279. //
  4280. // ResourceArn is a required field
  4281. ResourceArn *string `min:"1" type:"string" required:"true"`
  4282. // The tags that you want to remove to the specified resource.
  4283. //
  4284. // TagKeys is a required field
  4285. TagKeys []*string `type:"list" required:"true"`
  4286. }
  4287. // String returns the string representation
  4288. func (s UntagResourceInput) String() string {
  4289. return awsutil.Prettify(s)
  4290. }
  4291. // GoString returns the string representation
  4292. func (s UntagResourceInput) GoString() string {
  4293. return s.String()
  4294. }
  4295. // Validate inspects the fields of the type to determine if they are valid.
  4296. func (s *UntagResourceInput) Validate() error {
  4297. invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
  4298. if s.ResourceArn == nil {
  4299. invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  4300. }
  4301. if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  4302. invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  4303. }
  4304. if s.TagKeys == nil {
  4305. invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  4306. }
  4307. if invalidParams.Len() > 0 {
  4308. return invalidParams
  4309. }
  4310. return nil
  4311. }
  4312. // SetResourceArn sets the ResourceArn field's value.
  4313. func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
  4314. s.ResourceArn = &v
  4315. return s
  4316. }
  4317. // SetTagKeys sets the TagKeys field's value.
  4318. func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
  4319. s.TagKeys = v
  4320. return s
  4321. }
  4322. type UntagResourceOutput struct {
  4323. _ struct{} `type:"structure"`
  4324. }
  4325. // String returns the string representation
  4326. func (s UntagResourceOutput) String() string {
  4327. return awsutil.Prettify(s)
  4328. }
  4329. // GoString returns the string representation
  4330. func (s UntagResourceOutput) GoString() string {
  4331. return s.String()
  4332. }
  4333. type UpdateResolverEndpointInput struct {
  4334. _ struct{} `type:"structure"`
  4335. // The name of the resolver endpoint that you want to update.
  4336. Name *string `type:"string"`
  4337. // The ID of the resolver endpoint that you want to update.
  4338. //
  4339. // ResolverEndpointId is a required field
  4340. ResolverEndpointId *string `min:"1" type:"string" required:"true"`
  4341. }
  4342. // String returns the string representation
  4343. func (s UpdateResolverEndpointInput) String() string {
  4344. return awsutil.Prettify(s)
  4345. }
  4346. // GoString returns the string representation
  4347. func (s UpdateResolverEndpointInput) GoString() string {
  4348. return s.String()
  4349. }
  4350. // Validate inspects the fields of the type to determine if they are valid.
  4351. func (s *UpdateResolverEndpointInput) Validate() error {
  4352. invalidParams := request.ErrInvalidParams{Context: "UpdateResolverEndpointInput"}
  4353. if s.ResolverEndpointId == nil {
  4354. invalidParams.Add(request.NewErrParamRequired("ResolverEndpointId"))
  4355. }
  4356. if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 {
  4357. invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1))
  4358. }
  4359. if invalidParams.Len() > 0 {
  4360. return invalidParams
  4361. }
  4362. return nil
  4363. }
  4364. // SetName sets the Name field's value.
  4365. func (s *UpdateResolverEndpointInput) SetName(v string) *UpdateResolverEndpointInput {
  4366. s.Name = &v
  4367. return s
  4368. }
  4369. // SetResolverEndpointId sets the ResolverEndpointId field's value.
  4370. func (s *UpdateResolverEndpointInput) SetResolverEndpointId(v string) *UpdateResolverEndpointInput {
  4371. s.ResolverEndpointId = &v
  4372. return s
  4373. }
  4374. type UpdateResolverEndpointOutput struct {
  4375. _ struct{} `type:"structure"`
  4376. // The response to an UpdateResolverEndpoint request.
  4377. ResolverEndpoint *ResolverEndpoint `type:"structure"`
  4378. }
  4379. // String returns the string representation
  4380. func (s UpdateResolverEndpointOutput) String() string {
  4381. return awsutil.Prettify(s)
  4382. }
  4383. // GoString returns the string representation
  4384. func (s UpdateResolverEndpointOutput) GoString() string {
  4385. return s.String()
  4386. }
  4387. // SetResolverEndpoint sets the ResolverEndpoint field's value.
  4388. func (s *UpdateResolverEndpointOutput) SetResolverEndpoint(v *ResolverEndpoint) *UpdateResolverEndpointOutput {
  4389. s.ResolverEndpoint = v
  4390. return s
  4391. }
  4392. type UpdateResolverRuleInput struct {
  4393. _ struct{} `type:"structure"`
  4394. // The new settings for the resolver rule.
  4395. //
  4396. // Config is a required field
  4397. Config *ResolverRuleConfig `type:"structure" required:"true"`
  4398. // The ID of the resolver rule that you want to update.
  4399. //
  4400. // ResolverRuleId is a required field
  4401. ResolverRuleId *string `min:"1" type:"string" required:"true"`
  4402. }
  4403. // String returns the string representation
  4404. func (s UpdateResolverRuleInput) String() string {
  4405. return awsutil.Prettify(s)
  4406. }
  4407. // GoString returns the string representation
  4408. func (s UpdateResolverRuleInput) GoString() string {
  4409. return s.String()
  4410. }
  4411. // Validate inspects the fields of the type to determine if they are valid.
  4412. func (s *UpdateResolverRuleInput) Validate() error {
  4413. invalidParams := request.ErrInvalidParams{Context: "UpdateResolverRuleInput"}
  4414. if s.Config == nil {
  4415. invalidParams.Add(request.NewErrParamRequired("Config"))
  4416. }
  4417. if s.ResolverRuleId == nil {
  4418. invalidParams.Add(request.NewErrParamRequired("ResolverRuleId"))
  4419. }
  4420. if s.ResolverRuleId != nil && len(*s.ResolverRuleId) < 1 {
  4421. invalidParams.Add(request.NewErrParamMinLen("ResolverRuleId", 1))
  4422. }
  4423. if s.Config != nil {
  4424. if err := s.Config.Validate(); err != nil {
  4425. invalidParams.AddNested("Config", err.(request.ErrInvalidParams))
  4426. }
  4427. }
  4428. if invalidParams.Len() > 0 {
  4429. return invalidParams
  4430. }
  4431. return nil
  4432. }
  4433. // SetConfig sets the Config field's value.
  4434. func (s *UpdateResolverRuleInput) SetConfig(v *ResolverRuleConfig) *UpdateResolverRuleInput {
  4435. s.Config = v
  4436. return s
  4437. }
  4438. // SetResolverRuleId sets the ResolverRuleId field's value.
  4439. func (s *UpdateResolverRuleInput) SetResolverRuleId(v string) *UpdateResolverRuleInput {
  4440. s.ResolverRuleId = &v
  4441. return s
  4442. }
  4443. type UpdateResolverRuleOutput struct {
  4444. _ struct{} `type:"structure"`
  4445. // The response to an UpdateResolverRule request.
  4446. ResolverRule *ResolverRule `type:"structure"`
  4447. }
  4448. // String returns the string representation
  4449. func (s UpdateResolverRuleOutput) String() string {
  4450. return awsutil.Prettify(s)
  4451. }
  4452. // GoString returns the string representation
  4453. func (s UpdateResolverRuleOutput) GoString() string {
  4454. return s.String()
  4455. }
  4456. // SetResolverRule sets the ResolverRule field's value.
  4457. func (s *UpdateResolverRuleOutput) SetResolverRule(v *ResolverRule) *UpdateResolverRuleOutput {
  4458. s.ResolverRule = v
  4459. return s
  4460. }
  4461. const (
  4462. // IpAddressStatusCreating is a IpAddressStatus enum value
  4463. IpAddressStatusCreating = "CREATING"
  4464. // IpAddressStatusFailedCreation is a IpAddressStatus enum value
  4465. IpAddressStatusFailedCreation = "FAILED_CREATION"
  4466. // IpAddressStatusAttaching is a IpAddressStatus enum value
  4467. IpAddressStatusAttaching = "ATTACHING"
  4468. // IpAddressStatusAttached is a IpAddressStatus enum value
  4469. IpAddressStatusAttached = "ATTACHED"
  4470. // IpAddressStatusRemapDetaching is a IpAddressStatus enum value
  4471. IpAddressStatusRemapDetaching = "REMAP_DETACHING"
  4472. // IpAddressStatusRemapAttaching is a IpAddressStatus enum value
  4473. IpAddressStatusRemapAttaching = "REMAP_ATTACHING"
  4474. // IpAddressStatusDetaching is a IpAddressStatus enum value
  4475. IpAddressStatusDetaching = "DETACHING"
  4476. // IpAddressStatusFailedResourceGone is a IpAddressStatus enum value
  4477. IpAddressStatusFailedResourceGone = "FAILED_RESOURCE_GONE"
  4478. // IpAddressStatusDeleting is a IpAddressStatus enum value
  4479. IpAddressStatusDeleting = "DELETING"
  4480. // IpAddressStatusDeleteFailedFasExpired is a IpAddressStatus enum value
  4481. IpAddressStatusDeleteFailedFasExpired = "DELETE_FAILED_FAS_EXPIRED"
  4482. )
  4483. const (
  4484. // ResolverEndpointDirectionInbound is a ResolverEndpointDirection enum value
  4485. ResolverEndpointDirectionInbound = "INBOUND"
  4486. // ResolverEndpointDirectionOutbound is a ResolverEndpointDirection enum value
  4487. ResolverEndpointDirectionOutbound = "OUTBOUND"
  4488. )
  4489. const (
  4490. // ResolverEndpointStatusCreating is a ResolverEndpointStatus enum value
  4491. ResolverEndpointStatusCreating = "CREATING"
  4492. // ResolverEndpointStatusOperational is a ResolverEndpointStatus enum value
  4493. ResolverEndpointStatusOperational = "OPERATIONAL"
  4494. // ResolverEndpointStatusUpdating is a ResolverEndpointStatus enum value
  4495. ResolverEndpointStatusUpdating = "UPDATING"
  4496. // ResolverEndpointStatusAutoRecovering is a ResolverEndpointStatus enum value
  4497. ResolverEndpointStatusAutoRecovering = "AUTO_RECOVERING"
  4498. // ResolverEndpointStatusActionNeeded is a ResolverEndpointStatus enum value
  4499. ResolverEndpointStatusActionNeeded = "ACTION_NEEDED"
  4500. // ResolverEndpointStatusDeleting is a ResolverEndpointStatus enum value
  4501. ResolverEndpointStatusDeleting = "DELETING"
  4502. )
  4503. const (
  4504. // ResolverRuleAssociationStatusCreating is a ResolverRuleAssociationStatus enum value
  4505. ResolverRuleAssociationStatusCreating = "CREATING"
  4506. // ResolverRuleAssociationStatusComplete is a ResolverRuleAssociationStatus enum value
  4507. ResolverRuleAssociationStatusComplete = "COMPLETE"
  4508. // ResolverRuleAssociationStatusDeleting is a ResolverRuleAssociationStatus enum value
  4509. ResolverRuleAssociationStatusDeleting = "DELETING"
  4510. // ResolverRuleAssociationStatusFailed is a ResolverRuleAssociationStatus enum value
  4511. ResolverRuleAssociationStatusFailed = "FAILED"
  4512. // ResolverRuleAssociationStatusOverridden is a ResolverRuleAssociationStatus enum value
  4513. ResolverRuleAssociationStatusOverridden = "OVERRIDDEN"
  4514. )
  4515. const (
  4516. // ResolverRuleStatusComplete is a ResolverRuleStatus enum value
  4517. ResolverRuleStatusComplete = "COMPLETE"
  4518. // ResolverRuleStatusDeleting is a ResolverRuleStatus enum value
  4519. ResolverRuleStatusDeleting = "DELETING"
  4520. // ResolverRuleStatusUpdating is a ResolverRuleStatus enum value
  4521. ResolverRuleStatusUpdating = "UPDATING"
  4522. // ResolverRuleStatusFailed is a ResolverRuleStatus enum value
  4523. ResolverRuleStatusFailed = "FAILED"
  4524. )
  4525. const (
  4526. // RuleTypeOptionForward is a RuleTypeOption enum value
  4527. RuleTypeOptionForward = "FORWARD"
  4528. // RuleTypeOptionSystem is a RuleTypeOption enum value
  4529. RuleTypeOptionSystem = "SYSTEM"
  4530. // RuleTypeOptionRecursive is a RuleTypeOption enum value
  4531. RuleTypeOptionRecursive = "RECURSIVE"
  4532. )
  4533. const (
  4534. // ShareStatusNotShared is a ShareStatus enum value
  4535. ShareStatusNotShared = "NOT_SHARED"
  4536. // ShareStatusSharedWithMe is a ShareStatus enum value
  4537. ShareStatusSharedWithMe = "SHARED_WITH_ME"
  4538. // ShareStatusSharedByMe is a ShareStatus enum value
  4539. ShareStatusSharedByMe = "SHARED_BY_ME"
  4540. )