api.go 147 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679
  1. // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
  2. // Package directoryservice provides a client for AWS Directory Service.
  3. package directoryservice
  4. import (
  5. "fmt"
  6. "time"
  7. "github.com/aws/aws-sdk-go/aws/awsutil"
  8. "github.com/aws/aws-sdk-go/aws/request"
  9. )
  10. const opAddIpRoutes = "AddIpRoutes"
  11. // AddIpRoutesRequest generates a "aws/request.Request" representing the
  12. // client's request for the AddIpRoutes operation. The "output" return
  13. // value can be used to capture response data after the request's "Send" method
  14. // is called.
  15. //
  16. // Creating a request object using this method should be used when you want to inject
  17. // custom logic into the request's lifecycle using a custom handler, or if you want to
  18. // access properties on the request object before or after sending the request. If
  19. // you just want the service response, call the AddIpRoutes method directly
  20. // instead.
  21. //
  22. // Note: You must call the "Send" method on the returned request object in order
  23. // to execute the request.
  24. //
  25. // // Example sending a request using the AddIpRoutesRequest method.
  26. // req, resp := client.AddIpRoutesRequest(params)
  27. //
  28. // err := req.Send()
  29. // if err == nil { // resp is now filled
  30. // fmt.Println(resp)
  31. // }
  32. //
  33. func (c *DirectoryService) AddIpRoutesRequest(input *AddIpRoutesInput) (req *request.Request, output *AddIpRoutesOutput) {
  34. op := &request.Operation{
  35. Name: opAddIpRoutes,
  36. HTTPMethod: "POST",
  37. HTTPPath: "/",
  38. }
  39. if input == nil {
  40. input = &AddIpRoutesInput{}
  41. }
  42. req = c.newRequest(op, input, output)
  43. output = &AddIpRoutesOutput{}
  44. req.Data = output
  45. return
  46. }
  47. // If the DNS server for your on-premises domain uses a publicly addressable
  48. // IP address, you must add a CIDR address block to correctly route traffic
  49. // to and from your Microsoft AD on Amazon Web Services. AddIpRoutes adds this
  50. // address block. You can also use AddIpRoutes to facilitate routing traffic
  51. // that uses public IP ranges from your Microsoft AD on AWS to a peer VPC.
  52. func (c *DirectoryService) AddIpRoutes(input *AddIpRoutesInput) (*AddIpRoutesOutput, error) {
  53. req, out := c.AddIpRoutesRequest(input)
  54. err := req.Send()
  55. return out, err
  56. }
  57. const opAddTagsToResource = "AddTagsToResource"
  58. // AddTagsToResourceRequest generates a "aws/request.Request" representing the
  59. // client's request for the AddTagsToResource operation. The "output" return
  60. // value can be used to capture response data after the request's "Send" method
  61. // is called.
  62. //
  63. // Creating a request object using this method should be used when you want to inject
  64. // custom logic into the request's lifecycle using a custom handler, or if you want to
  65. // access properties on the request object before or after sending the request. If
  66. // you just want the service response, call the AddTagsToResource method directly
  67. // instead.
  68. //
  69. // Note: You must call the "Send" method on the returned request object in order
  70. // to execute the request.
  71. //
  72. // // Example sending a request using the AddTagsToResourceRequest method.
  73. // req, resp := client.AddTagsToResourceRequest(params)
  74. //
  75. // err := req.Send()
  76. // if err == nil { // resp is now filled
  77. // fmt.Println(resp)
  78. // }
  79. //
  80. func (c *DirectoryService) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *AddTagsToResourceOutput) {
  81. op := &request.Operation{
  82. Name: opAddTagsToResource,
  83. HTTPMethod: "POST",
  84. HTTPPath: "/",
  85. }
  86. if input == nil {
  87. input = &AddTagsToResourceInput{}
  88. }
  89. req = c.newRequest(op, input, output)
  90. output = &AddTagsToResourceOutput{}
  91. req.Data = output
  92. return
  93. }
  94. // Adds or overwrites one or more tags for the specified Amazon Directory Services
  95. // directory. Each directory can have a maximum of 10 tags. Each tag consists
  96. // of a key and optional value. Tag keys must be unique to each resource.
  97. func (c *DirectoryService) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) {
  98. req, out := c.AddTagsToResourceRequest(input)
  99. err := req.Send()
  100. return out, err
  101. }
  102. const opConnectDirectory = "ConnectDirectory"
  103. // ConnectDirectoryRequest generates a "aws/request.Request" representing the
  104. // client's request for the ConnectDirectory operation. The "output" return
  105. // value can be used to capture response data after the request's "Send" method
  106. // is called.
  107. //
  108. // Creating a request object using this method should be used when you want to inject
  109. // custom logic into the request's lifecycle using a custom handler, or if you want to
  110. // access properties on the request object before or after sending the request. If
  111. // you just want the service response, call the ConnectDirectory method directly
  112. // instead.
  113. //
  114. // Note: You must call the "Send" method on the returned request object in order
  115. // to execute the request.
  116. //
  117. // // Example sending a request using the ConnectDirectoryRequest method.
  118. // req, resp := client.ConnectDirectoryRequest(params)
  119. //
  120. // err := req.Send()
  121. // if err == nil { // resp is now filled
  122. // fmt.Println(resp)
  123. // }
  124. //
  125. func (c *DirectoryService) ConnectDirectoryRequest(input *ConnectDirectoryInput) (req *request.Request, output *ConnectDirectoryOutput) {
  126. op := &request.Operation{
  127. Name: opConnectDirectory,
  128. HTTPMethod: "POST",
  129. HTTPPath: "/",
  130. }
  131. if input == nil {
  132. input = &ConnectDirectoryInput{}
  133. }
  134. req = c.newRequest(op, input, output)
  135. output = &ConnectDirectoryOutput{}
  136. req.Data = output
  137. return
  138. }
  139. // Creates an AD Connector to connect to an on-premises directory.
  140. func (c *DirectoryService) ConnectDirectory(input *ConnectDirectoryInput) (*ConnectDirectoryOutput, error) {
  141. req, out := c.ConnectDirectoryRequest(input)
  142. err := req.Send()
  143. return out, err
  144. }
  145. const opCreateAlias = "CreateAlias"
  146. // CreateAliasRequest generates a "aws/request.Request" representing the
  147. // client's request for the CreateAlias operation. The "output" return
  148. // value can be used to capture response data after the request's "Send" method
  149. // is called.
  150. //
  151. // Creating a request object using this method should be used when you want to inject
  152. // custom logic into the request's lifecycle using a custom handler, or if you want to
  153. // access properties on the request object before or after sending the request. If
  154. // you just want the service response, call the CreateAlias method directly
  155. // instead.
  156. //
  157. // Note: You must call the "Send" method on the returned request object in order
  158. // to execute the request.
  159. //
  160. // // Example sending a request using the CreateAliasRequest method.
  161. // req, resp := client.CreateAliasRequest(params)
  162. //
  163. // err := req.Send()
  164. // if err == nil { // resp is now filled
  165. // fmt.Println(resp)
  166. // }
  167. //
  168. func (c *DirectoryService) CreateAliasRequest(input *CreateAliasInput) (req *request.Request, output *CreateAliasOutput) {
  169. op := &request.Operation{
  170. Name: opCreateAlias,
  171. HTTPMethod: "POST",
  172. HTTPPath: "/",
  173. }
  174. if input == nil {
  175. input = &CreateAliasInput{}
  176. }
  177. req = c.newRequest(op, input, output)
  178. output = &CreateAliasOutput{}
  179. req.Data = output
  180. return
  181. }
  182. // Creates an alias for a directory and assigns the alias to the directory.
  183. // The alias is used to construct the access URL for the directory, such as
  184. // http://<alias>.awsapps.com.
  185. //
  186. // After an alias has been created, it cannot be deleted or reused, so this
  187. // operation should only be used when absolutely necessary.
  188. func (c *DirectoryService) CreateAlias(input *CreateAliasInput) (*CreateAliasOutput, error) {
  189. req, out := c.CreateAliasRequest(input)
  190. err := req.Send()
  191. return out, err
  192. }
  193. const opCreateComputer = "CreateComputer"
  194. // CreateComputerRequest generates a "aws/request.Request" representing the
  195. // client's request for the CreateComputer operation. The "output" return
  196. // value can be used to capture response data after the request's "Send" method
  197. // is called.
  198. //
  199. // Creating a request object using this method should be used when you want to inject
  200. // custom logic into the request's lifecycle using a custom handler, or if you want to
  201. // access properties on the request object before or after sending the request. If
  202. // you just want the service response, call the CreateComputer method directly
  203. // instead.
  204. //
  205. // Note: You must call the "Send" method on the returned request object in order
  206. // to execute the request.
  207. //
  208. // // Example sending a request using the CreateComputerRequest method.
  209. // req, resp := client.CreateComputerRequest(params)
  210. //
  211. // err := req.Send()
  212. // if err == nil { // resp is now filled
  213. // fmt.Println(resp)
  214. // }
  215. //
  216. func (c *DirectoryService) CreateComputerRequest(input *CreateComputerInput) (req *request.Request, output *CreateComputerOutput) {
  217. op := &request.Operation{
  218. Name: opCreateComputer,
  219. HTTPMethod: "POST",
  220. HTTPPath: "/",
  221. }
  222. if input == nil {
  223. input = &CreateComputerInput{}
  224. }
  225. req = c.newRequest(op, input, output)
  226. output = &CreateComputerOutput{}
  227. req.Data = output
  228. return
  229. }
  230. // Creates a computer account in the specified directory, and joins the computer
  231. // to the directory.
  232. func (c *DirectoryService) CreateComputer(input *CreateComputerInput) (*CreateComputerOutput, error) {
  233. req, out := c.CreateComputerRequest(input)
  234. err := req.Send()
  235. return out, err
  236. }
  237. const opCreateConditionalForwarder = "CreateConditionalForwarder"
  238. // CreateConditionalForwarderRequest generates a "aws/request.Request" representing the
  239. // client's request for the CreateConditionalForwarder operation. The "output" return
  240. // value can be used to capture response data after the request's "Send" method
  241. // is called.
  242. //
  243. // Creating a request object using this method should be used when you want to inject
  244. // custom logic into the request's lifecycle using a custom handler, or if you want to
  245. // access properties on the request object before or after sending the request. If
  246. // you just want the service response, call the CreateConditionalForwarder method directly
  247. // instead.
  248. //
  249. // Note: You must call the "Send" method on the returned request object in order
  250. // to execute the request.
  251. //
  252. // // Example sending a request using the CreateConditionalForwarderRequest method.
  253. // req, resp := client.CreateConditionalForwarderRequest(params)
  254. //
  255. // err := req.Send()
  256. // if err == nil { // resp is now filled
  257. // fmt.Println(resp)
  258. // }
  259. //
  260. func (c *DirectoryService) CreateConditionalForwarderRequest(input *CreateConditionalForwarderInput) (req *request.Request, output *CreateConditionalForwarderOutput) {
  261. op := &request.Operation{
  262. Name: opCreateConditionalForwarder,
  263. HTTPMethod: "POST",
  264. HTTPPath: "/",
  265. }
  266. if input == nil {
  267. input = &CreateConditionalForwarderInput{}
  268. }
  269. req = c.newRequest(op, input, output)
  270. output = &CreateConditionalForwarderOutput{}
  271. req.Data = output
  272. return
  273. }
  274. // Creates a conditional forwarder associated with your AWS directory. Conditional
  275. // forwarders are required in order to set up a trust relationship with another
  276. // domain. The conditional forwarder points to the trusted domain.
  277. func (c *DirectoryService) CreateConditionalForwarder(input *CreateConditionalForwarderInput) (*CreateConditionalForwarderOutput, error) {
  278. req, out := c.CreateConditionalForwarderRequest(input)
  279. err := req.Send()
  280. return out, err
  281. }
  282. const opCreateDirectory = "CreateDirectory"
  283. // CreateDirectoryRequest generates a "aws/request.Request" representing the
  284. // client's request for the CreateDirectory operation. The "output" return
  285. // value can be used to capture response data after the request's "Send" method
  286. // is called.
  287. //
  288. // Creating a request object using this method should be used when you want to inject
  289. // custom logic into the request's lifecycle using a custom handler, or if you want to
  290. // access properties on the request object before or after sending the request. If
  291. // you just want the service response, call the CreateDirectory method directly
  292. // instead.
  293. //
  294. // Note: You must call the "Send" method on the returned request object in order
  295. // to execute the request.
  296. //
  297. // // Example sending a request using the CreateDirectoryRequest method.
  298. // req, resp := client.CreateDirectoryRequest(params)
  299. //
  300. // err := req.Send()
  301. // if err == nil { // resp is now filled
  302. // fmt.Println(resp)
  303. // }
  304. //
  305. func (c *DirectoryService) CreateDirectoryRequest(input *CreateDirectoryInput) (req *request.Request, output *CreateDirectoryOutput) {
  306. op := &request.Operation{
  307. Name: opCreateDirectory,
  308. HTTPMethod: "POST",
  309. HTTPPath: "/",
  310. }
  311. if input == nil {
  312. input = &CreateDirectoryInput{}
  313. }
  314. req = c.newRequest(op, input, output)
  315. output = &CreateDirectoryOutput{}
  316. req.Data = output
  317. return
  318. }
  319. // Creates a Simple AD directory.
  320. func (c *DirectoryService) CreateDirectory(input *CreateDirectoryInput) (*CreateDirectoryOutput, error) {
  321. req, out := c.CreateDirectoryRequest(input)
  322. err := req.Send()
  323. return out, err
  324. }
  325. const opCreateMicrosoftAD = "CreateMicrosoftAD"
  326. // CreateMicrosoftADRequest generates a "aws/request.Request" representing the
  327. // client's request for the CreateMicrosoftAD operation. The "output" return
  328. // value can be used to capture response data after the request's "Send" method
  329. // is called.
  330. //
  331. // Creating a request object using this method should be used when you want to inject
  332. // custom logic into the request's lifecycle using a custom handler, or if you want to
  333. // access properties on the request object before or after sending the request. If
  334. // you just want the service response, call the CreateMicrosoftAD method directly
  335. // instead.
  336. //
  337. // Note: You must call the "Send" method on the returned request object in order
  338. // to execute the request.
  339. //
  340. // // Example sending a request using the CreateMicrosoftADRequest method.
  341. // req, resp := client.CreateMicrosoftADRequest(params)
  342. //
  343. // err := req.Send()
  344. // if err == nil { // resp is now filled
  345. // fmt.Println(resp)
  346. // }
  347. //
  348. func (c *DirectoryService) CreateMicrosoftADRequest(input *CreateMicrosoftADInput) (req *request.Request, output *CreateMicrosoftADOutput) {
  349. op := &request.Operation{
  350. Name: opCreateMicrosoftAD,
  351. HTTPMethod: "POST",
  352. HTTPPath: "/",
  353. }
  354. if input == nil {
  355. input = &CreateMicrosoftADInput{}
  356. }
  357. req = c.newRequest(op, input, output)
  358. output = &CreateMicrosoftADOutput{}
  359. req.Data = output
  360. return
  361. }
  362. // Creates a Microsoft AD in the AWS cloud.
  363. func (c *DirectoryService) CreateMicrosoftAD(input *CreateMicrosoftADInput) (*CreateMicrosoftADOutput, error) {
  364. req, out := c.CreateMicrosoftADRequest(input)
  365. err := req.Send()
  366. return out, err
  367. }
  368. const opCreateSnapshot = "CreateSnapshot"
  369. // CreateSnapshotRequest generates a "aws/request.Request" representing the
  370. // client's request for the CreateSnapshot operation. The "output" return
  371. // value can be used to capture response data after the request's "Send" method
  372. // is called.
  373. //
  374. // Creating a request object using this method should be used when you want to inject
  375. // custom logic into the request's lifecycle using a custom handler, or if you want to
  376. // access properties on the request object before or after sending the request. If
  377. // you just want the service response, call the CreateSnapshot method directly
  378. // instead.
  379. //
  380. // Note: You must call the "Send" method on the returned request object in order
  381. // to execute the request.
  382. //
  383. // // Example sending a request using the CreateSnapshotRequest method.
  384. // req, resp := client.CreateSnapshotRequest(params)
  385. //
  386. // err := req.Send()
  387. // if err == nil { // resp is now filled
  388. // fmt.Println(resp)
  389. // }
  390. //
  391. func (c *DirectoryService) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *CreateSnapshotOutput) {
  392. op := &request.Operation{
  393. Name: opCreateSnapshot,
  394. HTTPMethod: "POST",
  395. HTTPPath: "/",
  396. }
  397. if input == nil {
  398. input = &CreateSnapshotInput{}
  399. }
  400. req = c.newRequest(op, input, output)
  401. output = &CreateSnapshotOutput{}
  402. req.Data = output
  403. return
  404. }
  405. // Creates a snapshot of a Simple AD or Microsoft AD directory in the AWS cloud.
  406. //
  407. // You cannot take snapshots of AD Connector directories.
  408. func (c *DirectoryService) CreateSnapshot(input *CreateSnapshotInput) (*CreateSnapshotOutput, error) {
  409. req, out := c.CreateSnapshotRequest(input)
  410. err := req.Send()
  411. return out, err
  412. }
  413. const opCreateTrust = "CreateTrust"
  414. // CreateTrustRequest generates a "aws/request.Request" representing the
  415. // client's request for the CreateTrust operation. The "output" return
  416. // value can be used to capture response data after the request's "Send" method
  417. // is called.
  418. //
  419. // Creating a request object using this method should be used when you want to inject
  420. // custom logic into the request's lifecycle using a custom handler, or if you want to
  421. // access properties on the request object before or after sending the request. If
  422. // you just want the service response, call the CreateTrust method directly
  423. // instead.
  424. //
  425. // Note: You must call the "Send" method on the returned request object in order
  426. // to execute the request.
  427. //
  428. // // Example sending a request using the CreateTrustRequest method.
  429. // req, resp := client.CreateTrustRequest(params)
  430. //
  431. // err := req.Send()
  432. // if err == nil { // resp is now filled
  433. // fmt.Println(resp)
  434. // }
  435. //
  436. func (c *DirectoryService) CreateTrustRequest(input *CreateTrustInput) (req *request.Request, output *CreateTrustOutput) {
  437. op := &request.Operation{
  438. Name: opCreateTrust,
  439. HTTPMethod: "POST",
  440. HTTPPath: "/",
  441. }
  442. if input == nil {
  443. input = &CreateTrustInput{}
  444. }
  445. req = c.newRequest(op, input, output)
  446. output = &CreateTrustOutput{}
  447. req.Data = output
  448. return
  449. }
  450. // AWS Directory Service for Microsoft Active Directory allows you to configure
  451. // trust relationships. For example, you can establish a trust between your
  452. // Microsoft AD in the AWS cloud, and your existing on-premises Microsoft Active
  453. // Directory. This would allow you to provide users and groups access to resources
  454. // in either domain, with a single set of credentials.
  455. //
  456. // This action initiates the creation of the AWS side of a trust relationship
  457. // between a Microsoft AD in the AWS cloud and an external domain.
  458. func (c *DirectoryService) CreateTrust(input *CreateTrustInput) (*CreateTrustOutput, error) {
  459. req, out := c.CreateTrustRequest(input)
  460. err := req.Send()
  461. return out, err
  462. }
  463. const opDeleteConditionalForwarder = "DeleteConditionalForwarder"
  464. // DeleteConditionalForwarderRequest generates a "aws/request.Request" representing the
  465. // client's request for the DeleteConditionalForwarder operation. The "output" return
  466. // value can be used to capture response data after the request's "Send" method
  467. // is called.
  468. //
  469. // Creating a request object using this method should be used when you want to inject
  470. // custom logic into the request's lifecycle using a custom handler, or if you want to
  471. // access properties on the request object before or after sending the request. If
  472. // you just want the service response, call the DeleteConditionalForwarder method directly
  473. // instead.
  474. //
  475. // Note: You must call the "Send" method on the returned request object in order
  476. // to execute the request.
  477. //
  478. // // Example sending a request using the DeleteConditionalForwarderRequest method.
  479. // req, resp := client.DeleteConditionalForwarderRequest(params)
  480. //
  481. // err := req.Send()
  482. // if err == nil { // resp is now filled
  483. // fmt.Println(resp)
  484. // }
  485. //
  486. func (c *DirectoryService) DeleteConditionalForwarderRequest(input *DeleteConditionalForwarderInput) (req *request.Request, output *DeleteConditionalForwarderOutput) {
  487. op := &request.Operation{
  488. Name: opDeleteConditionalForwarder,
  489. HTTPMethod: "POST",
  490. HTTPPath: "/",
  491. }
  492. if input == nil {
  493. input = &DeleteConditionalForwarderInput{}
  494. }
  495. req = c.newRequest(op, input, output)
  496. output = &DeleteConditionalForwarderOutput{}
  497. req.Data = output
  498. return
  499. }
  500. // Deletes a conditional forwarder that has been set up for your AWS directory.
  501. func (c *DirectoryService) DeleteConditionalForwarder(input *DeleteConditionalForwarderInput) (*DeleteConditionalForwarderOutput, error) {
  502. req, out := c.DeleteConditionalForwarderRequest(input)
  503. err := req.Send()
  504. return out, err
  505. }
  506. const opDeleteDirectory = "DeleteDirectory"
  507. // DeleteDirectoryRequest generates a "aws/request.Request" representing the
  508. // client's request for the DeleteDirectory operation. The "output" return
  509. // value can be used to capture response data after the request's "Send" method
  510. // is called.
  511. //
  512. // Creating a request object using this method should be used when you want to inject
  513. // custom logic into the request's lifecycle using a custom handler, or if you want to
  514. // access properties on the request object before or after sending the request. If
  515. // you just want the service response, call the DeleteDirectory method directly
  516. // instead.
  517. //
  518. // Note: You must call the "Send" method on the returned request object in order
  519. // to execute the request.
  520. //
  521. // // Example sending a request using the DeleteDirectoryRequest method.
  522. // req, resp := client.DeleteDirectoryRequest(params)
  523. //
  524. // err := req.Send()
  525. // if err == nil { // resp is now filled
  526. // fmt.Println(resp)
  527. // }
  528. //
  529. func (c *DirectoryService) DeleteDirectoryRequest(input *DeleteDirectoryInput) (req *request.Request, output *DeleteDirectoryOutput) {
  530. op := &request.Operation{
  531. Name: opDeleteDirectory,
  532. HTTPMethod: "POST",
  533. HTTPPath: "/",
  534. }
  535. if input == nil {
  536. input = &DeleteDirectoryInput{}
  537. }
  538. req = c.newRequest(op, input, output)
  539. output = &DeleteDirectoryOutput{}
  540. req.Data = output
  541. return
  542. }
  543. // Deletes an AWS Directory Service directory.
  544. func (c *DirectoryService) DeleteDirectory(input *DeleteDirectoryInput) (*DeleteDirectoryOutput, error) {
  545. req, out := c.DeleteDirectoryRequest(input)
  546. err := req.Send()
  547. return out, err
  548. }
  549. const opDeleteSnapshot = "DeleteSnapshot"
  550. // DeleteSnapshotRequest generates a "aws/request.Request" representing the
  551. // client's request for the DeleteSnapshot operation. The "output" return
  552. // value can be used to capture response data after the request's "Send" method
  553. // is called.
  554. //
  555. // Creating a request object using this method should be used when you want to inject
  556. // custom logic into the request's lifecycle using a custom handler, or if you want to
  557. // access properties on the request object before or after sending the request. If
  558. // you just want the service response, call the DeleteSnapshot method directly
  559. // instead.
  560. //
  561. // Note: You must call the "Send" method on the returned request object in order
  562. // to execute the request.
  563. //
  564. // // Example sending a request using the DeleteSnapshotRequest method.
  565. // req, resp := client.DeleteSnapshotRequest(params)
  566. //
  567. // err := req.Send()
  568. // if err == nil { // resp is now filled
  569. // fmt.Println(resp)
  570. // }
  571. //
  572. func (c *DirectoryService) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) {
  573. op := &request.Operation{
  574. Name: opDeleteSnapshot,
  575. HTTPMethod: "POST",
  576. HTTPPath: "/",
  577. }
  578. if input == nil {
  579. input = &DeleteSnapshotInput{}
  580. }
  581. req = c.newRequest(op, input, output)
  582. output = &DeleteSnapshotOutput{}
  583. req.Data = output
  584. return
  585. }
  586. // Deletes a directory snapshot.
  587. func (c *DirectoryService) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) {
  588. req, out := c.DeleteSnapshotRequest(input)
  589. err := req.Send()
  590. return out, err
  591. }
  592. const opDeleteTrust = "DeleteTrust"
  593. // DeleteTrustRequest generates a "aws/request.Request" representing the
  594. // client's request for the DeleteTrust operation. The "output" return
  595. // value can be used to capture response data after the request's "Send" method
  596. // is called.
  597. //
  598. // Creating a request object using this method should be used when you want to inject
  599. // custom logic into the request's lifecycle using a custom handler, or if you want to
  600. // access properties on the request object before or after sending the request. If
  601. // you just want the service response, call the DeleteTrust method directly
  602. // instead.
  603. //
  604. // Note: You must call the "Send" method on the returned request object in order
  605. // to execute the request.
  606. //
  607. // // Example sending a request using the DeleteTrustRequest method.
  608. // req, resp := client.DeleteTrustRequest(params)
  609. //
  610. // err := req.Send()
  611. // if err == nil { // resp is now filled
  612. // fmt.Println(resp)
  613. // }
  614. //
  615. func (c *DirectoryService) DeleteTrustRequest(input *DeleteTrustInput) (req *request.Request, output *DeleteTrustOutput) {
  616. op := &request.Operation{
  617. Name: opDeleteTrust,
  618. HTTPMethod: "POST",
  619. HTTPPath: "/",
  620. }
  621. if input == nil {
  622. input = &DeleteTrustInput{}
  623. }
  624. req = c.newRequest(op, input, output)
  625. output = &DeleteTrustOutput{}
  626. req.Data = output
  627. return
  628. }
  629. // Deletes an existing trust relationship between your Microsoft AD in the AWS
  630. // cloud and an external domain.
  631. func (c *DirectoryService) DeleteTrust(input *DeleteTrustInput) (*DeleteTrustOutput, error) {
  632. req, out := c.DeleteTrustRequest(input)
  633. err := req.Send()
  634. return out, err
  635. }
  636. const opDeregisterEventTopic = "DeregisterEventTopic"
  637. // DeregisterEventTopicRequest generates a "aws/request.Request" representing the
  638. // client's request for the DeregisterEventTopic operation. The "output" return
  639. // value can be used to capture response data after the request's "Send" method
  640. // is called.
  641. //
  642. // Creating a request object using this method should be used when you want to inject
  643. // custom logic into the request's lifecycle using a custom handler, or if you want to
  644. // access properties on the request object before or after sending the request. If
  645. // you just want the service response, call the DeregisterEventTopic method directly
  646. // instead.
  647. //
  648. // Note: You must call the "Send" method on the returned request object in order
  649. // to execute the request.
  650. //
  651. // // Example sending a request using the DeregisterEventTopicRequest method.
  652. // req, resp := client.DeregisterEventTopicRequest(params)
  653. //
  654. // err := req.Send()
  655. // if err == nil { // resp is now filled
  656. // fmt.Println(resp)
  657. // }
  658. //
  659. func (c *DirectoryService) DeregisterEventTopicRequest(input *DeregisterEventTopicInput) (req *request.Request, output *DeregisterEventTopicOutput) {
  660. op := &request.Operation{
  661. Name: opDeregisterEventTopic,
  662. HTTPMethod: "POST",
  663. HTTPPath: "/",
  664. }
  665. if input == nil {
  666. input = &DeregisterEventTopicInput{}
  667. }
  668. req = c.newRequest(op, input, output)
  669. output = &DeregisterEventTopicOutput{}
  670. req.Data = output
  671. return
  672. }
  673. // Removes the specified directory as a publisher to the specified SNS topic.
  674. func (c *DirectoryService) DeregisterEventTopic(input *DeregisterEventTopicInput) (*DeregisterEventTopicOutput, error) {
  675. req, out := c.DeregisterEventTopicRequest(input)
  676. err := req.Send()
  677. return out, err
  678. }
  679. const opDescribeConditionalForwarders = "DescribeConditionalForwarders"
  680. // DescribeConditionalForwardersRequest generates a "aws/request.Request" representing the
  681. // client's request for the DescribeConditionalForwarders operation. The "output" return
  682. // value can be used to capture response data after the request's "Send" method
  683. // is called.
  684. //
  685. // Creating a request object using this method should be used when you want to inject
  686. // custom logic into the request's lifecycle using a custom handler, or if you want to
  687. // access properties on the request object before or after sending the request. If
  688. // you just want the service response, call the DescribeConditionalForwarders method directly
  689. // instead.
  690. //
  691. // Note: You must call the "Send" method on the returned request object in order
  692. // to execute the request.
  693. //
  694. // // Example sending a request using the DescribeConditionalForwardersRequest method.
  695. // req, resp := client.DescribeConditionalForwardersRequest(params)
  696. //
  697. // err := req.Send()
  698. // if err == nil { // resp is now filled
  699. // fmt.Println(resp)
  700. // }
  701. //
  702. func (c *DirectoryService) DescribeConditionalForwardersRequest(input *DescribeConditionalForwardersInput) (req *request.Request, output *DescribeConditionalForwardersOutput) {
  703. op := &request.Operation{
  704. Name: opDescribeConditionalForwarders,
  705. HTTPMethod: "POST",
  706. HTTPPath: "/",
  707. }
  708. if input == nil {
  709. input = &DescribeConditionalForwardersInput{}
  710. }
  711. req = c.newRequest(op, input, output)
  712. output = &DescribeConditionalForwardersOutput{}
  713. req.Data = output
  714. return
  715. }
  716. // Obtains information about the conditional forwarders for this account.
  717. //
  718. // If no input parameters are provided for RemoteDomainNames, this request
  719. // describes all conditional forwarders for the specified directory ID.
  720. func (c *DirectoryService) DescribeConditionalForwarders(input *DescribeConditionalForwardersInput) (*DescribeConditionalForwardersOutput, error) {
  721. req, out := c.DescribeConditionalForwardersRequest(input)
  722. err := req.Send()
  723. return out, err
  724. }
  725. const opDescribeDirectories = "DescribeDirectories"
  726. // DescribeDirectoriesRequest generates a "aws/request.Request" representing the
  727. // client's request for the DescribeDirectories operation. The "output" return
  728. // value can be used to capture response data after the request's "Send" method
  729. // is called.
  730. //
  731. // Creating a request object using this method should be used when you want to inject
  732. // custom logic into the request's lifecycle using a custom handler, or if you want to
  733. // access properties on the request object before or after sending the request. If
  734. // you just want the service response, call the DescribeDirectories method directly
  735. // instead.
  736. //
  737. // Note: You must call the "Send" method on the returned request object in order
  738. // to execute the request.
  739. //
  740. // // Example sending a request using the DescribeDirectoriesRequest method.
  741. // req, resp := client.DescribeDirectoriesRequest(params)
  742. //
  743. // err := req.Send()
  744. // if err == nil { // resp is now filled
  745. // fmt.Println(resp)
  746. // }
  747. //
  748. func (c *DirectoryService) DescribeDirectoriesRequest(input *DescribeDirectoriesInput) (req *request.Request, output *DescribeDirectoriesOutput) {
  749. op := &request.Operation{
  750. Name: opDescribeDirectories,
  751. HTTPMethod: "POST",
  752. HTTPPath: "/",
  753. }
  754. if input == nil {
  755. input = &DescribeDirectoriesInput{}
  756. }
  757. req = c.newRequest(op, input, output)
  758. output = &DescribeDirectoriesOutput{}
  759. req.Data = output
  760. return
  761. }
  762. // Obtains information about the directories that belong to this account.
  763. //
  764. // You can retrieve information about specific directories by passing the directory
  765. // identifiers in the DirectoryIds parameter. Otherwise, all directories that
  766. // belong to the current account are returned.
  767. //
  768. // This operation supports pagination with the use of the NextToken request
  769. // and response parameters. If more results are available, the DescribeDirectoriesResult.NextToken
  770. // member contains a token that you pass in the next call to DescribeDirectories
  771. // to retrieve the next set of items.
  772. //
  773. // You can also specify a maximum number of return results with the Limit parameter.
  774. func (c *DirectoryService) DescribeDirectories(input *DescribeDirectoriesInput) (*DescribeDirectoriesOutput, error) {
  775. req, out := c.DescribeDirectoriesRequest(input)
  776. err := req.Send()
  777. return out, err
  778. }
  779. const opDescribeEventTopics = "DescribeEventTopics"
  780. // DescribeEventTopicsRequest generates a "aws/request.Request" representing the
  781. // client's request for the DescribeEventTopics operation. The "output" return
  782. // value can be used to capture response data after the request's "Send" method
  783. // is called.
  784. //
  785. // Creating a request object using this method should be used when you want to inject
  786. // custom logic into the request's lifecycle using a custom handler, or if you want to
  787. // access properties on the request object before or after sending the request. If
  788. // you just want the service response, call the DescribeEventTopics method directly
  789. // instead.
  790. //
  791. // Note: You must call the "Send" method on the returned request object in order
  792. // to execute the request.
  793. //
  794. // // Example sending a request using the DescribeEventTopicsRequest method.
  795. // req, resp := client.DescribeEventTopicsRequest(params)
  796. //
  797. // err := req.Send()
  798. // if err == nil { // resp is now filled
  799. // fmt.Println(resp)
  800. // }
  801. //
  802. func (c *DirectoryService) DescribeEventTopicsRequest(input *DescribeEventTopicsInput) (req *request.Request, output *DescribeEventTopicsOutput) {
  803. op := &request.Operation{
  804. Name: opDescribeEventTopics,
  805. HTTPMethod: "POST",
  806. HTTPPath: "/",
  807. }
  808. if input == nil {
  809. input = &DescribeEventTopicsInput{}
  810. }
  811. req = c.newRequest(op, input, output)
  812. output = &DescribeEventTopicsOutput{}
  813. req.Data = output
  814. return
  815. }
  816. // Obtains information about which SNS topics receive status messages from the
  817. // specified directory.
  818. //
  819. // If no input parameters are provided, such as DirectoryId or TopicName, this
  820. // request describes all of the associations in the account.
  821. func (c *DirectoryService) DescribeEventTopics(input *DescribeEventTopicsInput) (*DescribeEventTopicsOutput, error) {
  822. req, out := c.DescribeEventTopicsRequest(input)
  823. err := req.Send()
  824. return out, err
  825. }
  826. const opDescribeSnapshots = "DescribeSnapshots"
  827. // DescribeSnapshotsRequest generates a "aws/request.Request" representing the
  828. // client's request for the DescribeSnapshots operation. The "output" return
  829. // value can be used to capture response data after the request's "Send" method
  830. // is called.
  831. //
  832. // Creating a request object using this method should be used when you want to inject
  833. // custom logic into the request's lifecycle using a custom handler, or if you want to
  834. // access properties on the request object before or after sending the request. If
  835. // you just want the service response, call the DescribeSnapshots method directly
  836. // instead.
  837. //
  838. // Note: You must call the "Send" method on the returned request object in order
  839. // to execute the request.
  840. //
  841. // // Example sending a request using the DescribeSnapshotsRequest method.
  842. // req, resp := client.DescribeSnapshotsRequest(params)
  843. //
  844. // err := req.Send()
  845. // if err == nil { // resp is now filled
  846. // fmt.Println(resp)
  847. // }
  848. //
  849. func (c *DirectoryService) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) {
  850. op := &request.Operation{
  851. Name: opDescribeSnapshots,
  852. HTTPMethod: "POST",
  853. HTTPPath: "/",
  854. }
  855. if input == nil {
  856. input = &DescribeSnapshotsInput{}
  857. }
  858. req = c.newRequest(op, input, output)
  859. output = &DescribeSnapshotsOutput{}
  860. req.Data = output
  861. return
  862. }
  863. // Obtains information about the directory snapshots that belong to this account.
  864. //
  865. // This operation supports pagination with the use of the NextToken request
  866. // and response parameters. If more results are available, the DescribeSnapshots.NextToken
  867. // member contains a token that you pass in the next call to DescribeSnapshots
  868. // to retrieve the next set of items.
  869. //
  870. // You can also specify a maximum number of return results with the Limit parameter.
  871. func (c *DirectoryService) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) {
  872. req, out := c.DescribeSnapshotsRequest(input)
  873. err := req.Send()
  874. return out, err
  875. }
  876. const opDescribeTrusts = "DescribeTrusts"
  877. // DescribeTrustsRequest generates a "aws/request.Request" representing the
  878. // client's request for the DescribeTrusts operation. The "output" return
  879. // value can be used to capture response data after the request's "Send" method
  880. // is called.
  881. //
  882. // Creating a request object using this method should be used when you want to inject
  883. // custom logic into the request's lifecycle using a custom handler, or if you want to
  884. // access properties on the request object before or after sending the request. If
  885. // you just want the service response, call the DescribeTrusts method directly
  886. // instead.
  887. //
  888. // Note: You must call the "Send" method on the returned request object in order
  889. // to execute the request.
  890. //
  891. // // Example sending a request using the DescribeTrustsRequest method.
  892. // req, resp := client.DescribeTrustsRequest(params)
  893. //
  894. // err := req.Send()
  895. // if err == nil { // resp is now filled
  896. // fmt.Println(resp)
  897. // }
  898. //
  899. func (c *DirectoryService) DescribeTrustsRequest(input *DescribeTrustsInput) (req *request.Request, output *DescribeTrustsOutput) {
  900. op := &request.Operation{
  901. Name: opDescribeTrusts,
  902. HTTPMethod: "POST",
  903. HTTPPath: "/",
  904. }
  905. if input == nil {
  906. input = &DescribeTrustsInput{}
  907. }
  908. req = c.newRequest(op, input, output)
  909. output = &DescribeTrustsOutput{}
  910. req.Data = output
  911. return
  912. }
  913. // Obtains information about the trust relationships for this account.
  914. //
  915. // If no input parameters are provided, such as DirectoryId or TrustIds, this
  916. // request describes all the trust relationships belonging to the account.
  917. func (c *DirectoryService) DescribeTrusts(input *DescribeTrustsInput) (*DescribeTrustsOutput, error) {
  918. req, out := c.DescribeTrustsRequest(input)
  919. err := req.Send()
  920. return out, err
  921. }
  922. const opDisableRadius = "DisableRadius"
  923. // DisableRadiusRequest generates a "aws/request.Request" representing the
  924. // client's request for the DisableRadius operation. The "output" return
  925. // value can be used to capture response data after the request's "Send" method
  926. // is called.
  927. //
  928. // Creating a request object using this method should be used when you want to inject
  929. // custom logic into the request's lifecycle using a custom handler, or if you want to
  930. // access properties on the request object before or after sending the request. If
  931. // you just want the service response, call the DisableRadius method directly
  932. // instead.
  933. //
  934. // Note: You must call the "Send" method on the returned request object in order
  935. // to execute the request.
  936. //
  937. // // Example sending a request using the DisableRadiusRequest method.
  938. // req, resp := client.DisableRadiusRequest(params)
  939. //
  940. // err := req.Send()
  941. // if err == nil { // resp is now filled
  942. // fmt.Println(resp)
  943. // }
  944. //
  945. func (c *DirectoryService) DisableRadiusRequest(input *DisableRadiusInput) (req *request.Request, output *DisableRadiusOutput) {
  946. op := &request.Operation{
  947. Name: opDisableRadius,
  948. HTTPMethod: "POST",
  949. HTTPPath: "/",
  950. }
  951. if input == nil {
  952. input = &DisableRadiusInput{}
  953. }
  954. req = c.newRequest(op, input, output)
  955. output = &DisableRadiusOutput{}
  956. req.Data = output
  957. return
  958. }
  959. // Disables multi-factor authentication (MFA) with the Remote Authentication
  960. // Dial In User Service (RADIUS) server for an AD Connector directory.
  961. func (c *DirectoryService) DisableRadius(input *DisableRadiusInput) (*DisableRadiusOutput, error) {
  962. req, out := c.DisableRadiusRequest(input)
  963. err := req.Send()
  964. return out, err
  965. }
  966. const opDisableSso = "DisableSso"
  967. // DisableSsoRequest generates a "aws/request.Request" representing the
  968. // client's request for the DisableSso operation. The "output" return
  969. // value can be used to capture response data after the request's "Send" method
  970. // is called.
  971. //
  972. // Creating a request object using this method should be used when you want to inject
  973. // custom logic into the request's lifecycle using a custom handler, or if you want to
  974. // access properties on the request object before or after sending the request. If
  975. // you just want the service response, call the DisableSso method directly
  976. // instead.
  977. //
  978. // Note: You must call the "Send" method on the returned request object in order
  979. // to execute the request.
  980. //
  981. // // Example sending a request using the DisableSsoRequest method.
  982. // req, resp := client.DisableSsoRequest(params)
  983. //
  984. // err := req.Send()
  985. // if err == nil { // resp is now filled
  986. // fmt.Println(resp)
  987. // }
  988. //
  989. func (c *DirectoryService) DisableSsoRequest(input *DisableSsoInput) (req *request.Request, output *DisableSsoOutput) {
  990. op := &request.Operation{
  991. Name: opDisableSso,
  992. HTTPMethod: "POST",
  993. HTTPPath: "/",
  994. }
  995. if input == nil {
  996. input = &DisableSsoInput{}
  997. }
  998. req = c.newRequest(op, input, output)
  999. output = &DisableSsoOutput{}
  1000. req.Data = output
  1001. return
  1002. }
  1003. // Disables single-sign on for a directory.
  1004. func (c *DirectoryService) DisableSso(input *DisableSsoInput) (*DisableSsoOutput, error) {
  1005. req, out := c.DisableSsoRequest(input)
  1006. err := req.Send()
  1007. return out, err
  1008. }
  1009. const opEnableRadius = "EnableRadius"
  1010. // EnableRadiusRequest generates a "aws/request.Request" representing the
  1011. // client's request for the EnableRadius operation. The "output" return
  1012. // value can be used to capture response data after the request's "Send" method
  1013. // is called.
  1014. //
  1015. // Creating a request object using this method should be used when you want to inject
  1016. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1017. // access properties on the request object before or after sending the request. If
  1018. // you just want the service response, call the EnableRadius method directly
  1019. // instead.
  1020. //
  1021. // Note: You must call the "Send" method on the returned request object in order
  1022. // to execute the request.
  1023. //
  1024. // // Example sending a request using the EnableRadiusRequest method.
  1025. // req, resp := client.EnableRadiusRequest(params)
  1026. //
  1027. // err := req.Send()
  1028. // if err == nil { // resp is now filled
  1029. // fmt.Println(resp)
  1030. // }
  1031. //
  1032. func (c *DirectoryService) EnableRadiusRequest(input *EnableRadiusInput) (req *request.Request, output *EnableRadiusOutput) {
  1033. op := &request.Operation{
  1034. Name: opEnableRadius,
  1035. HTTPMethod: "POST",
  1036. HTTPPath: "/",
  1037. }
  1038. if input == nil {
  1039. input = &EnableRadiusInput{}
  1040. }
  1041. req = c.newRequest(op, input, output)
  1042. output = &EnableRadiusOutput{}
  1043. req.Data = output
  1044. return
  1045. }
  1046. // Enables multi-factor authentication (MFA) with the Remote Authentication
  1047. // Dial In User Service (RADIUS) server for an AD Connector directory.
  1048. func (c *DirectoryService) EnableRadius(input *EnableRadiusInput) (*EnableRadiusOutput, error) {
  1049. req, out := c.EnableRadiusRequest(input)
  1050. err := req.Send()
  1051. return out, err
  1052. }
  1053. const opEnableSso = "EnableSso"
  1054. // EnableSsoRequest generates a "aws/request.Request" representing the
  1055. // client's request for the EnableSso operation. The "output" return
  1056. // value can be used to capture response data after the request's "Send" method
  1057. // is called.
  1058. //
  1059. // Creating a request object using this method should be used when you want to inject
  1060. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1061. // access properties on the request object before or after sending the request. If
  1062. // you just want the service response, call the EnableSso method directly
  1063. // instead.
  1064. //
  1065. // Note: You must call the "Send" method on the returned request object in order
  1066. // to execute the request.
  1067. //
  1068. // // Example sending a request using the EnableSsoRequest method.
  1069. // req, resp := client.EnableSsoRequest(params)
  1070. //
  1071. // err := req.Send()
  1072. // if err == nil { // resp is now filled
  1073. // fmt.Println(resp)
  1074. // }
  1075. //
  1076. func (c *DirectoryService) EnableSsoRequest(input *EnableSsoInput) (req *request.Request, output *EnableSsoOutput) {
  1077. op := &request.Operation{
  1078. Name: opEnableSso,
  1079. HTTPMethod: "POST",
  1080. HTTPPath: "/",
  1081. }
  1082. if input == nil {
  1083. input = &EnableSsoInput{}
  1084. }
  1085. req = c.newRequest(op, input, output)
  1086. output = &EnableSsoOutput{}
  1087. req.Data = output
  1088. return
  1089. }
  1090. // Enables single-sign on for a directory.
  1091. func (c *DirectoryService) EnableSso(input *EnableSsoInput) (*EnableSsoOutput, error) {
  1092. req, out := c.EnableSsoRequest(input)
  1093. err := req.Send()
  1094. return out, err
  1095. }
  1096. const opGetDirectoryLimits = "GetDirectoryLimits"
  1097. // GetDirectoryLimitsRequest generates a "aws/request.Request" representing the
  1098. // client's request for the GetDirectoryLimits operation. The "output" return
  1099. // value can be used to capture response data after the request's "Send" method
  1100. // is called.
  1101. //
  1102. // Creating a request object using this method should be used when you want to inject
  1103. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1104. // access properties on the request object before or after sending the request. If
  1105. // you just want the service response, call the GetDirectoryLimits method directly
  1106. // instead.
  1107. //
  1108. // Note: You must call the "Send" method on the returned request object in order
  1109. // to execute the request.
  1110. //
  1111. // // Example sending a request using the GetDirectoryLimitsRequest method.
  1112. // req, resp := client.GetDirectoryLimitsRequest(params)
  1113. //
  1114. // err := req.Send()
  1115. // if err == nil { // resp is now filled
  1116. // fmt.Println(resp)
  1117. // }
  1118. //
  1119. func (c *DirectoryService) GetDirectoryLimitsRequest(input *GetDirectoryLimitsInput) (req *request.Request, output *GetDirectoryLimitsOutput) {
  1120. op := &request.Operation{
  1121. Name: opGetDirectoryLimits,
  1122. HTTPMethod: "POST",
  1123. HTTPPath: "/",
  1124. }
  1125. if input == nil {
  1126. input = &GetDirectoryLimitsInput{}
  1127. }
  1128. req = c.newRequest(op, input, output)
  1129. output = &GetDirectoryLimitsOutput{}
  1130. req.Data = output
  1131. return
  1132. }
  1133. // Obtains directory limit information for the current region.
  1134. func (c *DirectoryService) GetDirectoryLimits(input *GetDirectoryLimitsInput) (*GetDirectoryLimitsOutput, error) {
  1135. req, out := c.GetDirectoryLimitsRequest(input)
  1136. err := req.Send()
  1137. return out, err
  1138. }
  1139. const opGetSnapshotLimits = "GetSnapshotLimits"
  1140. // GetSnapshotLimitsRequest generates a "aws/request.Request" representing the
  1141. // client's request for the GetSnapshotLimits operation. The "output" return
  1142. // value can be used to capture response data after the request's "Send" method
  1143. // is called.
  1144. //
  1145. // Creating a request object using this method should be used when you want to inject
  1146. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1147. // access properties on the request object before or after sending the request. If
  1148. // you just want the service response, call the GetSnapshotLimits method directly
  1149. // instead.
  1150. //
  1151. // Note: You must call the "Send" method on the returned request object in order
  1152. // to execute the request.
  1153. //
  1154. // // Example sending a request using the GetSnapshotLimitsRequest method.
  1155. // req, resp := client.GetSnapshotLimitsRequest(params)
  1156. //
  1157. // err := req.Send()
  1158. // if err == nil { // resp is now filled
  1159. // fmt.Println(resp)
  1160. // }
  1161. //
  1162. func (c *DirectoryService) GetSnapshotLimitsRequest(input *GetSnapshotLimitsInput) (req *request.Request, output *GetSnapshotLimitsOutput) {
  1163. op := &request.Operation{
  1164. Name: opGetSnapshotLimits,
  1165. HTTPMethod: "POST",
  1166. HTTPPath: "/",
  1167. }
  1168. if input == nil {
  1169. input = &GetSnapshotLimitsInput{}
  1170. }
  1171. req = c.newRequest(op, input, output)
  1172. output = &GetSnapshotLimitsOutput{}
  1173. req.Data = output
  1174. return
  1175. }
  1176. // Obtains the manual snapshot limits for a directory.
  1177. func (c *DirectoryService) GetSnapshotLimits(input *GetSnapshotLimitsInput) (*GetSnapshotLimitsOutput, error) {
  1178. req, out := c.GetSnapshotLimitsRequest(input)
  1179. err := req.Send()
  1180. return out, err
  1181. }
  1182. const opListIpRoutes = "ListIpRoutes"
  1183. // ListIpRoutesRequest generates a "aws/request.Request" representing the
  1184. // client's request for the ListIpRoutes operation. The "output" return
  1185. // value can be used to capture response data after the request's "Send" method
  1186. // is called.
  1187. //
  1188. // Creating a request object using this method should be used when you want to inject
  1189. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1190. // access properties on the request object before or after sending the request. If
  1191. // you just want the service response, call the ListIpRoutes method directly
  1192. // instead.
  1193. //
  1194. // Note: You must call the "Send" method on the returned request object in order
  1195. // to execute the request.
  1196. //
  1197. // // Example sending a request using the ListIpRoutesRequest method.
  1198. // req, resp := client.ListIpRoutesRequest(params)
  1199. //
  1200. // err := req.Send()
  1201. // if err == nil { // resp is now filled
  1202. // fmt.Println(resp)
  1203. // }
  1204. //
  1205. func (c *DirectoryService) ListIpRoutesRequest(input *ListIpRoutesInput) (req *request.Request, output *ListIpRoutesOutput) {
  1206. op := &request.Operation{
  1207. Name: opListIpRoutes,
  1208. HTTPMethod: "POST",
  1209. HTTPPath: "/",
  1210. }
  1211. if input == nil {
  1212. input = &ListIpRoutesInput{}
  1213. }
  1214. req = c.newRequest(op, input, output)
  1215. output = &ListIpRoutesOutput{}
  1216. req.Data = output
  1217. return
  1218. }
  1219. // Lists the address blocks that you have added to a directory.
  1220. func (c *DirectoryService) ListIpRoutes(input *ListIpRoutesInput) (*ListIpRoutesOutput, error) {
  1221. req, out := c.ListIpRoutesRequest(input)
  1222. err := req.Send()
  1223. return out, err
  1224. }
  1225. const opListTagsForResource = "ListTagsForResource"
  1226. // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  1227. // client's request for the ListTagsForResource operation. The "output" return
  1228. // value can be used to capture response data after the request's "Send" method
  1229. // is called.
  1230. //
  1231. // Creating a request object using this method should be used when you want to inject
  1232. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1233. // access properties on the request object before or after sending the request. If
  1234. // you just want the service response, call the ListTagsForResource method directly
  1235. // instead.
  1236. //
  1237. // Note: You must call the "Send" method on the returned request object in order
  1238. // to execute the request.
  1239. //
  1240. // // Example sending a request using the ListTagsForResourceRequest method.
  1241. // req, resp := client.ListTagsForResourceRequest(params)
  1242. //
  1243. // err := req.Send()
  1244. // if err == nil { // resp is now filled
  1245. // fmt.Println(resp)
  1246. // }
  1247. //
  1248. func (c *DirectoryService) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  1249. op := &request.Operation{
  1250. Name: opListTagsForResource,
  1251. HTTPMethod: "POST",
  1252. HTTPPath: "/",
  1253. }
  1254. if input == nil {
  1255. input = &ListTagsForResourceInput{}
  1256. }
  1257. req = c.newRequest(op, input, output)
  1258. output = &ListTagsForResourceOutput{}
  1259. req.Data = output
  1260. return
  1261. }
  1262. // Lists all tags on an Amazon Directory Services directory.
  1263. func (c *DirectoryService) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  1264. req, out := c.ListTagsForResourceRequest(input)
  1265. err := req.Send()
  1266. return out, err
  1267. }
  1268. const opRegisterEventTopic = "RegisterEventTopic"
  1269. // RegisterEventTopicRequest generates a "aws/request.Request" representing the
  1270. // client's request for the RegisterEventTopic operation. The "output" return
  1271. // value can be used to capture response data after the request's "Send" method
  1272. // is called.
  1273. //
  1274. // Creating a request object using this method should be used when you want to inject
  1275. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1276. // access properties on the request object before or after sending the request. If
  1277. // you just want the service response, call the RegisterEventTopic method directly
  1278. // instead.
  1279. //
  1280. // Note: You must call the "Send" method on the returned request object in order
  1281. // to execute the request.
  1282. //
  1283. // // Example sending a request using the RegisterEventTopicRequest method.
  1284. // req, resp := client.RegisterEventTopicRequest(params)
  1285. //
  1286. // err := req.Send()
  1287. // if err == nil { // resp is now filled
  1288. // fmt.Println(resp)
  1289. // }
  1290. //
  1291. func (c *DirectoryService) RegisterEventTopicRequest(input *RegisterEventTopicInput) (req *request.Request, output *RegisterEventTopicOutput) {
  1292. op := &request.Operation{
  1293. Name: opRegisterEventTopic,
  1294. HTTPMethod: "POST",
  1295. HTTPPath: "/",
  1296. }
  1297. if input == nil {
  1298. input = &RegisterEventTopicInput{}
  1299. }
  1300. req = c.newRequest(op, input, output)
  1301. output = &RegisterEventTopicOutput{}
  1302. req.Data = output
  1303. return
  1304. }
  1305. // Associates a directory with an SNS topic. This establishes the directory
  1306. // as a publisher to the specified SNS topic. You can then receive email or
  1307. // text (SMS) messages when the status of your directory changes. You get notified
  1308. // if your directory goes from an Active status to an Impaired or Inoperable
  1309. // status. You also receive a notification when the directory returns to an
  1310. // Active status.
  1311. func (c *DirectoryService) RegisterEventTopic(input *RegisterEventTopicInput) (*RegisterEventTopicOutput, error) {
  1312. req, out := c.RegisterEventTopicRequest(input)
  1313. err := req.Send()
  1314. return out, err
  1315. }
  1316. const opRemoveIpRoutes = "RemoveIpRoutes"
  1317. // RemoveIpRoutesRequest generates a "aws/request.Request" representing the
  1318. // client's request for the RemoveIpRoutes operation. The "output" return
  1319. // value can be used to capture response data after the request's "Send" method
  1320. // is called.
  1321. //
  1322. // Creating a request object using this method should be used when you want to inject
  1323. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1324. // access properties on the request object before or after sending the request. If
  1325. // you just want the service response, call the RemoveIpRoutes method directly
  1326. // instead.
  1327. //
  1328. // Note: You must call the "Send" method on the returned request object in order
  1329. // to execute the request.
  1330. //
  1331. // // Example sending a request using the RemoveIpRoutesRequest method.
  1332. // req, resp := client.RemoveIpRoutesRequest(params)
  1333. //
  1334. // err := req.Send()
  1335. // if err == nil { // resp is now filled
  1336. // fmt.Println(resp)
  1337. // }
  1338. //
  1339. func (c *DirectoryService) RemoveIpRoutesRequest(input *RemoveIpRoutesInput) (req *request.Request, output *RemoveIpRoutesOutput) {
  1340. op := &request.Operation{
  1341. Name: opRemoveIpRoutes,
  1342. HTTPMethod: "POST",
  1343. HTTPPath: "/",
  1344. }
  1345. if input == nil {
  1346. input = &RemoveIpRoutesInput{}
  1347. }
  1348. req = c.newRequest(op, input, output)
  1349. output = &RemoveIpRoutesOutput{}
  1350. req.Data = output
  1351. return
  1352. }
  1353. // Removes IP address blocks from a directory.
  1354. func (c *DirectoryService) RemoveIpRoutes(input *RemoveIpRoutesInput) (*RemoveIpRoutesOutput, error) {
  1355. req, out := c.RemoveIpRoutesRequest(input)
  1356. err := req.Send()
  1357. return out, err
  1358. }
  1359. const opRemoveTagsFromResource = "RemoveTagsFromResource"
  1360. // RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the
  1361. // client's request for the RemoveTagsFromResource operation. The "output" return
  1362. // value can be used to capture response data after the request's "Send" method
  1363. // is called.
  1364. //
  1365. // Creating a request object using this method should be used when you want to inject
  1366. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1367. // access properties on the request object before or after sending the request. If
  1368. // you just want the service response, call the RemoveTagsFromResource method directly
  1369. // instead.
  1370. //
  1371. // Note: You must call the "Send" method on the returned request object in order
  1372. // to execute the request.
  1373. //
  1374. // // Example sending a request using the RemoveTagsFromResourceRequest method.
  1375. // req, resp := client.RemoveTagsFromResourceRequest(params)
  1376. //
  1377. // err := req.Send()
  1378. // if err == nil { // resp is now filled
  1379. // fmt.Println(resp)
  1380. // }
  1381. //
  1382. func (c *DirectoryService) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) {
  1383. op := &request.Operation{
  1384. Name: opRemoveTagsFromResource,
  1385. HTTPMethod: "POST",
  1386. HTTPPath: "/",
  1387. }
  1388. if input == nil {
  1389. input = &RemoveTagsFromResourceInput{}
  1390. }
  1391. req = c.newRequest(op, input, output)
  1392. output = &RemoveTagsFromResourceOutput{}
  1393. req.Data = output
  1394. return
  1395. }
  1396. // Removes tags from an Amazon Directory Services directory.
  1397. func (c *DirectoryService) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) {
  1398. req, out := c.RemoveTagsFromResourceRequest(input)
  1399. err := req.Send()
  1400. return out, err
  1401. }
  1402. const opRestoreFromSnapshot = "RestoreFromSnapshot"
  1403. // RestoreFromSnapshotRequest generates a "aws/request.Request" representing the
  1404. // client's request for the RestoreFromSnapshot operation. The "output" return
  1405. // value can be used to capture response data after the request's "Send" method
  1406. // is called.
  1407. //
  1408. // Creating a request object using this method should be used when you want to inject
  1409. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1410. // access properties on the request object before or after sending the request. If
  1411. // you just want the service response, call the RestoreFromSnapshot method directly
  1412. // instead.
  1413. //
  1414. // Note: You must call the "Send" method on the returned request object in order
  1415. // to execute the request.
  1416. //
  1417. // // Example sending a request using the RestoreFromSnapshotRequest method.
  1418. // req, resp := client.RestoreFromSnapshotRequest(params)
  1419. //
  1420. // err := req.Send()
  1421. // if err == nil { // resp is now filled
  1422. // fmt.Println(resp)
  1423. // }
  1424. //
  1425. func (c *DirectoryService) RestoreFromSnapshotRequest(input *RestoreFromSnapshotInput) (req *request.Request, output *RestoreFromSnapshotOutput) {
  1426. op := &request.Operation{
  1427. Name: opRestoreFromSnapshot,
  1428. HTTPMethod: "POST",
  1429. HTTPPath: "/",
  1430. }
  1431. if input == nil {
  1432. input = &RestoreFromSnapshotInput{}
  1433. }
  1434. req = c.newRequest(op, input, output)
  1435. output = &RestoreFromSnapshotOutput{}
  1436. req.Data = output
  1437. return
  1438. }
  1439. // Restores a directory using an existing directory snapshot.
  1440. //
  1441. // When you restore a directory from a snapshot, any changes made to the directory
  1442. // after the snapshot date are overwritten.
  1443. //
  1444. // This action returns as soon as the restore operation is initiated. You can
  1445. // monitor the progress of the restore operation by calling the DescribeDirectories
  1446. // operation with the directory identifier. When the DirectoryDescription.Stage
  1447. // value changes to Active, the restore operation is complete.
  1448. func (c *DirectoryService) RestoreFromSnapshot(input *RestoreFromSnapshotInput) (*RestoreFromSnapshotOutput, error) {
  1449. req, out := c.RestoreFromSnapshotRequest(input)
  1450. err := req.Send()
  1451. return out, err
  1452. }
  1453. const opUpdateConditionalForwarder = "UpdateConditionalForwarder"
  1454. // UpdateConditionalForwarderRequest generates a "aws/request.Request" representing the
  1455. // client's request for the UpdateConditionalForwarder operation. The "output" return
  1456. // value can be used to capture response data after the request's "Send" method
  1457. // is called.
  1458. //
  1459. // Creating a request object using this method should be used when you want to inject
  1460. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1461. // access properties on the request object before or after sending the request. If
  1462. // you just want the service response, call the UpdateConditionalForwarder method directly
  1463. // instead.
  1464. //
  1465. // Note: You must call the "Send" method on the returned request object in order
  1466. // to execute the request.
  1467. //
  1468. // // Example sending a request using the UpdateConditionalForwarderRequest method.
  1469. // req, resp := client.UpdateConditionalForwarderRequest(params)
  1470. //
  1471. // err := req.Send()
  1472. // if err == nil { // resp is now filled
  1473. // fmt.Println(resp)
  1474. // }
  1475. //
  1476. func (c *DirectoryService) UpdateConditionalForwarderRequest(input *UpdateConditionalForwarderInput) (req *request.Request, output *UpdateConditionalForwarderOutput) {
  1477. op := &request.Operation{
  1478. Name: opUpdateConditionalForwarder,
  1479. HTTPMethod: "POST",
  1480. HTTPPath: "/",
  1481. }
  1482. if input == nil {
  1483. input = &UpdateConditionalForwarderInput{}
  1484. }
  1485. req = c.newRequest(op, input, output)
  1486. output = &UpdateConditionalForwarderOutput{}
  1487. req.Data = output
  1488. return
  1489. }
  1490. // Updates a conditional forwarder that has been set up for your AWS directory.
  1491. func (c *DirectoryService) UpdateConditionalForwarder(input *UpdateConditionalForwarderInput) (*UpdateConditionalForwarderOutput, error) {
  1492. req, out := c.UpdateConditionalForwarderRequest(input)
  1493. err := req.Send()
  1494. return out, err
  1495. }
  1496. const opUpdateRadius = "UpdateRadius"
  1497. // UpdateRadiusRequest generates a "aws/request.Request" representing the
  1498. // client's request for the UpdateRadius operation. The "output" return
  1499. // value can be used to capture response data after the request's "Send" method
  1500. // is called.
  1501. //
  1502. // Creating a request object using this method should be used when you want to inject
  1503. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1504. // access properties on the request object before or after sending the request. If
  1505. // you just want the service response, call the UpdateRadius method directly
  1506. // instead.
  1507. //
  1508. // Note: You must call the "Send" method on the returned request object in order
  1509. // to execute the request.
  1510. //
  1511. // // Example sending a request using the UpdateRadiusRequest method.
  1512. // req, resp := client.UpdateRadiusRequest(params)
  1513. //
  1514. // err := req.Send()
  1515. // if err == nil { // resp is now filled
  1516. // fmt.Println(resp)
  1517. // }
  1518. //
  1519. func (c *DirectoryService) UpdateRadiusRequest(input *UpdateRadiusInput) (req *request.Request, output *UpdateRadiusOutput) {
  1520. op := &request.Operation{
  1521. Name: opUpdateRadius,
  1522. HTTPMethod: "POST",
  1523. HTTPPath: "/",
  1524. }
  1525. if input == nil {
  1526. input = &UpdateRadiusInput{}
  1527. }
  1528. req = c.newRequest(op, input, output)
  1529. output = &UpdateRadiusOutput{}
  1530. req.Data = output
  1531. return
  1532. }
  1533. // Updates the Remote Authentication Dial In User Service (RADIUS) server information
  1534. // for an AD Connector directory.
  1535. func (c *DirectoryService) UpdateRadius(input *UpdateRadiusInput) (*UpdateRadiusOutput, error) {
  1536. req, out := c.UpdateRadiusRequest(input)
  1537. err := req.Send()
  1538. return out, err
  1539. }
  1540. const opVerifyTrust = "VerifyTrust"
  1541. // VerifyTrustRequest generates a "aws/request.Request" representing the
  1542. // client's request for the VerifyTrust operation. The "output" return
  1543. // value can be used to capture response data after the request's "Send" method
  1544. // is called.
  1545. //
  1546. // Creating a request object using this method should be used when you want to inject
  1547. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1548. // access properties on the request object before or after sending the request. If
  1549. // you just want the service response, call the VerifyTrust method directly
  1550. // instead.
  1551. //
  1552. // Note: You must call the "Send" method on the returned request object in order
  1553. // to execute the request.
  1554. //
  1555. // // Example sending a request using the VerifyTrustRequest method.
  1556. // req, resp := client.VerifyTrustRequest(params)
  1557. //
  1558. // err := req.Send()
  1559. // if err == nil { // resp is now filled
  1560. // fmt.Println(resp)
  1561. // }
  1562. //
  1563. func (c *DirectoryService) VerifyTrustRequest(input *VerifyTrustInput) (req *request.Request, output *VerifyTrustOutput) {
  1564. op := &request.Operation{
  1565. Name: opVerifyTrust,
  1566. HTTPMethod: "POST",
  1567. HTTPPath: "/",
  1568. }
  1569. if input == nil {
  1570. input = &VerifyTrustInput{}
  1571. }
  1572. req = c.newRequest(op, input, output)
  1573. output = &VerifyTrustOutput{}
  1574. req.Data = output
  1575. return
  1576. }
  1577. // AWS Directory Service for Microsoft Active Directory allows you to configure
  1578. // and verify trust relationships.
  1579. //
  1580. // This action verifies a trust relationship between your Microsoft AD in the
  1581. // AWS cloud and an external domain.
  1582. func (c *DirectoryService) VerifyTrust(input *VerifyTrustInput) (*VerifyTrustOutput, error) {
  1583. req, out := c.VerifyTrustRequest(input)
  1584. err := req.Send()
  1585. return out, err
  1586. }
  1587. type AddIpRoutesInput struct {
  1588. _ struct{} `type:"structure"`
  1589. // Identifier (ID) of the directory to which to add the address block.
  1590. DirectoryId *string `type:"string" required:"true"`
  1591. // IP address blocks, using CIDR format, of the traffic to route. This is often
  1592. // the IP address block of the DNS server used for your on-premises domain.
  1593. IpRoutes []*IpRoute `type:"list" required:"true"`
  1594. // If set to true, updates the inbound and outbound rules of the security group
  1595. // that has the description: "AWS created security group for directory ID directory
  1596. // controllers." Following are the new rules:
  1597. //
  1598. // Inbound:
  1599. //
  1600. // Type: Custom UDP Rule, Protocol: UDP, Range: 88, Source: 0.0.0.0/0
  1601. //
  1602. // Type: Custom UDP Rule, Protocol: UDP, Range: 123, Source: 0.0.0.0/0
  1603. //
  1604. // Type: Custom UDP Rule, Protocol: UDP, Range: 138, Source: 0.0.0.0/0
  1605. //
  1606. // Type: Custom UDP Rule, Protocol: UDP, Range: 389, Source: 0.0.0.0/0
  1607. //
  1608. // Type: Custom UDP Rule, Protocol: UDP, Range: 464, Source: 0.0.0.0/0
  1609. //
  1610. // Type: Custom UDP Rule, Protocol: UDP, Range: 445, Source: 0.0.0.0/0
  1611. //
  1612. // Type: Custom TCP Rule, Protocol: TCP, Range: 88, Source: 0.0.0.0/0
  1613. //
  1614. // Type: Custom TCP Rule, Protocol: TCP, Range: 135, Source: 0.0.0.0/0
  1615. //
  1616. // Type: Custom TCP Rule, Protocol: TCP, Range: 445, Source: 0.0.0.0/0
  1617. //
  1618. // Type: Custom TCP Rule, Protocol: TCP, Range: 464, Source: 0.0.0.0/0
  1619. //
  1620. // Type: Custom TCP Rule, Protocol: TCP, Range: 636, Source: 0.0.0.0/0
  1621. //
  1622. // Type: Custom TCP Rule, Protocol: TCP, Range: 1024-65535, Source: 0.0.0.0/0
  1623. //
  1624. // Type: Custom TCP Rule, Protocol: TCP, Range: 3268-33269, Source: 0.0.0.0/0
  1625. //
  1626. // Type: DNS (UDP), Protocol: UDP, Range: 53, Source: 0.0.0.0/0
  1627. //
  1628. // Type: DNS (TCP), Protocol: TCP, Range: 53, Source: 0.0.0.0/0
  1629. //
  1630. // Type: LDAP, Protocol: TCP, Range: 389, Source: 0.0.0.0/0
  1631. //
  1632. // Type: All ICMP, Protocol: All, Range: N/A, Source: 0.0.0.0/0
  1633. //
  1634. // Outbound:
  1635. //
  1636. // Type: All traffic, Protocol: All, Range: All, Destination: 0.0.0.0/0
  1637. //
  1638. // These security rules impact an internal network interface that is not
  1639. // exposed publicly.
  1640. UpdateSecurityGroupForDirectoryControllers *bool `type:"boolean"`
  1641. }
  1642. // String returns the string representation
  1643. func (s AddIpRoutesInput) String() string {
  1644. return awsutil.Prettify(s)
  1645. }
  1646. // GoString returns the string representation
  1647. func (s AddIpRoutesInput) GoString() string {
  1648. return s.String()
  1649. }
  1650. // Validate inspects the fields of the type to determine if they are valid.
  1651. func (s *AddIpRoutesInput) Validate() error {
  1652. invalidParams := request.ErrInvalidParams{Context: "AddIpRoutesInput"}
  1653. if s.DirectoryId == nil {
  1654. invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  1655. }
  1656. if s.IpRoutes == nil {
  1657. invalidParams.Add(request.NewErrParamRequired("IpRoutes"))
  1658. }
  1659. if invalidParams.Len() > 0 {
  1660. return invalidParams
  1661. }
  1662. return nil
  1663. }
  1664. type AddIpRoutesOutput struct {
  1665. _ struct{} `type:"structure"`
  1666. }
  1667. // String returns the string representation
  1668. func (s AddIpRoutesOutput) String() string {
  1669. return awsutil.Prettify(s)
  1670. }
  1671. // GoString returns the string representation
  1672. func (s AddIpRoutesOutput) GoString() string {
  1673. return s.String()
  1674. }
  1675. type AddTagsToResourceInput struct {
  1676. _ struct{} `type:"structure"`
  1677. // Identifier (ID) for the directory to which to add the tag.
  1678. ResourceId *string `type:"string" required:"true"`
  1679. // The tags to be assigned to the Amazon Directory Services directory.
  1680. Tags []*Tag `type:"list" required:"true"`
  1681. }
  1682. // String returns the string representation
  1683. func (s AddTagsToResourceInput) String() string {
  1684. return awsutil.Prettify(s)
  1685. }
  1686. // GoString returns the string representation
  1687. func (s AddTagsToResourceInput) GoString() string {
  1688. return s.String()
  1689. }
  1690. // Validate inspects the fields of the type to determine if they are valid.
  1691. func (s *AddTagsToResourceInput) Validate() error {
  1692. invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
  1693. if s.ResourceId == nil {
  1694. invalidParams.Add(request.NewErrParamRequired("ResourceId"))
  1695. }
  1696. if s.Tags == nil {
  1697. invalidParams.Add(request.NewErrParamRequired("Tags"))
  1698. }
  1699. if s.Tags != nil {
  1700. for i, v := range s.Tags {
  1701. if v == nil {
  1702. continue
  1703. }
  1704. if err := v.Validate(); err != nil {
  1705. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  1706. }
  1707. }
  1708. }
  1709. if invalidParams.Len() > 0 {
  1710. return invalidParams
  1711. }
  1712. return nil
  1713. }
  1714. type AddTagsToResourceOutput struct {
  1715. _ struct{} `type:"structure"`
  1716. }
  1717. // String returns the string representation
  1718. func (s AddTagsToResourceOutput) String() string {
  1719. return awsutil.Prettify(s)
  1720. }
  1721. // GoString returns the string representation
  1722. func (s AddTagsToResourceOutput) GoString() string {
  1723. return s.String()
  1724. }
  1725. // Represents a named directory attribute.
  1726. type Attribute struct {
  1727. _ struct{} `type:"structure"`
  1728. // The name of the attribute.
  1729. Name *string `min:"1" type:"string"`
  1730. // The value of the attribute.
  1731. Value *string `type:"string"`
  1732. }
  1733. // String returns the string representation
  1734. func (s Attribute) String() string {
  1735. return awsutil.Prettify(s)
  1736. }
  1737. // GoString returns the string representation
  1738. func (s Attribute) GoString() string {
  1739. return s.String()
  1740. }
  1741. // Validate inspects the fields of the type to determine if they are valid.
  1742. func (s *Attribute) Validate() error {
  1743. invalidParams := request.ErrInvalidParams{Context: "Attribute"}
  1744. if s.Name != nil && len(*s.Name) < 1 {
  1745. invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  1746. }
  1747. if invalidParams.Len() > 0 {
  1748. return invalidParams
  1749. }
  1750. return nil
  1751. }
  1752. // Contains information about a computer account in a directory.
  1753. type Computer struct {
  1754. _ struct{} `type:"structure"`
  1755. // An array of Attribute objects containing the LDAP attributes that belong
  1756. // to the computer account.
  1757. ComputerAttributes []*Attribute `type:"list"`
  1758. // The identifier of the computer.
  1759. ComputerId *string `min:"1" type:"string"`
  1760. // The computer name.
  1761. ComputerName *string `min:"1" type:"string"`
  1762. }
  1763. // String returns the string representation
  1764. func (s Computer) String() string {
  1765. return awsutil.Prettify(s)
  1766. }
  1767. // GoString returns the string representation
  1768. func (s Computer) GoString() string {
  1769. return s.String()
  1770. }
  1771. // Points to a remote domain with which you are setting up a trust relationship.
  1772. // Conditional forwarders are required in order to set up a trust relationship
  1773. // with another domain.
  1774. type ConditionalForwarder struct {
  1775. _ struct{} `type:"structure"`
  1776. // The IP addresses of the remote DNS server associated with RemoteDomainName.
  1777. // This is the IP address of the DNS server that your conditional forwarder
  1778. // points to.
  1779. DnsIpAddrs []*string `type:"list"`
  1780. // The fully qualified domain name (FQDN) of the remote domains pointed to by
  1781. // the conditional forwarder.
  1782. RemoteDomainName *string `type:"string"`
  1783. // The replication scope of the conditional forwarder. The only allowed value
  1784. // is Domain, which will replicate the conditional forwarder to all of the domain
  1785. // controllers for your AWS directory.
  1786. ReplicationScope *string `type:"string" enum:"ReplicationScope"`
  1787. }
  1788. // String returns the string representation
  1789. func (s ConditionalForwarder) String() string {
  1790. return awsutil.Prettify(s)
  1791. }
  1792. // GoString returns the string representation
  1793. func (s ConditionalForwarder) GoString() string {
  1794. return s.String()
  1795. }
  1796. // Contains the inputs for the ConnectDirectory operation.
  1797. type ConnectDirectoryInput struct {
  1798. _ struct{} `type:"structure"`
  1799. // A DirectoryConnectSettings object that contains additional information for
  1800. // the operation.
  1801. ConnectSettings *DirectoryConnectSettings `type:"structure" required:"true"`
  1802. // A textual description for the directory.
  1803. Description *string `type:"string"`
  1804. // The fully-qualified name of the on-premises directory, such as corp.example.com.
  1805. Name *string `type:"string" required:"true"`
  1806. // The password for the on-premises user account.
  1807. Password *string `min:"1" type:"string" required:"true"`
  1808. // The NetBIOS name of the on-premises directory, such as CORP.
  1809. ShortName *string `type:"string"`
  1810. // The size of the directory.
  1811. Size *string `type:"string" required:"true" enum:"DirectorySize"`
  1812. }
  1813. // String returns the string representation
  1814. func (s ConnectDirectoryInput) String() string {
  1815. return awsutil.Prettify(s)
  1816. }
  1817. // GoString returns the string representation
  1818. func (s ConnectDirectoryInput) GoString() string {
  1819. return s.String()
  1820. }
  1821. // Validate inspects the fields of the type to determine if they are valid.
  1822. func (s *ConnectDirectoryInput) Validate() error {
  1823. invalidParams := request.ErrInvalidParams{Context: "ConnectDirectoryInput"}
  1824. if s.ConnectSettings == nil {
  1825. invalidParams.Add(request.NewErrParamRequired("ConnectSettings"))
  1826. }
  1827. if s.Name == nil {
  1828. invalidParams.Add(request.NewErrParamRequired("Name"))
  1829. }
  1830. if s.Password == nil {
  1831. invalidParams.Add(request.NewErrParamRequired("Password"))
  1832. }
  1833. if s.Password != nil && len(*s.Password) < 1 {
  1834. invalidParams.Add(request.NewErrParamMinLen("Password", 1))
  1835. }
  1836. if s.Size == nil {
  1837. invalidParams.Add(request.NewErrParamRequired("Size"))
  1838. }
  1839. if s.ConnectSettings != nil {
  1840. if err := s.ConnectSettings.Validate(); err != nil {
  1841. invalidParams.AddNested("ConnectSettings", err.(request.ErrInvalidParams))
  1842. }
  1843. }
  1844. if invalidParams.Len() > 0 {
  1845. return invalidParams
  1846. }
  1847. return nil
  1848. }
  1849. // Contains the results of the ConnectDirectory operation.
  1850. type ConnectDirectoryOutput struct {
  1851. _ struct{} `type:"structure"`
  1852. // The identifier of the new directory.
  1853. DirectoryId *string `type:"string"`
  1854. }
  1855. // String returns the string representation
  1856. func (s ConnectDirectoryOutput) String() string {
  1857. return awsutil.Prettify(s)
  1858. }
  1859. // GoString returns the string representation
  1860. func (s ConnectDirectoryOutput) GoString() string {
  1861. return s.String()
  1862. }
  1863. // Contains the inputs for the CreateAlias operation.
  1864. type CreateAliasInput struct {
  1865. _ struct{} `type:"structure"`
  1866. // The requested alias.
  1867. //
  1868. // The alias must be unique amongst all aliases in AWS. This operation throws
  1869. // an EntityAlreadyExistsException error if the alias already exists.
  1870. Alias *string `min:"1" type:"string" required:"true"`
  1871. // The identifier of the directory for which to create the alias.
  1872. DirectoryId *string `type:"string" required:"true"`
  1873. }
  1874. // String returns the string representation
  1875. func (s CreateAliasInput) String() string {
  1876. return awsutil.Prettify(s)
  1877. }
  1878. // GoString returns the string representation
  1879. func (s CreateAliasInput) GoString() string {
  1880. return s.String()
  1881. }
  1882. // Validate inspects the fields of the type to determine if they are valid.
  1883. func (s *CreateAliasInput) Validate() error {
  1884. invalidParams := request.ErrInvalidParams{Context: "CreateAliasInput"}
  1885. if s.Alias == nil {
  1886. invalidParams.Add(request.NewErrParamRequired("Alias"))
  1887. }
  1888. if s.Alias != nil && len(*s.Alias) < 1 {
  1889. invalidParams.Add(request.NewErrParamMinLen("Alias", 1))
  1890. }
  1891. if s.DirectoryId == nil {
  1892. invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  1893. }
  1894. if invalidParams.Len() > 0 {
  1895. return invalidParams
  1896. }
  1897. return nil
  1898. }
  1899. // Contains the results of the CreateAlias operation.
  1900. type CreateAliasOutput struct {
  1901. _ struct{} `type:"structure"`
  1902. // The alias for the directory.
  1903. Alias *string `min:"1" type:"string"`
  1904. // The identifier of the directory.
  1905. DirectoryId *string `type:"string"`
  1906. }
  1907. // String returns the string representation
  1908. func (s CreateAliasOutput) String() string {
  1909. return awsutil.Prettify(s)
  1910. }
  1911. // GoString returns the string representation
  1912. func (s CreateAliasOutput) GoString() string {
  1913. return s.String()
  1914. }
  1915. // Contains the inputs for the CreateComputer operation.
  1916. type CreateComputerInput struct {
  1917. _ struct{} `type:"structure"`
  1918. // An array of Attribute objects that contain any LDAP attributes to apply to
  1919. // the computer account.
  1920. ComputerAttributes []*Attribute `type:"list"`
  1921. // The name of the computer account.
  1922. ComputerName *string `min:"1" type:"string" required:"true"`
  1923. // The identifier of the directory in which to create the computer account.
  1924. DirectoryId *string `type:"string" required:"true"`
  1925. // The fully-qualified distinguished name of the organizational unit to place
  1926. // the computer account in.
  1927. OrganizationalUnitDistinguishedName *string `min:"1" type:"string"`
  1928. // A one-time password that is used to join the computer to the directory. You
  1929. // should generate a random, strong password to use for this parameter.
  1930. Password *string `min:"8" type:"string" required:"true"`
  1931. }
  1932. // String returns the string representation
  1933. func (s CreateComputerInput) String() string {
  1934. return awsutil.Prettify(s)
  1935. }
  1936. // GoString returns the string representation
  1937. func (s CreateComputerInput) GoString() string {
  1938. return s.String()
  1939. }
  1940. // Validate inspects the fields of the type to determine if they are valid.
  1941. func (s *CreateComputerInput) Validate() error {
  1942. invalidParams := request.ErrInvalidParams{Context: "CreateComputerInput"}
  1943. if s.ComputerName == nil {
  1944. invalidParams.Add(request.NewErrParamRequired("ComputerName"))
  1945. }
  1946. if s.ComputerName != nil && len(*s.ComputerName) < 1 {
  1947. invalidParams.Add(request.NewErrParamMinLen("ComputerName", 1))
  1948. }
  1949. if s.DirectoryId == nil {
  1950. invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  1951. }
  1952. if s.OrganizationalUnitDistinguishedName != nil && len(*s.OrganizationalUnitDistinguishedName) < 1 {
  1953. invalidParams.Add(request.NewErrParamMinLen("OrganizationalUnitDistinguishedName", 1))
  1954. }
  1955. if s.Password == nil {
  1956. invalidParams.Add(request.NewErrParamRequired("Password"))
  1957. }
  1958. if s.Password != nil && len(*s.Password) < 8 {
  1959. invalidParams.Add(request.NewErrParamMinLen("Password", 8))
  1960. }
  1961. if s.ComputerAttributes != nil {
  1962. for i, v := range s.ComputerAttributes {
  1963. if v == nil {
  1964. continue
  1965. }
  1966. if err := v.Validate(); err != nil {
  1967. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComputerAttributes", i), err.(request.ErrInvalidParams))
  1968. }
  1969. }
  1970. }
  1971. if invalidParams.Len() > 0 {
  1972. return invalidParams
  1973. }
  1974. return nil
  1975. }
  1976. // Contains the results for the CreateComputer operation.
  1977. type CreateComputerOutput struct {
  1978. _ struct{} `type:"structure"`
  1979. // A Computer object that represents the computer account.
  1980. Computer *Computer `type:"structure"`
  1981. }
  1982. // String returns the string representation
  1983. func (s CreateComputerOutput) String() string {
  1984. return awsutil.Prettify(s)
  1985. }
  1986. // GoString returns the string representation
  1987. func (s CreateComputerOutput) GoString() string {
  1988. return s.String()
  1989. }
  1990. // Initiates the creation of a conditional forwarder for your AWS Directory
  1991. // Service for Microsoft Active Directory. Conditional forwarders are required
  1992. // in order to set up a trust relationship with another domain.
  1993. type CreateConditionalForwarderInput struct {
  1994. _ struct{} `type:"structure"`
  1995. // The directory ID of the AWS directory for which you are creating the conditional
  1996. // forwarder.
  1997. DirectoryId *string `type:"string" required:"true"`
  1998. // The IP addresses of the remote DNS server associated with RemoteDomainName.
  1999. DnsIpAddrs []*string `type:"list" required:"true"`
  2000. // The fully qualified domain name (FQDN) of the remote domain with which you
  2001. // will set up a trust relationship.
  2002. RemoteDomainName *string `type:"string" required:"true"`
  2003. }
  2004. // String returns the string representation
  2005. func (s CreateConditionalForwarderInput) String() string {
  2006. return awsutil.Prettify(s)
  2007. }
  2008. // GoString returns the string representation
  2009. func (s CreateConditionalForwarderInput) GoString() string {
  2010. return s.String()
  2011. }
  2012. // Validate inspects the fields of the type to determine if they are valid.
  2013. func (s *CreateConditionalForwarderInput) Validate() error {
  2014. invalidParams := request.ErrInvalidParams{Context: "CreateConditionalForwarderInput"}
  2015. if s.DirectoryId == nil {
  2016. invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  2017. }
  2018. if s.DnsIpAddrs == nil {
  2019. invalidParams.Add(request.NewErrParamRequired("DnsIpAddrs"))
  2020. }
  2021. if s.RemoteDomainName == nil {
  2022. invalidParams.Add(request.NewErrParamRequired("RemoteDomainName"))
  2023. }
  2024. if invalidParams.Len() > 0 {
  2025. return invalidParams
  2026. }
  2027. return nil
  2028. }
  2029. // The result of a CreateConditinalForwarder request.
  2030. type CreateConditionalForwarderOutput struct {
  2031. _ struct{} `type:"structure"`
  2032. }
  2033. // String returns the string representation
  2034. func (s CreateConditionalForwarderOutput) String() string {
  2035. return awsutil.Prettify(s)
  2036. }
  2037. // GoString returns the string representation
  2038. func (s CreateConditionalForwarderOutput) GoString() string {
  2039. return s.String()
  2040. }
  2041. // Contains the inputs for the CreateDirectory operation.
  2042. type CreateDirectoryInput struct {
  2043. _ struct{} `type:"structure"`
  2044. // A textual description for the directory.
  2045. Description *string `type:"string"`
  2046. // The fully qualified name for the directory, such as corp.example.com.
  2047. Name *string `type:"string" required:"true"`
  2048. // The password for the directory administrator. The directory creation process
  2049. // creates a directory administrator account with the username Administrator
  2050. // and this password.
  2051. Password *string `type:"string" required:"true"`
  2052. // The short name of the directory, such as CORP.
  2053. ShortName *string `type:"string"`
  2054. // The size of the directory.
  2055. Size *string `type:"string" required:"true" enum:"DirectorySize"`
  2056. // A DirectoryVpcSettings object that contains additional information for the
  2057. // operation.
  2058. VpcSettings *DirectoryVpcSettings `type:"structure"`
  2059. }
  2060. // String returns the string representation
  2061. func (s CreateDirectoryInput) String() string {
  2062. return awsutil.Prettify(s)
  2063. }
  2064. // GoString returns the string representation
  2065. func (s CreateDirectoryInput) GoString() string {
  2066. return s.String()
  2067. }
  2068. // Validate inspects the fields of the type to determine if they are valid.
  2069. func (s *CreateDirectoryInput) Validate() error {
  2070. invalidParams := request.ErrInvalidParams{Context: "CreateDirectoryInput"}
  2071. if s.Name == nil {
  2072. invalidParams.Add(request.NewErrParamRequired("Name"))
  2073. }
  2074. if s.Password == nil {
  2075. invalidParams.Add(request.NewErrParamRequired("Password"))
  2076. }
  2077. if s.Size == nil {
  2078. invalidParams.Add(request.NewErrParamRequired("Size"))
  2079. }
  2080. if s.VpcSettings != nil {
  2081. if err := s.VpcSettings.Validate(); err != nil {
  2082. invalidParams.AddNested("VpcSettings", err.(request.ErrInvalidParams))
  2083. }
  2084. }
  2085. if invalidParams.Len() > 0 {
  2086. return invalidParams
  2087. }
  2088. return nil
  2089. }
  2090. // Contains the results of the CreateDirectory operation.
  2091. type CreateDirectoryOutput struct {
  2092. _ struct{} `type:"structure"`
  2093. // The identifier of the directory that was created.
  2094. DirectoryId *string `type:"string"`
  2095. }
  2096. // String returns the string representation
  2097. func (s CreateDirectoryOutput) String() string {
  2098. return awsutil.Prettify(s)
  2099. }
  2100. // GoString returns the string representation
  2101. func (s CreateDirectoryOutput) GoString() string {
  2102. return s.String()
  2103. }
  2104. // Creates a Microsoft AD in the AWS cloud.
  2105. type CreateMicrosoftADInput struct {
  2106. _ struct{} `type:"structure"`
  2107. // A textual description for the directory. This label will appear on the AWS
  2108. // console Directory Details page after the directory is created.
  2109. Description *string `type:"string"`
  2110. // The fully qualified domain name for the directory, such as corp.example.com.
  2111. // This name will resolve inside your VPC only. It does not need to be publicly
  2112. // resolvable.
  2113. Name *string `type:"string" required:"true"`
  2114. // The password for the default administrative user named Admin.
  2115. Password *string `type:"string" required:"true"`
  2116. // The NetBIOS name for your domain. A short identifier for your domain, such
  2117. // as CORP. If you don't specify a NetBIOS name, it will default to the first
  2118. // part of your directory DNS. For example, CORP for the directory DNS corp.example.com.
  2119. ShortName *string `type:"string"`
  2120. // Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.
  2121. VpcSettings *DirectoryVpcSettings `type:"structure" required:"true"`
  2122. }
  2123. // String returns the string representation
  2124. func (s CreateMicrosoftADInput) String() string {
  2125. return awsutil.Prettify(s)
  2126. }
  2127. // GoString returns the string representation
  2128. func (s CreateMicrosoftADInput) GoString() string {
  2129. return s.String()
  2130. }
  2131. // Validate inspects the fields of the type to determine if they are valid.
  2132. func (s *CreateMicrosoftADInput) Validate() error {
  2133. invalidParams := request.ErrInvalidParams{Context: "CreateMicrosoftADInput"}
  2134. if s.Name == nil {
  2135. invalidParams.Add(request.NewErrParamRequired("Name"))
  2136. }
  2137. if s.Password == nil {
  2138. invalidParams.Add(request.NewErrParamRequired("Password"))
  2139. }
  2140. if s.VpcSettings == nil {
  2141. invalidParams.Add(request.NewErrParamRequired("VpcSettings"))
  2142. }
  2143. if s.VpcSettings != nil {
  2144. if err := s.VpcSettings.Validate(); err != nil {
  2145. invalidParams.AddNested("VpcSettings", err.(request.ErrInvalidParams))
  2146. }
  2147. }
  2148. if invalidParams.Len() > 0 {
  2149. return invalidParams
  2150. }
  2151. return nil
  2152. }
  2153. // Result of a CreateMicrosoftAD request.
  2154. type CreateMicrosoftADOutput struct {
  2155. _ struct{} `type:"structure"`
  2156. // The identifier of the directory that was created.
  2157. DirectoryId *string `type:"string"`
  2158. }
  2159. // String returns the string representation
  2160. func (s CreateMicrosoftADOutput) String() string {
  2161. return awsutil.Prettify(s)
  2162. }
  2163. // GoString returns the string representation
  2164. func (s CreateMicrosoftADOutput) GoString() string {
  2165. return s.String()
  2166. }
  2167. // Contains the inputs for the CreateSnapshot operation.
  2168. type CreateSnapshotInput struct {
  2169. _ struct{} `type:"structure"`
  2170. // The identifier of the directory of which to take a snapshot.
  2171. DirectoryId *string `type:"string" required:"true"`
  2172. // The descriptive name to apply to the snapshot.
  2173. Name *string `type:"string"`
  2174. }
  2175. // String returns the string representation
  2176. func (s CreateSnapshotInput) String() string {
  2177. return awsutil.Prettify(s)
  2178. }
  2179. // GoString returns the string representation
  2180. func (s CreateSnapshotInput) GoString() string {
  2181. return s.String()
  2182. }
  2183. // Validate inspects the fields of the type to determine if they are valid.
  2184. func (s *CreateSnapshotInput) Validate() error {
  2185. invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"}
  2186. if s.DirectoryId == nil {
  2187. invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  2188. }
  2189. if invalidParams.Len() > 0 {
  2190. return invalidParams
  2191. }
  2192. return nil
  2193. }
  2194. // Contains the results of the CreateSnapshot operation.
  2195. type CreateSnapshotOutput struct {
  2196. _ struct{} `type:"structure"`
  2197. // The identifier of the snapshot that was created.
  2198. SnapshotId *string `type:"string"`
  2199. }
  2200. // String returns the string representation
  2201. func (s CreateSnapshotOutput) String() string {
  2202. return awsutil.Prettify(s)
  2203. }
  2204. // GoString returns the string representation
  2205. func (s CreateSnapshotOutput) GoString() string {
  2206. return s.String()
  2207. }
  2208. // AWS Directory Service for Microsoft Active Directory allows you to configure
  2209. // trust relationships. For example, you can establish a trust between your
  2210. // Microsoft AD in the AWS cloud, and your existing on-premises Microsoft Active
  2211. // Directory. This would allow you to provide users and groups access to resources
  2212. // in either domain, with a single set of credentials.
  2213. //
  2214. // This action initiates the creation of the AWS side of a trust relationship
  2215. // between a Microsoft AD in the AWS cloud and an external domain.
  2216. type CreateTrustInput struct {
  2217. _ struct{} `type:"structure"`
  2218. // The IP addresses of the remote DNS server associated with RemoteDomainName.
  2219. ConditionalForwarderIpAddrs []*string `type:"list"`
  2220. // The Directory ID of the Microsoft AD in the AWS cloud for which to establish
  2221. // the trust relationship.
  2222. DirectoryId *string `type:"string" required:"true"`
  2223. // The Fully Qualified Domain Name (FQDN) of the external domain for which to
  2224. // create the trust relationship.
  2225. RemoteDomainName *string `type:"string" required:"true"`
  2226. // The direction of the trust relationship.
  2227. TrustDirection *string `type:"string" required:"true" enum:"TrustDirection"`
  2228. // The trust password. The must be the same password that was used when creating
  2229. // the trust relationship on the external domain.
  2230. TrustPassword *string `min:"1" type:"string" required:"true"`
  2231. // The trust relationship type.
  2232. TrustType *string `type:"string" enum:"TrustType"`
  2233. }
  2234. // String returns the string representation
  2235. func (s CreateTrustInput) String() string {
  2236. return awsutil.Prettify(s)
  2237. }
  2238. // GoString returns the string representation
  2239. func (s CreateTrustInput) GoString() string {
  2240. return s.String()
  2241. }
  2242. // Validate inspects the fields of the type to determine if they are valid.
  2243. func (s *CreateTrustInput) Validate() error {
  2244. invalidParams := request.ErrInvalidParams{Context: "CreateTrustInput"}
  2245. if s.DirectoryId == nil {
  2246. invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  2247. }
  2248. if s.RemoteDomainName == nil {
  2249. invalidParams.Add(request.NewErrParamRequired("RemoteDomainName"))
  2250. }
  2251. if s.TrustDirection == nil {
  2252. invalidParams.Add(request.NewErrParamRequired("TrustDirection"))
  2253. }
  2254. if s.TrustPassword == nil {
  2255. invalidParams.Add(request.NewErrParamRequired("TrustPassword"))
  2256. }
  2257. if s.TrustPassword != nil && len(*s.TrustPassword) < 1 {
  2258. invalidParams.Add(request.NewErrParamMinLen("TrustPassword", 1))
  2259. }
  2260. if invalidParams.Len() > 0 {
  2261. return invalidParams
  2262. }
  2263. return nil
  2264. }
  2265. // The result of a CreateTrust request.
  2266. type CreateTrustOutput struct {
  2267. _ struct{} `type:"structure"`
  2268. // A unique identifier for the trust relationship that was created.
  2269. TrustId *string `type:"string"`
  2270. }
  2271. // String returns the string representation
  2272. func (s CreateTrustOutput) String() string {
  2273. return awsutil.Prettify(s)
  2274. }
  2275. // GoString returns the string representation
  2276. func (s CreateTrustOutput) GoString() string {
  2277. return s.String()
  2278. }
  2279. // Deletes a conditional forwarder.
  2280. type DeleteConditionalForwarderInput struct {
  2281. _ struct{} `type:"structure"`
  2282. // The directory ID for which you are deleting the conditional forwarder.
  2283. DirectoryId *string `type:"string" required:"true"`
  2284. // The fully qualified domain name (FQDN) of the remote domain with which you
  2285. // are deleting the conditional forwarder.
  2286. RemoteDomainName *string `type:"string" required:"true"`
  2287. }
  2288. // String returns the string representation
  2289. func (s DeleteConditionalForwarderInput) String() string {
  2290. return awsutil.Prettify(s)
  2291. }
  2292. // GoString returns the string representation
  2293. func (s DeleteConditionalForwarderInput) GoString() string {
  2294. return s.String()
  2295. }
  2296. // Validate inspects the fields of the type to determine if they are valid.
  2297. func (s *DeleteConditionalForwarderInput) Validate() error {
  2298. invalidParams := request.ErrInvalidParams{Context: "DeleteConditionalForwarderInput"}
  2299. if s.DirectoryId == nil {
  2300. invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  2301. }
  2302. if s.RemoteDomainName == nil {
  2303. invalidParams.Add(request.NewErrParamRequired("RemoteDomainName"))
  2304. }
  2305. if invalidParams.Len() > 0 {
  2306. return invalidParams
  2307. }
  2308. return nil
  2309. }
  2310. // The result of a DeleteConditionalForwarder request.
  2311. type DeleteConditionalForwarderOutput struct {
  2312. _ struct{} `type:"structure"`
  2313. }
  2314. // String returns the string representation
  2315. func (s DeleteConditionalForwarderOutput) String() string {
  2316. return awsutil.Prettify(s)
  2317. }
  2318. // GoString returns the string representation
  2319. func (s DeleteConditionalForwarderOutput) GoString() string {
  2320. return s.String()
  2321. }
  2322. // Contains the inputs for the DeleteDirectory operation.
  2323. type DeleteDirectoryInput struct {
  2324. _ struct{} `type:"structure"`
  2325. // The identifier of the directory to delete.
  2326. DirectoryId *string `type:"string" required:"true"`
  2327. }
  2328. // String returns the string representation
  2329. func (s DeleteDirectoryInput) String() string {
  2330. return awsutil.Prettify(s)
  2331. }
  2332. // GoString returns the string representation
  2333. func (s DeleteDirectoryInput) GoString() string {
  2334. return s.String()
  2335. }
  2336. // Validate inspects the fields of the type to determine if they are valid.
  2337. func (s *DeleteDirectoryInput) Validate() error {
  2338. invalidParams := request.ErrInvalidParams{Context: "DeleteDirectoryInput"}
  2339. if s.DirectoryId == nil {
  2340. invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  2341. }
  2342. if invalidParams.Len() > 0 {
  2343. return invalidParams
  2344. }
  2345. return nil
  2346. }
  2347. // Contains the results of the DeleteDirectory operation.
  2348. type DeleteDirectoryOutput struct {
  2349. _ struct{} `type:"structure"`
  2350. // The directory identifier.
  2351. DirectoryId *string `type:"string"`
  2352. }
  2353. // String returns the string representation
  2354. func (s DeleteDirectoryOutput) String() string {
  2355. return awsutil.Prettify(s)
  2356. }
  2357. // GoString returns the string representation
  2358. func (s DeleteDirectoryOutput) GoString() string {
  2359. return s.String()
  2360. }
  2361. // Contains the inputs for the DeleteSnapshot operation.
  2362. type DeleteSnapshotInput struct {
  2363. _ struct{} `type:"structure"`
  2364. // The identifier of the directory snapshot to be deleted.
  2365. SnapshotId *string `type:"string" required:"true"`
  2366. }
  2367. // String returns the string representation
  2368. func (s DeleteSnapshotInput) String() string {
  2369. return awsutil.Prettify(s)
  2370. }
  2371. // GoString returns the string representation
  2372. func (s DeleteSnapshotInput) GoString() string {
  2373. return s.String()
  2374. }
  2375. // Validate inspects the fields of the type to determine if they are valid.
  2376. func (s *DeleteSnapshotInput) Validate() error {
  2377. invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"}
  2378. if s.SnapshotId == nil {
  2379. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  2380. }
  2381. if invalidParams.Len() > 0 {
  2382. return invalidParams
  2383. }
  2384. return nil
  2385. }
  2386. // Contains the results of the DeleteSnapshot operation.
  2387. type DeleteSnapshotOutput struct {
  2388. _ struct{} `type:"structure"`
  2389. // The identifier of the directory snapshot that was deleted.
  2390. SnapshotId *string `type:"string"`
  2391. }
  2392. // String returns the string representation
  2393. func (s DeleteSnapshotOutput) String() string {
  2394. return awsutil.Prettify(s)
  2395. }
  2396. // GoString returns the string representation
  2397. func (s DeleteSnapshotOutput) GoString() string {
  2398. return s.String()
  2399. }
  2400. // Deletes the local side of an existing trust relationship between the Microsoft
  2401. // AD in the AWS cloud and the external domain.
  2402. type DeleteTrustInput struct {
  2403. _ struct{} `type:"structure"`
  2404. // Delete a conditional forwarder as part of a DeleteTrustRequest.
  2405. DeleteAssociatedConditionalForwarder *bool `type:"boolean"`
  2406. // The Trust ID of the trust relationship to be deleted.
  2407. TrustId *string `type:"string" required:"true"`
  2408. }
  2409. // String returns the string representation
  2410. func (s DeleteTrustInput) String() string {
  2411. return awsutil.Prettify(s)
  2412. }
  2413. // GoString returns the string representation
  2414. func (s DeleteTrustInput) GoString() string {
  2415. return s.String()
  2416. }
  2417. // Validate inspects the fields of the type to determine if they are valid.
  2418. func (s *DeleteTrustInput) Validate() error {
  2419. invalidParams := request.ErrInvalidParams{Context: "DeleteTrustInput"}
  2420. if s.TrustId == nil {
  2421. invalidParams.Add(request.NewErrParamRequired("TrustId"))
  2422. }
  2423. if invalidParams.Len() > 0 {
  2424. return invalidParams
  2425. }
  2426. return nil
  2427. }
  2428. // The result of a DeleteTrust request.
  2429. type DeleteTrustOutput struct {
  2430. _ struct{} `type:"structure"`
  2431. // The Trust ID of the trust relationship that was deleted.
  2432. TrustId *string `type:"string"`
  2433. }
  2434. // String returns the string representation
  2435. func (s DeleteTrustOutput) String() string {
  2436. return awsutil.Prettify(s)
  2437. }
  2438. // GoString returns the string representation
  2439. func (s DeleteTrustOutput) GoString() string {
  2440. return s.String()
  2441. }
  2442. // Removes the specified directory as a publisher to the specified SNS topic.
  2443. type DeregisterEventTopicInput struct {
  2444. _ struct{} `type:"structure"`
  2445. // The Directory ID to remove as a publisher. This directory will no longer
  2446. // send messages to the specified SNS topic.
  2447. DirectoryId *string `type:"string" required:"true"`
  2448. // The name of the SNS topic from which to remove the directory as a publisher.
  2449. TopicName *string `min:"1" type:"string" required:"true"`
  2450. }
  2451. // String returns the string representation
  2452. func (s DeregisterEventTopicInput) String() string {
  2453. return awsutil.Prettify(s)
  2454. }
  2455. // GoString returns the string representation
  2456. func (s DeregisterEventTopicInput) GoString() string {
  2457. return s.String()
  2458. }
  2459. // Validate inspects the fields of the type to determine if they are valid.
  2460. func (s *DeregisterEventTopicInput) Validate() error {
  2461. invalidParams := request.ErrInvalidParams{Context: "DeregisterEventTopicInput"}
  2462. if s.DirectoryId == nil {
  2463. invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  2464. }
  2465. if s.TopicName == nil {
  2466. invalidParams.Add(request.NewErrParamRequired("TopicName"))
  2467. }
  2468. if s.TopicName != nil && len(*s.TopicName) < 1 {
  2469. invalidParams.Add(request.NewErrParamMinLen("TopicName", 1))
  2470. }
  2471. if invalidParams.Len() > 0 {
  2472. return invalidParams
  2473. }
  2474. return nil
  2475. }
  2476. // The result of a DeregisterEventTopic request.
  2477. type DeregisterEventTopicOutput struct {
  2478. _ struct{} `type:"structure"`
  2479. }
  2480. // String returns the string representation
  2481. func (s DeregisterEventTopicOutput) String() string {
  2482. return awsutil.Prettify(s)
  2483. }
  2484. // GoString returns the string representation
  2485. func (s DeregisterEventTopicOutput) GoString() string {
  2486. return s.String()
  2487. }
  2488. // Describes a conditional forwarder.
  2489. type DescribeConditionalForwardersInput struct {
  2490. _ struct{} `type:"structure"`
  2491. // The directory ID for which to get the list of associated conditional forwarders.
  2492. DirectoryId *string `type:"string" required:"true"`
  2493. // The fully qualified domain names (FQDN) of the remote domains for which to
  2494. // get the list of associated conditional forwarders. If this member is null,
  2495. // all conditional forwarders are returned.
  2496. RemoteDomainNames []*string `type:"list"`
  2497. }
  2498. // String returns the string representation
  2499. func (s DescribeConditionalForwardersInput) String() string {
  2500. return awsutil.Prettify(s)
  2501. }
  2502. // GoString returns the string representation
  2503. func (s DescribeConditionalForwardersInput) GoString() string {
  2504. return s.String()
  2505. }
  2506. // Validate inspects the fields of the type to determine if they are valid.
  2507. func (s *DescribeConditionalForwardersInput) Validate() error {
  2508. invalidParams := request.ErrInvalidParams{Context: "DescribeConditionalForwardersInput"}
  2509. if s.DirectoryId == nil {
  2510. invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  2511. }
  2512. if invalidParams.Len() > 0 {
  2513. return invalidParams
  2514. }
  2515. return nil
  2516. }
  2517. // The result of a DescribeConditionalForwarder request.
  2518. type DescribeConditionalForwardersOutput struct {
  2519. _ struct{} `type:"structure"`
  2520. // The list of conditional forwarders that have been created.
  2521. ConditionalForwarders []*ConditionalForwarder `type:"list"`
  2522. }
  2523. // String returns the string representation
  2524. func (s DescribeConditionalForwardersOutput) String() string {
  2525. return awsutil.Prettify(s)
  2526. }
  2527. // GoString returns the string representation
  2528. func (s DescribeConditionalForwardersOutput) GoString() string {
  2529. return s.String()
  2530. }
  2531. // Contains the inputs for the DescribeDirectories operation.
  2532. type DescribeDirectoriesInput struct {
  2533. _ struct{} `type:"structure"`
  2534. // A list of identifiers of the directories for which to obtain the information.
  2535. // If this member is null, all directories that belong to the current account
  2536. // are returned.
  2537. //
  2538. // An empty list results in an InvalidParameterException being thrown.
  2539. DirectoryIds []*string `type:"list"`
  2540. // The maximum number of items to return. If this value is zero, the maximum
  2541. // number of items is specified by the limitations of the operation.
  2542. Limit *int64 `type:"integer"`
  2543. // The DescribeDirectoriesResult.NextToken value from a previous call to DescribeDirectories.
  2544. // Pass null if this is the first call.
  2545. NextToken *string `type:"string"`
  2546. }
  2547. // String returns the string representation
  2548. func (s DescribeDirectoriesInput) String() string {
  2549. return awsutil.Prettify(s)
  2550. }
  2551. // GoString returns the string representation
  2552. func (s DescribeDirectoriesInput) GoString() string {
  2553. return s.String()
  2554. }
  2555. // Contains the results of the DescribeDirectories operation.
  2556. type DescribeDirectoriesOutput struct {
  2557. _ struct{} `type:"structure"`
  2558. // The list of DirectoryDescription objects that were retrieved.
  2559. //
  2560. // It is possible that this list contains less than the number of items specified
  2561. // in the Limit member of the request. This occurs if there are less than the
  2562. // requested number of items left to retrieve, or if the limitations of the
  2563. // operation have been exceeded.
  2564. DirectoryDescriptions []*DirectoryDescription `type:"list"`
  2565. // If not null, more results are available. Pass this value for the NextToken
  2566. // parameter in a subsequent call to DescribeDirectories to retrieve the next
  2567. // set of items.
  2568. NextToken *string `type:"string"`
  2569. }
  2570. // String returns the string representation
  2571. func (s DescribeDirectoriesOutput) String() string {
  2572. return awsutil.Prettify(s)
  2573. }
  2574. // GoString returns the string representation
  2575. func (s DescribeDirectoriesOutput) GoString() string {
  2576. return s.String()
  2577. }
  2578. // Describes event topics.
  2579. type DescribeEventTopicsInput struct {
  2580. _ struct{} `type:"structure"`
  2581. // The Directory ID for which to get the list of associated SNS topics. If this
  2582. // member is null, associations for all Directory IDs are returned.
  2583. DirectoryId *string `type:"string"`
  2584. // A list of SNS topic names for which to obtain the information. If this member
  2585. // is null, all associations for the specified Directory ID are returned.
  2586. //
  2587. // An empty list results in an InvalidParameterException being thrown.
  2588. TopicNames []*string `type:"list"`
  2589. }
  2590. // String returns the string representation
  2591. func (s DescribeEventTopicsInput) String() string {
  2592. return awsutil.Prettify(s)
  2593. }
  2594. // GoString returns the string representation
  2595. func (s DescribeEventTopicsInput) GoString() string {
  2596. return s.String()
  2597. }
  2598. // The result of a DescribeEventTopic request.
  2599. type DescribeEventTopicsOutput struct {
  2600. _ struct{} `type:"structure"`
  2601. // A list of SNS topic names that receive status messages from the specified
  2602. // Directory ID.
  2603. EventTopics []*EventTopic `type:"list"`
  2604. }
  2605. // String returns the string representation
  2606. func (s DescribeEventTopicsOutput) String() string {
  2607. return awsutil.Prettify(s)
  2608. }
  2609. // GoString returns the string representation
  2610. func (s DescribeEventTopicsOutput) GoString() string {
  2611. return s.String()
  2612. }
  2613. // Contains the inputs for the DescribeSnapshots operation.
  2614. type DescribeSnapshotsInput struct {
  2615. _ struct{} `type:"structure"`
  2616. // The identifier of the directory for which to retrieve snapshot information.
  2617. DirectoryId *string `type:"string"`
  2618. // The maximum number of objects to return.
  2619. Limit *int64 `type:"integer"`
  2620. // The DescribeSnapshotsResult.NextToken value from a previous call to DescribeSnapshots.
  2621. // Pass null if this is the first call.
  2622. NextToken *string `type:"string"`
  2623. // A list of identifiers of the snapshots to obtain the information for. If
  2624. // this member is null or empty, all snapshots are returned using the Limit
  2625. // and NextToken members.
  2626. SnapshotIds []*string `type:"list"`
  2627. }
  2628. // String returns the string representation
  2629. func (s DescribeSnapshotsInput) String() string {
  2630. return awsutil.Prettify(s)
  2631. }
  2632. // GoString returns the string representation
  2633. func (s DescribeSnapshotsInput) GoString() string {
  2634. return s.String()
  2635. }
  2636. // Contains the results of the DescribeSnapshots operation.
  2637. type DescribeSnapshotsOutput struct {
  2638. _ struct{} `type:"structure"`
  2639. // If not null, more results are available. Pass this value in the NextToken
  2640. // member of a subsequent call to DescribeSnapshots.
  2641. NextToken *string `type:"string"`
  2642. // The list of Snapshot objects that were retrieved.
  2643. //
  2644. // It is possible that this list contains less than the number of items specified
  2645. // in the Limit member of the request. This occurs if there are less than the
  2646. // requested number of items left to retrieve, or if the limitations of the
  2647. // operation have been exceeded.
  2648. Snapshots []*Snapshot `type:"list"`
  2649. }
  2650. // String returns the string representation
  2651. func (s DescribeSnapshotsOutput) String() string {
  2652. return awsutil.Prettify(s)
  2653. }
  2654. // GoString returns the string representation
  2655. func (s DescribeSnapshotsOutput) GoString() string {
  2656. return s.String()
  2657. }
  2658. // Describes the trust relationships for a particular Microsoft AD in the AWS
  2659. // cloud. If no input parameters are are provided, such as directory ID or trust
  2660. // ID, this request describes all the trust relationships.
  2661. type DescribeTrustsInput struct {
  2662. _ struct{} `type:"structure"`
  2663. // The Directory ID of the AWS directory that is a part of the requested trust
  2664. // relationship.
  2665. DirectoryId *string `type:"string"`
  2666. // The maximum number of objects to return.
  2667. Limit *int64 `type:"integer"`
  2668. // The DescribeTrustsResult.NextToken value from a previous call to DescribeTrusts.
  2669. // Pass null if this is the first call.
  2670. NextToken *string `type:"string"`
  2671. // A list of identifiers of the trust relationships for which to obtain the
  2672. // information. If this member is null, all trust relationships that belong
  2673. // to the current account are returned.
  2674. //
  2675. // An empty list results in an InvalidParameterException being thrown.
  2676. TrustIds []*string `type:"list"`
  2677. }
  2678. // String returns the string representation
  2679. func (s DescribeTrustsInput) String() string {
  2680. return awsutil.Prettify(s)
  2681. }
  2682. // GoString returns the string representation
  2683. func (s DescribeTrustsInput) GoString() string {
  2684. return s.String()
  2685. }
  2686. // The result of a DescribeTrust request.
  2687. type DescribeTrustsOutput struct {
  2688. _ struct{} `type:"structure"`
  2689. // If not null, more results are available. Pass this value for the NextToken
  2690. // parameter in a subsequent call to DescribeTrusts to retrieve the next set
  2691. // of items.
  2692. NextToken *string `type:"string"`
  2693. // The list of Trust objects that were retrieved.
  2694. //
  2695. // It is possible that this list contains less than the number of items specified
  2696. // in the Limit member of the request. This occurs if there are less than the
  2697. // requested number of items left to retrieve, or if the limitations of the
  2698. // operation have been exceeded.
  2699. Trusts []*Trust `type:"list"`
  2700. }
  2701. // String returns the string representation
  2702. func (s DescribeTrustsOutput) String() string {
  2703. return awsutil.Prettify(s)
  2704. }
  2705. // GoString returns the string representation
  2706. func (s DescribeTrustsOutput) GoString() string {
  2707. return s.String()
  2708. }
  2709. // Contains information for the ConnectDirectory operation when an AD Connector
  2710. // directory is being created.
  2711. type DirectoryConnectSettings struct {
  2712. _ struct{} `type:"structure"`
  2713. // A list of one or more IP addresses of DNS servers or domain controllers in
  2714. // the on-premises directory.
  2715. CustomerDnsIps []*string `type:"list" required:"true"`
  2716. // The username of an account in the on-premises directory that is used to connect
  2717. // to the directory. This account must have the following privileges:
  2718. //
  2719. // Read users and groups
  2720. //
  2721. // Create computer objects
  2722. //
  2723. // Join computers to the domain
  2724. CustomerUserName *string `min:"1" type:"string" required:"true"`
  2725. // A list of subnet identifiers in the VPC in which the AD Connector is created.
  2726. SubnetIds []*string `type:"list" required:"true"`
  2727. // The identifier of the VPC in which the AD Connector is created.
  2728. VpcId *string `type:"string" required:"true"`
  2729. }
  2730. // String returns the string representation
  2731. func (s DirectoryConnectSettings) String() string {
  2732. return awsutil.Prettify(s)
  2733. }
  2734. // GoString returns the string representation
  2735. func (s DirectoryConnectSettings) GoString() string {
  2736. return s.String()
  2737. }
  2738. // Validate inspects the fields of the type to determine if they are valid.
  2739. func (s *DirectoryConnectSettings) Validate() error {
  2740. invalidParams := request.ErrInvalidParams{Context: "DirectoryConnectSettings"}
  2741. if s.CustomerDnsIps == nil {
  2742. invalidParams.Add(request.NewErrParamRequired("CustomerDnsIps"))
  2743. }
  2744. if s.CustomerUserName == nil {
  2745. invalidParams.Add(request.NewErrParamRequired("CustomerUserName"))
  2746. }
  2747. if s.CustomerUserName != nil && len(*s.CustomerUserName) < 1 {
  2748. invalidParams.Add(request.NewErrParamMinLen("CustomerUserName", 1))
  2749. }
  2750. if s.SubnetIds == nil {
  2751. invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
  2752. }
  2753. if s.VpcId == nil {
  2754. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  2755. }
  2756. if invalidParams.Len() > 0 {
  2757. return invalidParams
  2758. }
  2759. return nil
  2760. }
  2761. // Contains information about an AD Connector directory.
  2762. type DirectoryConnectSettingsDescription struct {
  2763. _ struct{} `type:"structure"`
  2764. // A list of the Availability Zones that the directory is in.
  2765. AvailabilityZones []*string `type:"list"`
  2766. // The IP addresses of the AD Connector servers.
  2767. ConnectIps []*string `type:"list"`
  2768. // The username of the service account in the on-premises directory.
  2769. CustomerUserName *string `min:"1" type:"string"`
  2770. // The security group identifier for the AD Connector directory.
  2771. SecurityGroupId *string `type:"string"`
  2772. // A list of subnet identifiers in the VPC that the AD connector is in.
  2773. SubnetIds []*string `type:"list"`
  2774. // The identifier of the VPC that the AD Connector is in.
  2775. VpcId *string `type:"string"`
  2776. }
  2777. // String returns the string representation
  2778. func (s DirectoryConnectSettingsDescription) String() string {
  2779. return awsutil.Prettify(s)
  2780. }
  2781. // GoString returns the string representation
  2782. func (s DirectoryConnectSettingsDescription) GoString() string {
  2783. return s.String()
  2784. }
  2785. // Contains information about an AWS Directory Service directory.
  2786. type DirectoryDescription struct {
  2787. _ struct{} `type:"structure"`
  2788. // The access URL for the directory, such as http://<alias>.awsapps.com. If
  2789. // no alias has been created for the directory, <alias> is the directory identifier,
  2790. // such as d-XXXXXXXXXX.
  2791. AccessUrl *string `min:"1" type:"string"`
  2792. // The alias for the directory. If no alias has been created for the directory,
  2793. // the alias is the directory identifier, such as d-XXXXXXXXXX.
  2794. Alias *string `min:"1" type:"string"`
  2795. // A DirectoryConnectSettingsDescription object that contains additional information
  2796. // about an AD Connector directory. This member is only present if the directory
  2797. // is an AD Connector directory.
  2798. ConnectSettings *DirectoryConnectSettingsDescription `type:"structure"`
  2799. // The textual description for the directory.
  2800. Description *string `type:"string"`
  2801. // The directory identifier.
  2802. DirectoryId *string `type:"string"`
  2803. // The IP addresses of the DNS servers for the directory. For a Simple AD or
  2804. // Microsoft AD directory, these are the IP addresses of the Simple AD or Microsoft
  2805. // AD directory servers. For an AD Connector directory, these are the IP addresses
  2806. // of the DNS servers or domain controllers in the on-premises directory to
  2807. // which the AD Connector is connected.
  2808. DnsIpAddrs []*string `type:"list"`
  2809. // Specifies when the directory was created.
  2810. LaunchTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  2811. // The fully-qualified name of the directory.
  2812. Name *string `type:"string"`
  2813. // A RadiusSettings object that contains information about the RADIUS server
  2814. // configured for this directory.
  2815. RadiusSettings *RadiusSettings `type:"structure"`
  2816. // The status of the RADIUS MFA server connection.
  2817. RadiusStatus *string `type:"string" enum:"RadiusStatus"`
  2818. // The short name of the directory.
  2819. ShortName *string `type:"string"`
  2820. // The directory size.
  2821. Size *string `type:"string" enum:"DirectorySize"`
  2822. // Indicates if single-sign on is enabled for the directory. For more information,
  2823. // see EnableSso and DisableSso.
  2824. SsoEnabled *bool `type:"boolean"`
  2825. // The current stage of the directory.
  2826. Stage *string `type:"string" enum:"DirectoryStage"`
  2827. // The date and time that the stage was last updated.
  2828. StageLastUpdatedDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  2829. // Additional information about the directory stage.
  2830. StageReason *string `type:"string"`
  2831. // The directory size.
  2832. Type *string `type:"string" enum:"DirectoryType"`
  2833. // A DirectoryVpcSettingsDescription object that contains additional information
  2834. // about a directory. This member is only present if the directory is a Simple
  2835. // AD or Managed AD directory.
  2836. VpcSettings *DirectoryVpcSettingsDescription `type:"structure"`
  2837. }
  2838. // String returns the string representation
  2839. func (s DirectoryDescription) String() string {
  2840. return awsutil.Prettify(s)
  2841. }
  2842. // GoString returns the string representation
  2843. func (s DirectoryDescription) GoString() string {
  2844. return s.String()
  2845. }
  2846. // Contains directory limit information for a region.
  2847. type DirectoryLimits struct {
  2848. _ struct{} `type:"structure"`
  2849. // The current number of cloud directories in the region.
  2850. CloudOnlyDirectoriesCurrentCount *int64 `type:"integer"`
  2851. // The maximum number of cloud directories allowed in the region.
  2852. CloudOnlyDirectoriesLimit *int64 `type:"integer"`
  2853. // Indicates if the cloud directory limit has been reached.
  2854. CloudOnlyDirectoriesLimitReached *bool `type:"boolean"`
  2855. // The current number of Microsoft AD directories in the region.
  2856. CloudOnlyMicrosoftADCurrentCount *int64 `type:"integer"`
  2857. // The maximum number of Microsoft AD directories allowed in the region.
  2858. CloudOnlyMicrosoftADLimit *int64 `type:"integer"`
  2859. // Indicates if the Microsoft AD directory limit has been reached.
  2860. CloudOnlyMicrosoftADLimitReached *bool `type:"boolean"`
  2861. // The current number of connected directories in the region.
  2862. ConnectedDirectoriesCurrentCount *int64 `type:"integer"`
  2863. // The maximum number of connected directories allowed in the region.
  2864. ConnectedDirectoriesLimit *int64 `type:"integer"`
  2865. // Indicates if the connected directory limit has been reached.
  2866. ConnectedDirectoriesLimitReached *bool `type:"boolean"`
  2867. }
  2868. // String returns the string representation
  2869. func (s DirectoryLimits) String() string {
  2870. return awsutil.Prettify(s)
  2871. }
  2872. // GoString returns the string representation
  2873. func (s DirectoryLimits) GoString() string {
  2874. return s.String()
  2875. }
  2876. // Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.
  2877. type DirectoryVpcSettings struct {
  2878. _ struct{} `type:"structure"`
  2879. // The identifiers of the subnets for the directory servers. The two subnets
  2880. // must be in different Availability Zones. AWS Directory Service creates a
  2881. // directory server and a DNS server in each of these subnets.
  2882. SubnetIds []*string `type:"list" required:"true"`
  2883. // The identifier of the VPC in which to create the directory.
  2884. VpcId *string `type:"string" required:"true"`
  2885. }
  2886. // String returns the string representation
  2887. func (s DirectoryVpcSettings) String() string {
  2888. return awsutil.Prettify(s)
  2889. }
  2890. // GoString returns the string representation
  2891. func (s DirectoryVpcSettings) GoString() string {
  2892. return s.String()
  2893. }
  2894. // Validate inspects the fields of the type to determine if they are valid.
  2895. func (s *DirectoryVpcSettings) Validate() error {
  2896. invalidParams := request.ErrInvalidParams{Context: "DirectoryVpcSettings"}
  2897. if s.SubnetIds == nil {
  2898. invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
  2899. }
  2900. if s.VpcId == nil {
  2901. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  2902. }
  2903. if invalidParams.Len() > 0 {
  2904. return invalidParams
  2905. }
  2906. return nil
  2907. }
  2908. // Contains information about the directory.
  2909. type DirectoryVpcSettingsDescription struct {
  2910. _ struct{} `type:"structure"`
  2911. // The list of Availability Zones that the directory is in.
  2912. AvailabilityZones []*string `type:"list"`
  2913. // The security group identifier for the directory. If the directory was created
  2914. // before 8/1/2014, this is the identifier of the directory members security
  2915. // group that was created when the directory was created. If the directory was
  2916. // created after this date, this value is null.
  2917. SecurityGroupId *string `type:"string"`
  2918. // The identifiers of the subnets for the directory servers.
  2919. SubnetIds []*string `type:"list"`
  2920. // The identifier of the VPC that the directory is in.
  2921. VpcId *string `type:"string"`
  2922. }
  2923. // String returns the string representation
  2924. func (s DirectoryVpcSettingsDescription) String() string {
  2925. return awsutil.Prettify(s)
  2926. }
  2927. // GoString returns the string representation
  2928. func (s DirectoryVpcSettingsDescription) GoString() string {
  2929. return s.String()
  2930. }
  2931. // Contains the inputs for the DisableRadius operation.
  2932. type DisableRadiusInput struct {
  2933. _ struct{} `type:"structure"`
  2934. // The identifier of the directory for which to disable MFA.
  2935. DirectoryId *string `type:"string" required:"true"`
  2936. }
  2937. // String returns the string representation
  2938. func (s DisableRadiusInput) String() string {
  2939. return awsutil.Prettify(s)
  2940. }
  2941. // GoString returns the string representation
  2942. func (s DisableRadiusInput) GoString() string {
  2943. return s.String()
  2944. }
  2945. // Validate inspects the fields of the type to determine if they are valid.
  2946. func (s *DisableRadiusInput) Validate() error {
  2947. invalidParams := request.ErrInvalidParams{Context: "DisableRadiusInput"}
  2948. if s.DirectoryId == nil {
  2949. invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  2950. }
  2951. if invalidParams.Len() > 0 {
  2952. return invalidParams
  2953. }
  2954. return nil
  2955. }
  2956. // Contains the results of the DisableRadius operation.
  2957. type DisableRadiusOutput struct {
  2958. _ struct{} `type:"structure"`
  2959. }
  2960. // String returns the string representation
  2961. func (s DisableRadiusOutput) String() string {
  2962. return awsutil.Prettify(s)
  2963. }
  2964. // GoString returns the string representation
  2965. func (s DisableRadiusOutput) GoString() string {
  2966. return s.String()
  2967. }
  2968. // Contains the inputs for the DisableSso operation.
  2969. type DisableSsoInput struct {
  2970. _ struct{} `type:"structure"`
  2971. // The identifier of the directory for which to disable single-sign on.
  2972. DirectoryId *string `type:"string" required:"true"`
  2973. // The password of an alternate account to use to disable single-sign on. This
  2974. // is only used for AD Connector directories. For more information, see the
  2975. // UserName parameter.
  2976. Password *string `min:"1" type:"string"`
  2977. // The username of an alternate account to use to disable single-sign on. This
  2978. // is only used for AD Connector directories. This account must have privileges
  2979. // to remove a service principal name.
  2980. //
  2981. // If the AD Connector service account does not have privileges to remove a
  2982. // service principal name, you can specify an alternate account with the UserName
  2983. // and Password parameters. These credentials are only used to disable single
  2984. // sign-on and are not stored by the service. The AD Connector service account
  2985. // is not changed.
  2986. UserName *string `min:"1" type:"string"`
  2987. }
  2988. // String returns the string representation
  2989. func (s DisableSsoInput) String() string {
  2990. return awsutil.Prettify(s)
  2991. }
  2992. // GoString returns the string representation
  2993. func (s DisableSsoInput) GoString() string {
  2994. return s.String()
  2995. }
  2996. // Validate inspects the fields of the type to determine if they are valid.
  2997. func (s *DisableSsoInput) Validate() error {
  2998. invalidParams := request.ErrInvalidParams{Context: "DisableSsoInput"}
  2999. if s.DirectoryId == nil {
  3000. invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  3001. }
  3002. if s.Password != nil && len(*s.Password) < 1 {
  3003. invalidParams.Add(request.NewErrParamMinLen("Password", 1))
  3004. }
  3005. if s.UserName != nil && len(*s.UserName) < 1 {
  3006. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  3007. }
  3008. if invalidParams.Len() > 0 {
  3009. return invalidParams
  3010. }
  3011. return nil
  3012. }
  3013. // Contains the results of the DisableSso operation.
  3014. type DisableSsoOutput struct {
  3015. _ struct{} `type:"structure"`
  3016. }
  3017. // String returns the string representation
  3018. func (s DisableSsoOutput) String() string {
  3019. return awsutil.Prettify(s)
  3020. }
  3021. // GoString returns the string representation
  3022. func (s DisableSsoOutput) GoString() string {
  3023. return s.String()
  3024. }
  3025. // Contains the inputs for the EnableRadius operation.
  3026. type EnableRadiusInput struct {
  3027. _ struct{} `type:"structure"`
  3028. // The identifier of the directory for which to enable MFA.
  3029. DirectoryId *string `type:"string" required:"true"`
  3030. // A RadiusSettings object that contains information about the RADIUS server.
  3031. RadiusSettings *RadiusSettings `type:"structure" required:"true"`
  3032. }
  3033. // String returns the string representation
  3034. func (s EnableRadiusInput) String() string {
  3035. return awsutil.Prettify(s)
  3036. }
  3037. // GoString returns the string representation
  3038. func (s EnableRadiusInput) GoString() string {
  3039. return s.String()
  3040. }
  3041. // Validate inspects the fields of the type to determine if they are valid.
  3042. func (s *EnableRadiusInput) Validate() error {
  3043. invalidParams := request.ErrInvalidParams{Context: "EnableRadiusInput"}
  3044. if s.DirectoryId == nil {
  3045. invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  3046. }
  3047. if s.RadiusSettings == nil {
  3048. invalidParams.Add(request.NewErrParamRequired("RadiusSettings"))
  3049. }
  3050. if s.RadiusSettings != nil {
  3051. if err := s.RadiusSettings.Validate(); err != nil {
  3052. invalidParams.AddNested("RadiusSettings", err.(request.ErrInvalidParams))
  3053. }
  3054. }
  3055. if invalidParams.Len() > 0 {
  3056. return invalidParams
  3057. }
  3058. return nil
  3059. }
  3060. // Contains the results of the EnableRadius operation.
  3061. type EnableRadiusOutput struct {
  3062. _ struct{} `type:"structure"`
  3063. }
  3064. // String returns the string representation
  3065. func (s EnableRadiusOutput) String() string {
  3066. return awsutil.Prettify(s)
  3067. }
  3068. // GoString returns the string representation
  3069. func (s EnableRadiusOutput) GoString() string {
  3070. return s.String()
  3071. }
  3072. // Contains the inputs for the EnableSso operation.
  3073. type EnableSsoInput struct {
  3074. _ struct{} `type:"structure"`
  3075. // The identifier of the directory for which to enable single-sign on.
  3076. DirectoryId *string `type:"string" required:"true"`
  3077. // The password of an alternate account to use to enable single-sign on. This
  3078. // is only used for AD Connector directories. For more information, see the
  3079. // UserName parameter.
  3080. Password *string `min:"1" type:"string"`
  3081. // The username of an alternate account to use to enable single-sign on. This
  3082. // is only used for AD Connector directories. This account must have privileges
  3083. // to add a service principal name.
  3084. //
  3085. // If the AD Connector service account does not have privileges to add a service
  3086. // principal name, you can specify an alternate account with the UserName and
  3087. // Password parameters. These credentials are only used to enable single sign-on
  3088. // and are not stored by the service. The AD Connector service account is not
  3089. // changed.
  3090. UserName *string `min:"1" type:"string"`
  3091. }
  3092. // String returns the string representation
  3093. func (s EnableSsoInput) String() string {
  3094. return awsutil.Prettify(s)
  3095. }
  3096. // GoString returns the string representation
  3097. func (s EnableSsoInput) GoString() string {
  3098. return s.String()
  3099. }
  3100. // Validate inspects the fields of the type to determine if they are valid.
  3101. func (s *EnableSsoInput) Validate() error {
  3102. invalidParams := request.ErrInvalidParams{Context: "EnableSsoInput"}
  3103. if s.DirectoryId == nil {
  3104. invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  3105. }
  3106. if s.Password != nil && len(*s.Password) < 1 {
  3107. invalidParams.Add(request.NewErrParamMinLen("Password", 1))
  3108. }
  3109. if s.UserName != nil && len(*s.UserName) < 1 {
  3110. invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
  3111. }
  3112. if invalidParams.Len() > 0 {
  3113. return invalidParams
  3114. }
  3115. return nil
  3116. }
  3117. // Contains the results of the EnableSso operation.
  3118. type EnableSsoOutput struct {
  3119. _ struct{} `type:"structure"`
  3120. }
  3121. // String returns the string representation
  3122. func (s EnableSsoOutput) String() string {
  3123. return awsutil.Prettify(s)
  3124. }
  3125. // GoString returns the string representation
  3126. func (s EnableSsoOutput) GoString() string {
  3127. return s.String()
  3128. }
  3129. // Information about SNS topic and AWS Directory Service directory associations.
  3130. type EventTopic struct {
  3131. _ struct{} `type:"structure"`
  3132. // The date and time of when you associated your directory with the SNS topic.
  3133. CreatedDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  3134. // The Directory ID of an AWS Directory Service directory that will publish
  3135. // status messages to an SNS topic.
  3136. DirectoryId *string `type:"string"`
  3137. // The topic registration status.
  3138. Status *string `type:"string" enum:"TopicStatus"`
  3139. // The SNS topic ARN (Amazon Resource Name).
  3140. TopicArn *string `type:"string"`
  3141. // The name of an AWS SNS topic the receives status messages from the directory.
  3142. TopicName *string `min:"1" type:"string"`
  3143. }
  3144. // String returns the string representation
  3145. func (s EventTopic) String() string {
  3146. return awsutil.Prettify(s)
  3147. }
  3148. // GoString returns the string representation
  3149. func (s EventTopic) GoString() string {
  3150. return s.String()
  3151. }
  3152. // Contains the inputs for the GetDirectoryLimits operation.
  3153. type GetDirectoryLimitsInput struct {
  3154. _ struct{} `type:"structure"`
  3155. }
  3156. // String returns the string representation
  3157. func (s GetDirectoryLimitsInput) String() string {
  3158. return awsutil.Prettify(s)
  3159. }
  3160. // GoString returns the string representation
  3161. func (s GetDirectoryLimitsInput) GoString() string {
  3162. return s.String()
  3163. }
  3164. // Contains the results of the GetDirectoryLimits operation.
  3165. type GetDirectoryLimitsOutput struct {
  3166. _ struct{} `type:"structure"`
  3167. // A DirectoryLimits object that contains the directory limits for the current
  3168. // region.
  3169. DirectoryLimits *DirectoryLimits `type:"structure"`
  3170. }
  3171. // String returns the string representation
  3172. func (s GetDirectoryLimitsOutput) String() string {
  3173. return awsutil.Prettify(s)
  3174. }
  3175. // GoString returns the string representation
  3176. func (s GetDirectoryLimitsOutput) GoString() string {
  3177. return s.String()
  3178. }
  3179. // Contains the inputs for the GetSnapshotLimits operation.
  3180. type GetSnapshotLimitsInput struct {
  3181. _ struct{} `type:"structure"`
  3182. // Contains the identifier of the directory to obtain the limits for.
  3183. DirectoryId *string `type:"string" required:"true"`
  3184. }
  3185. // String returns the string representation
  3186. func (s GetSnapshotLimitsInput) String() string {
  3187. return awsutil.Prettify(s)
  3188. }
  3189. // GoString returns the string representation
  3190. func (s GetSnapshotLimitsInput) GoString() string {
  3191. return s.String()
  3192. }
  3193. // Validate inspects the fields of the type to determine if they are valid.
  3194. func (s *GetSnapshotLimitsInput) Validate() error {
  3195. invalidParams := request.ErrInvalidParams{Context: "GetSnapshotLimitsInput"}
  3196. if s.DirectoryId == nil {
  3197. invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  3198. }
  3199. if invalidParams.Len() > 0 {
  3200. return invalidParams
  3201. }
  3202. return nil
  3203. }
  3204. // Contains the results of the GetSnapshotLimits operation.
  3205. type GetSnapshotLimitsOutput struct {
  3206. _ struct{} `type:"structure"`
  3207. // A SnapshotLimits object that contains the manual snapshot limits for the
  3208. // specified directory.
  3209. SnapshotLimits *SnapshotLimits `type:"structure"`
  3210. }
  3211. // String returns the string representation
  3212. func (s GetSnapshotLimitsOutput) String() string {
  3213. return awsutil.Prettify(s)
  3214. }
  3215. // GoString returns the string representation
  3216. func (s GetSnapshotLimitsOutput) GoString() string {
  3217. return s.String()
  3218. }
  3219. // IP address block. This is often the address block of the DNS server used
  3220. // for your on-premises domain.
  3221. type IpRoute struct {
  3222. _ struct{} `type:"structure"`
  3223. // IP address block using CIDR format, for example 10.0.0.0/24. This is often
  3224. // the address block of the DNS server used for your on-premises domain. For
  3225. // a single IP address use a CIDR address block with /32. For example 10.0.0.0/32.
  3226. CidrIp *string `type:"string"`
  3227. // Description of the address block.
  3228. Description *string `type:"string"`
  3229. }
  3230. // String returns the string representation
  3231. func (s IpRoute) String() string {
  3232. return awsutil.Prettify(s)
  3233. }
  3234. // GoString returns the string representation
  3235. func (s IpRoute) GoString() string {
  3236. return s.String()
  3237. }
  3238. // Information about one or more IP address blocks.
  3239. type IpRouteInfo struct {
  3240. _ struct{} `type:"structure"`
  3241. // The date and time the address block was added to the directory.
  3242. AddedDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  3243. // IP address block in the IpRoute.
  3244. CidrIp *string `type:"string"`
  3245. // Description of the IpRouteInfo.
  3246. Description *string `type:"string"`
  3247. // Identifier (ID) of the directory associated with the IP addresses.
  3248. DirectoryId *string `type:"string"`
  3249. // The status of the IP address block.
  3250. IpRouteStatusMsg *string `type:"string" enum:"IpRouteStatusMsg"`
  3251. // The reason for the IpRouteStatusMsg.
  3252. IpRouteStatusReason *string `type:"string"`
  3253. }
  3254. // String returns the string representation
  3255. func (s IpRouteInfo) String() string {
  3256. return awsutil.Prettify(s)
  3257. }
  3258. // GoString returns the string representation
  3259. func (s IpRouteInfo) GoString() string {
  3260. return s.String()
  3261. }
  3262. type ListIpRoutesInput struct {
  3263. _ struct{} `type:"structure"`
  3264. // Identifier (ID) of the directory for which you want to retrieve the IP addresses.
  3265. DirectoryId *string `type:"string" required:"true"`
  3266. // Maximum number of items to return. If this value is zero, the maximum number
  3267. // of items is specified by the limitations of the operation.
  3268. Limit *int64 `type:"integer"`
  3269. // The ListIpRoutes.NextToken value from a previous call to ListIpRoutes. Pass
  3270. // null if this is the first call.
  3271. NextToken *string `type:"string"`
  3272. }
  3273. // String returns the string representation
  3274. func (s ListIpRoutesInput) String() string {
  3275. return awsutil.Prettify(s)
  3276. }
  3277. // GoString returns the string representation
  3278. func (s ListIpRoutesInput) GoString() string {
  3279. return s.String()
  3280. }
  3281. // Validate inspects the fields of the type to determine if they are valid.
  3282. func (s *ListIpRoutesInput) Validate() error {
  3283. invalidParams := request.ErrInvalidParams{Context: "ListIpRoutesInput"}
  3284. if s.DirectoryId == nil {
  3285. invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  3286. }
  3287. if invalidParams.Len() > 0 {
  3288. return invalidParams
  3289. }
  3290. return nil
  3291. }
  3292. type ListIpRoutesOutput struct {
  3293. _ struct{} `type:"structure"`
  3294. // A list of IpRoutes.
  3295. IpRoutesInfo []*IpRouteInfo `type:"list"`
  3296. // If not null, more results are available. Pass this value for the NextToken
  3297. // parameter in a subsequent call to ListIpRoutes to retrieve the next set of
  3298. // items.
  3299. NextToken *string `type:"string"`
  3300. }
  3301. // String returns the string representation
  3302. func (s ListIpRoutesOutput) String() string {
  3303. return awsutil.Prettify(s)
  3304. }
  3305. // GoString returns the string representation
  3306. func (s ListIpRoutesOutput) GoString() string {
  3307. return s.String()
  3308. }
  3309. type ListTagsForResourceInput struct {
  3310. _ struct{} `type:"structure"`
  3311. // Reserved for future use.
  3312. Limit *int64 `type:"integer"`
  3313. // Reserved for future use.
  3314. NextToken *string `type:"string"`
  3315. // Identifier (ID) of the directory for which you want to retrieve tags.
  3316. ResourceId *string `type:"string" required:"true"`
  3317. }
  3318. // String returns the string representation
  3319. func (s ListTagsForResourceInput) String() string {
  3320. return awsutil.Prettify(s)
  3321. }
  3322. // GoString returns the string representation
  3323. func (s ListTagsForResourceInput) GoString() string {
  3324. return s.String()
  3325. }
  3326. // Validate inspects the fields of the type to determine if they are valid.
  3327. func (s *ListTagsForResourceInput) Validate() error {
  3328. invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  3329. if s.ResourceId == nil {
  3330. invalidParams.Add(request.NewErrParamRequired("ResourceId"))
  3331. }
  3332. if invalidParams.Len() > 0 {
  3333. return invalidParams
  3334. }
  3335. return nil
  3336. }
  3337. type ListTagsForResourceOutput struct {
  3338. _ struct{} `type:"structure"`
  3339. // Reserved for future use.
  3340. NextToken *string `type:"string"`
  3341. // List of tags returned by the ListTagsForResource operation.
  3342. Tags []*Tag `type:"list"`
  3343. }
  3344. // String returns the string representation
  3345. func (s ListTagsForResourceOutput) String() string {
  3346. return awsutil.Prettify(s)
  3347. }
  3348. // GoString returns the string representation
  3349. func (s ListTagsForResourceOutput) GoString() string {
  3350. return s.String()
  3351. }
  3352. // Contains information about a Remote Authentication Dial In User Service (RADIUS)
  3353. // server.
  3354. type RadiusSettings struct {
  3355. _ struct{} `type:"structure"`
  3356. // The protocol specified for your RADIUS endpoints.
  3357. AuthenticationProtocol *string `type:"string" enum:"RadiusAuthenticationProtocol"`
  3358. // Not currently used.
  3359. DisplayLabel *string `min:"1" type:"string"`
  3360. // The port that your RADIUS server is using for communications. Your on-premises
  3361. // network must allow inbound traffic over this port from the AWS Directory
  3362. // Service servers.
  3363. RadiusPort *int64 `min:"1025" type:"integer"`
  3364. // The maximum number of times that communication with the RADIUS server is
  3365. // attempted.
  3366. RadiusRetries *int64 `type:"integer"`
  3367. // An array of strings that contains the IP addresses of the RADIUS server endpoints,
  3368. // or the IP addresses of your RADIUS server load balancer.
  3369. RadiusServers []*string `type:"list"`
  3370. // The amount of time, in seconds, to wait for the RADIUS server to respond.
  3371. RadiusTimeout *int64 `min:"1" type:"integer"`
  3372. // Not currently used.
  3373. SharedSecret *string `min:"8" type:"string"`
  3374. // Not currently used.
  3375. UseSameUsername *bool `type:"boolean"`
  3376. }
  3377. // String returns the string representation
  3378. func (s RadiusSettings) String() string {
  3379. return awsutil.Prettify(s)
  3380. }
  3381. // GoString returns the string representation
  3382. func (s RadiusSettings) GoString() string {
  3383. return s.String()
  3384. }
  3385. // Validate inspects the fields of the type to determine if they are valid.
  3386. func (s *RadiusSettings) Validate() error {
  3387. invalidParams := request.ErrInvalidParams{Context: "RadiusSettings"}
  3388. if s.DisplayLabel != nil && len(*s.DisplayLabel) < 1 {
  3389. invalidParams.Add(request.NewErrParamMinLen("DisplayLabel", 1))
  3390. }
  3391. if s.RadiusPort != nil && *s.RadiusPort < 1025 {
  3392. invalidParams.Add(request.NewErrParamMinValue("RadiusPort", 1025))
  3393. }
  3394. if s.RadiusTimeout != nil && *s.RadiusTimeout < 1 {
  3395. invalidParams.Add(request.NewErrParamMinValue("RadiusTimeout", 1))
  3396. }
  3397. if s.SharedSecret != nil && len(*s.SharedSecret) < 8 {
  3398. invalidParams.Add(request.NewErrParamMinLen("SharedSecret", 8))
  3399. }
  3400. if invalidParams.Len() > 0 {
  3401. return invalidParams
  3402. }
  3403. return nil
  3404. }
  3405. // Registers a new event topic.
  3406. type RegisterEventTopicInput struct {
  3407. _ struct{} `type:"structure"`
  3408. // The Directory ID that will publish status messages to the SNS topic.
  3409. DirectoryId *string `type:"string" required:"true"`
  3410. // The SNS topic name to which the directory will publish status messages. This
  3411. // SNS topic must be in the same region as the specified Directory ID.
  3412. TopicName *string `min:"1" type:"string" required:"true"`
  3413. }
  3414. // String returns the string representation
  3415. func (s RegisterEventTopicInput) String() string {
  3416. return awsutil.Prettify(s)
  3417. }
  3418. // GoString returns the string representation
  3419. func (s RegisterEventTopicInput) GoString() string {
  3420. return s.String()
  3421. }
  3422. // Validate inspects the fields of the type to determine if they are valid.
  3423. func (s *RegisterEventTopicInput) Validate() error {
  3424. invalidParams := request.ErrInvalidParams{Context: "RegisterEventTopicInput"}
  3425. if s.DirectoryId == nil {
  3426. invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  3427. }
  3428. if s.TopicName == nil {
  3429. invalidParams.Add(request.NewErrParamRequired("TopicName"))
  3430. }
  3431. if s.TopicName != nil && len(*s.TopicName) < 1 {
  3432. invalidParams.Add(request.NewErrParamMinLen("TopicName", 1))
  3433. }
  3434. if invalidParams.Len() > 0 {
  3435. return invalidParams
  3436. }
  3437. return nil
  3438. }
  3439. // The result of a RegisterEventTopic request.
  3440. type RegisterEventTopicOutput struct {
  3441. _ struct{} `type:"structure"`
  3442. }
  3443. // String returns the string representation
  3444. func (s RegisterEventTopicOutput) String() string {
  3445. return awsutil.Prettify(s)
  3446. }
  3447. // GoString returns the string representation
  3448. func (s RegisterEventTopicOutput) GoString() string {
  3449. return s.String()
  3450. }
  3451. type RemoveIpRoutesInput struct {
  3452. _ struct{} `type:"structure"`
  3453. // IP address blocks that you want to remove.
  3454. CidrIps []*string `type:"list" required:"true"`
  3455. // Identifier (ID) of the directory from which you want to remove the IP addresses.
  3456. DirectoryId *string `type:"string" required:"true"`
  3457. }
  3458. // String returns the string representation
  3459. func (s RemoveIpRoutesInput) String() string {
  3460. return awsutil.Prettify(s)
  3461. }
  3462. // GoString returns the string representation
  3463. func (s RemoveIpRoutesInput) GoString() string {
  3464. return s.String()
  3465. }
  3466. // Validate inspects the fields of the type to determine if they are valid.
  3467. func (s *RemoveIpRoutesInput) Validate() error {
  3468. invalidParams := request.ErrInvalidParams{Context: "RemoveIpRoutesInput"}
  3469. if s.CidrIps == nil {
  3470. invalidParams.Add(request.NewErrParamRequired("CidrIps"))
  3471. }
  3472. if s.DirectoryId == nil {
  3473. invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  3474. }
  3475. if invalidParams.Len() > 0 {
  3476. return invalidParams
  3477. }
  3478. return nil
  3479. }
  3480. type RemoveIpRoutesOutput struct {
  3481. _ struct{} `type:"structure"`
  3482. }
  3483. // String returns the string representation
  3484. func (s RemoveIpRoutesOutput) String() string {
  3485. return awsutil.Prettify(s)
  3486. }
  3487. // GoString returns the string representation
  3488. func (s RemoveIpRoutesOutput) GoString() string {
  3489. return s.String()
  3490. }
  3491. type RemoveTagsFromResourceInput struct {
  3492. _ struct{} `type:"structure"`
  3493. // Identifier (ID) of the directory from which to remove the tag.
  3494. ResourceId *string `type:"string" required:"true"`
  3495. // The tag key (name) of the tag to be removed.
  3496. TagKeys []*string `type:"list" required:"true"`
  3497. }
  3498. // String returns the string representation
  3499. func (s RemoveTagsFromResourceInput) String() string {
  3500. return awsutil.Prettify(s)
  3501. }
  3502. // GoString returns the string representation
  3503. func (s RemoveTagsFromResourceInput) GoString() string {
  3504. return s.String()
  3505. }
  3506. // Validate inspects the fields of the type to determine if they are valid.
  3507. func (s *RemoveTagsFromResourceInput) Validate() error {
  3508. invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
  3509. if s.ResourceId == nil {
  3510. invalidParams.Add(request.NewErrParamRequired("ResourceId"))
  3511. }
  3512. if s.TagKeys == nil {
  3513. invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  3514. }
  3515. if invalidParams.Len() > 0 {
  3516. return invalidParams
  3517. }
  3518. return nil
  3519. }
  3520. type RemoveTagsFromResourceOutput struct {
  3521. _ struct{} `type:"structure"`
  3522. }
  3523. // String returns the string representation
  3524. func (s RemoveTagsFromResourceOutput) String() string {
  3525. return awsutil.Prettify(s)
  3526. }
  3527. // GoString returns the string representation
  3528. func (s RemoveTagsFromResourceOutput) GoString() string {
  3529. return s.String()
  3530. }
  3531. // An object representing the inputs for the RestoreFromSnapshot operation.
  3532. type RestoreFromSnapshotInput struct {
  3533. _ struct{} `type:"structure"`
  3534. // The identifier of the snapshot to restore from.
  3535. SnapshotId *string `type:"string" required:"true"`
  3536. }
  3537. // String returns the string representation
  3538. func (s RestoreFromSnapshotInput) String() string {
  3539. return awsutil.Prettify(s)
  3540. }
  3541. // GoString returns the string representation
  3542. func (s RestoreFromSnapshotInput) GoString() string {
  3543. return s.String()
  3544. }
  3545. // Validate inspects the fields of the type to determine if they are valid.
  3546. func (s *RestoreFromSnapshotInput) Validate() error {
  3547. invalidParams := request.ErrInvalidParams{Context: "RestoreFromSnapshotInput"}
  3548. if s.SnapshotId == nil {
  3549. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  3550. }
  3551. if invalidParams.Len() > 0 {
  3552. return invalidParams
  3553. }
  3554. return nil
  3555. }
  3556. // Contains the results of the RestoreFromSnapshot operation.
  3557. type RestoreFromSnapshotOutput struct {
  3558. _ struct{} `type:"structure"`
  3559. }
  3560. // String returns the string representation
  3561. func (s RestoreFromSnapshotOutput) String() string {
  3562. return awsutil.Prettify(s)
  3563. }
  3564. // GoString returns the string representation
  3565. func (s RestoreFromSnapshotOutput) GoString() string {
  3566. return s.String()
  3567. }
  3568. // Describes a directory snapshot.
  3569. type Snapshot struct {
  3570. _ struct{} `type:"structure"`
  3571. // The directory identifier.
  3572. DirectoryId *string `type:"string"`
  3573. // The descriptive name of the snapshot.
  3574. Name *string `type:"string"`
  3575. // The snapshot identifier.
  3576. SnapshotId *string `type:"string"`
  3577. // The date and time that the snapshot was taken.
  3578. StartTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  3579. // The snapshot status.
  3580. Status *string `type:"string" enum:"SnapshotStatus"`
  3581. // The snapshot type.
  3582. Type *string `type:"string" enum:"SnapshotType"`
  3583. }
  3584. // String returns the string representation
  3585. func (s Snapshot) String() string {
  3586. return awsutil.Prettify(s)
  3587. }
  3588. // GoString returns the string representation
  3589. func (s Snapshot) GoString() string {
  3590. return s.String()
  3591. }
  3592. // Contains manual snapshot limit information for a directory.
  3593. type SnapshotLimits struct {
  3594. _ struct{} `type:"structure"`
  3595. // The current number of manual snapshots of the directory.
  3596. ManualSnapshotsCurrentCount *int64 `type:"integer"`
  3597. // The maximum number of manual snapshots allowed.
  3598. ManualSnapshotsLimit *int64 `type:"integer"`
  3599. // Indicates if the manual snapshot limit has been reached.
  3600. ManualSnapshotsLimitReached *bool `type:"boolean"`
  3601. }
  3602. // String returns the string representation
  3603. func (s SnapshotLimits) String() string {
  3604. return awsutil.Prettify(s)
  3605. }
  3606. // GoString returns the string representation
  3607. func (s SnapshotLimits) GoString() string {
  3608. return s.String()
  3609. }
  3610. // Metadata assigned to an Amazon Directory Services directory consisting of
  3611. // a key-value pair.
  3612. type Tag struct {
  3613. _ struct{} `type:"structure"`
  3614. // Required name of the tag. The string value can be Unicode characters and
  3615. // cannot be prefixed with "aws:". The string can contain only the set of Unicode
  3616. // letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
  3617. Key *string `min:"1" type:"string" required:"true"`
  3618. // The optional value of the tag. The string value can be Unicode characters.
  3619. // The string can contain only the set of Unicode letters, digits, white-space,
  3620. // '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
  3621. Value *string `type:"string" required:"true"`
  3622. }
  3623. // String returns the string representation
  3624. func (s Tag) String() string {
  3625. return awsutil.Prettify(s)
  3626. }
  3627. // GoString returns the string representation
  3628. func (s Tag) GoString() string {
  3629. return s.String()
  3630. }
  3631. // Validate inspects the fields of the type to determine if they are valid.
  3632. func (s *Tag) Validate() error {
  3633. invalidParams := request.ErrInvalidParams{Context: "Tag"}
  3634. if s.Key == nil {
  3635. invalidParams.Add(request.NewErrParamRequired("Key"))
  3636. }
  3637. if s.Key != nil && len(*s.Key) < 1 {
  3638. invalidParams.Add(request.NewErrParamMinLen("Key", 1))
  3639. }
  3640. if s.Value == nil {
  3641. invalidParams.Add(request.NewErrParamRequired("Value"))
  3642. }
  3643. if invalidParams.Len() > 0 {
  3644. return invalidParams
  3645. }
  3646. return nil
  3647. }
  3648. // Describes a trust relationship between an Microsoft AD in the AWS cloud and
  3649. // an external domain.
  3650. type Trust struct {
  3651. _ struct{} `type:"structure"`
  3652. // The date and time that the trust relationship was created.
  3653. CreatedDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  3654. // The Directory ID of the AWS directory involved in the trust relationship.
  3655. DirectoryId *string `type:"string"`
  3656. // The date and time that the trust relationship was last updated.
  3657. LastUpdatedDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  3658. // The Fully Qualified Domain Name (FQDN) of the external domain involved in
  3659. // the trust relationship.
  3660. RemoteDomainName *string `type:"string"`
  3661. // The date and time that the TrustState was last updated.
  3662. StateLastUpdatedDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
  3663. // The trust relationship direction.
  3664. TrustDirection *string `type:"string" enum:"TrustDirection"`
  3665. // The unique ID of the trust relationship.
  3666. TrustId *string `type:"string"`
  3667. // The trust relationship state.
  3668. TrustState *string `type:"string" enum:"TrustState"`
  3669. // The reason for the TrustState.
  3670. TrustStateReason *string `type:"string"`
  3671. // The trust relationship type.
  3672. TrustType *string `type:"string" enum:"TrustType"`
  3673. }
  3674. // String returns the string representation
  3675. func (s Trust) String() string {
  3676. return awsutil.Prettify(s)
  3677. }
  3678. // GoString returns the string representation
  3679. func (s Trust) GoString() string {
  3680. return s.String()
  3681. }
  3682. // Updates a conditional forwarder.
  3683. type UpdateConditionalForwarderInput struct {
  3684. _ struct{} `type:"structure"`
  3685. // The directory ID of the AWS directory for which to update the conditional
  3686. // forwarder.
  3687. DirectoryId *string `type:"string" required:"true"`
  3688. // The updated IP addresses of the remote DNS server associated with the conditional
  3689. // forwarder.
  3690. DnsIpAddrs []*string `type:"list" required:"true"`
  3691. // The fully qualified domain name (FQDN) of the remote domain with which you
  3692. // will set up a trust relationship.
  3693. RemoteDomainName *string `type:"string" required:"true"`
  3694. }
  3695. // String returns the string representation
  3696. func (s UpdateConditionalForwarderInput) String() string {
  3697. return awsutil.Prettify(s)
  3698. }
  3699. // GoString returns the string representation
  3700. func (s UpdateConditionalForwarderInput) GoString() string {
  3701. return s.String()
  3702. }
  3703. // Validate inspects the fields of the type to determine if they are valid.
  3704. func (s *UpdateConditionalForwarderInput) Validate() error {
  3705. invalidParams := request.ErrInvalidParams{Context: "UpdateConditionalForwarderInput"}
  3706. if s.DirectoryId == nil {
  3707. invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  3708. }
  3709. if s.DnsIpAddrs == nil {
  3710. invalidParams.Add(request.NewErrParamRequired("DnsIpAddrs"))
  3711. }
  3712. if s.RemoteDomainName == nil {
  3713. invalidParams.Add(request.NewErrParamRequired("RemoteDomainName"))
  3714. }
  3715. if invalidParams.Len() > 0 {
  3716. return invalidParams
  3717. }
  3718. return nil
  3719. }
  3720. // The result of an UpdateConditionalForwarder request.
  3721. type UpdateConditionalForwarderOutput struct {
  3722. _ struct{} `type:"structure"`
  3723. }
  3724. // String returns the string representation
  3725. func (s UpdateConditionalForwarderOutput) String() string {
  3726. return awsutil.Prettify(s)
  3727. }
  3728. // GoString returns the string representation
  3729. func (s UpdateConditionalForwarderOutput) GoString() string {
  3730. return s.String()
  3731. }
  3732. // Contains the inputs for the UpdateRadius operation.
  3733. type UpdateRadiusInput struct {
  3734. _ struct{} `type:"structure"`
  3735. // The identifier of the directory for which to update the RADIUS server information.
  3736. DirectoryId *string `type:"string" required:"true"`
  3737. // A RadiusSettings object that contains information about the RADIUS server.
  3738. RadiusSettings *RadiusSettings `type:"structure" required:"true"`
  3739. }
  3740. // String returns the string representation
  3741. func (s UpdateRadiusInput) String() string {
  3742. return awsutil.Prettify(s)
  3743. }
  3744. // GoString returns the string representation
  3745. func (s UpdateRadiusInput) GoString() string {
  3746. return s.String()
  3747. }
  3748. // Validate inspects the fields of the type to determine if they are valid.
  3749. func (s *UpdateRadiusInput) Validate() error {
  3750. invalidParams := request.ErrInvalidParams{Context: "UpdateRadiusInput"}
  3751. if s.DirectoryId == nil {
  3752. invalidParams.Add(request.NewErrParamRequired("DirectoryId"))
  3753. }
  3754. if s.RadiusSettings == nil {
  3755. invalidParams.Add(request.NewErrParamRequired("RadiusSettings"))
  3756. }
  3757. if s.RadiusSettings != nil {
  3758. if err := s.RadiusSettings.Validate(); err != nil {
  3759. invalidParams.AddNested("RadiusSettings", err.(request.ErrInvalidParams))
  3760. }
  3761. }
  3762. if invalidParams.Len() > 0 {
  3763. return invalidParams
  3764. }
  3765. return nil
  3766. }
  3767. // Contains the results of the UpdateRadius operation.
  3768. type UpdateRadiusOutput struct {
  3769. _ struct{} `type:"structure"`
  3770. }
  3771. // String returns the string representation
  3772. func (s UpdateRadiusOutput) String() string {
  3773. return awsutil.Prettify(s)
  3774. }
  3775. // GoString returns the string representation
  3776. func (s UpdateRadiusOutput) GoString() string {
  3777. return s.String()
  3778. }
  3779. // Initiates the verification of an existing trust relationship between a Microsoft
  3780. // AD in the AWS cloud and an external domain.
  3781. type VerifyTrustInput struct {
  3782. _ struct{} `type:"structure"`
  3783. // The unique Trust ID of the trust relationship to verify.
  3784. TrustId *string `type:"string" required:"true"`
  3785. }
  3786. // String returns the string representation
  3787. func (s VerifyTrustInput) String() string {
  3788. return awsutil.Prettify(s)
  3789. }
  3790. // GoString returns the string representation
  3791. func (s VerifyTrustInput) GoString() string {
  3792. return s.String()
  3793. }
  3794. // Validate inspects the fields of the type to determine if they are valid.
  3795. func (s *VerifyTrustInput) Validate() error {
  3796. invalidParams := request.ErrInvalidParams{Context: "VerifyTrustInput"}
  3797. if s.TrustId == nil {
  3798. invalidParams.Add(request.NewErrParamRequired("TrustId"))
  3799. }
  3800. if invalidParams.Len() > 0 {
  3801. return invalidParams
  3802. }
  3803. return nil
  3804. }
  3805. // Result of a VerifyTrust request.
  3806. type VerifyTrustOutput struct {
  3807. _ struct{} `type:"structure"`
  3808. // The unique Trust ID of the trust relationship that was verified.
  3809. TrustId *string `type:"string"`
  3810. }
  3811. // String returns the string representation
  3812. func (s VerifyTrustOutput) String() string {
  3813. return awsutil.Prettify(s)
  3814. }
  3815. // GoString returns the string representation
  3816. func (s VerifyTrustOutput) GoString() string {
  3817. return s.String()
  3818. }
  3819. const (
  3820. // @enum DirectorySize
  3821. DirectorySizeSmall = "Small"
  3822. // @enum DirectorySize
  3823. DirectorySizeLarge = "Large"
  3824. )
  3825. const (
  3826. // @enum DirectoryStage
  3827. DirectoryStageRequested = "Requested"
  3828. // @enum DirectoryStage
  3829. DirectoryStageCreating = "Creating"
  3830. // @enum DirectoryStage
  3831. DirectoryStageCreated = "Created"
  3832. // @enum DirectoryStage
  3833. DirectoryStageActive = "Active"
  3834. // @enum DirectoryStage
  3835. DirectoryStageInoperable = "Inoperable"
  3836. // @enum DirectoryStage
  3837. DirectoryStageImpaired = "Impaired"
  3838. // @enum DirectoryStage
  3839. DirectoryStageRestoring = "Restoring"
  3840. // @enum DirectoryStage
  3841. DirectoryStageRestoreFailed = "RestoreFailed"
  3842. // @enum DirectoryStage
  3843. DirectoryStageDeleting = "Deleting"
  3844. // @enum DirectoryStage
  3845. DirectoryStageDeleted = "Deleted"
  3846. // @enum DirectoryStage
  3847. DirectoryStageFailed = "Failed"
  3848. )
  3849. const (
  3850. // @enum DirectoryType
  3851. DirectoryTypeSimpleAd = "SimpleAD"
  3852. // @enum DirectoryType
  3853. DirectoryTypeAdconnector = "ADConnector"
  3854. // @enum DirectoryType
  3855. DirectoryTypeMicrosoftAd = "MicrosoftAD"
  3856. )
  3857. const (
  3858. // @enum IpRouteStatusMsg
  3859. IpRouteStatusMsgAdding = "Adding"
  3860. // @enum IpRouteStatusMsg
  3861. IpRouteStatusMsgAdded = "Added"
  3862. // @enum IpRouteStatusMsg
  3863. IpRouteStatusMsgRemoving = "Removing"
  3864. // @enum IpRouteStatusMsg
  3865. IpRouteStatusMsgRemoved = "Removed"
  3866. // @enum IpRouteStatusMsg
  3867. IpRouteStatusMsgAddFailed = "AddFailed"
  3868. // @enum IpRouteStatusMsg
  3869. IpRouteStatusMsgRemoveFailed = "RemoveFailed"
  3870. )
  3871. const (
  3872. // @enum RadiusAuthenticationProtocol
  3873. RadiusAuthenticationProtocolPap = "PAP"
  3874. // @enum RadiusAuthenticationProtocol
  3875. RadiusAuthenticationProtocolChap = "CHAP"
  3876. // @enum RadiusAuthenticationProtocol
  3877. RadiusAuthenticationProtocolMsChapv1 = "MS-CHAPv1"
  3878. // @enum RadiusAuthenticationProtocol
  3879. RadiusAuthenticationProtocolMsChapv2 = "MS-CHAPv2"
  3880. )
  3881. const (
  3882. // @enum RadiusStatus
  3883. RadiusStatusCreating = "Creating"
  3884. // @enum RadiusStatus
  3885. RadiusStatusCompleted = "Completed"
  3886. // @enum RadiusStatus
  3887. RadiusStatusFailed = "Failed"
  3888. )
  3889. const (
  3890. // @enum ReplicationScope
  3891. ReplicationScopeDomain = "Domain"
  3892. )
  3893. const (
  3894. // @enum SnapshotStatus
  3895. SnapshotStatusCreating = "Creating"
  3896. // @enum SnapshotStatus
  3897. SnapshotStatusCompleted = "Completed"
  3898. // @enum SnapshotStatus
  3899. SnapshotStatusFailed = "Failed"
  3900. )
  3901. const (
  3902. // @enum SnapshotType
  3903. SnapshotTypeAuto = "Auto"
  3904. // @enum SnapshotType
  3905. SnapshotTypeManual = "Manual"
  3906. )
  3907. const (
  3908. // @enum TopicStatus
  3909. TopicStatusRegistered = "Registered"
  3910. // @enum TopicStatus
  3911. TopicStatusTopicnotfound = "Topic not found"
  3912. // @enum TopicStatus
  3913. TopicStatusFailed = "Failed"
  3914. // @enum TopicStatus
  3915. TopicStatusDeleted = "Deleted"
  3916. )
  3917. const (
  3918. // @enum TrustDirection
  3919. TrustDirectionOneWayOutgoing = "One-Way: Outgoing"
  3920. // @enum TrustDirection
  3921. TrustDirectionOneWayIncoming = "One-Way: Incoming"
  3922. // @enum TrustDirection
  3923. TrustDirectionTwoWay = "Two-Way"
  3924. )
  3925. const (
  3926. // @enum TrustState
  3927. TrustStateCreating = "Creating"
  3928. // @enum TrustState
  3929. TrustStateCreated = "Created"
  3930. // @enum TrustState
  3931. TrustStateVerifying = "Verifying"
  3932. // @enum TrustState
  3933. TrustStateVerifyFailed = "VerifyFailed"
  3934. // @enum TrustState
  3935. TrustStateVerified = "Verified"
  3936. // @enum TrustState
  3937. TrustStateDeleting = "Deleting"
  3938. // @enum TrustState
  3939. TrustStateDeleted = "Deleted"
  3940. // @enum TrustState
  3941. TrustStateFailed = "Failed"
  3942. )
  3943. const (
  3944. // @enum TrustType
  3945. TrustTypeForest = "Forest"
  3946. )