| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739 |
- // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
- // Package sns provides a client for Amazon Simple Notification Service.
- package sns
- import (
- "fmt"
- "github.com/aws/aws-sdk-go/aws/awsutil"
- "github.com/aws/aws-sdk-go/aws/request"
- "github.com/aws/aws-sdk-go/private/protocol"
- "github.com/aws/aws-sdk-go/private/protocol/query"
- )
- const opAddPermission = "AddPermission"
- // AddPermissionRequest generates a "aws/request.Request" representing the
- // client's request for the AddPermission operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the AddPermission method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the AddPermissionRequest method.
- // req, resp := client.AddPermissionRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) AddPermissionRequest(input *AddPermissionInput) (req *request.Request, output *AddPermissionOutput) {
- op := &request.Operation{
- Name: opAddPermission,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &AddPermissionInput{}
- }
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
- req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
- output = &AddPermissionOutput{}
- req.Data = output
- return
- }
- // Adds a statement to a topic's access control policy, granting access for
- // the specified AWS accounts to the specified actions.
- func (c *SNS) AddPermission(input *AddPermissionInput) (*AddPermissionOutput, error) {
- req, out := c.AddPermissionRequest(input)
- err := req.Send()
- return out, err
- }
- const opCheckIfPhoneNumberIsOptedOut = "CheckIfPhoneNumberIsOptedOut"
- // CheckIfPhoneNumberIsOptedOutRequest generates a "aws/request.Request" representing the
- // client's request for the CheckIfPhoneNumberIsOptedOut operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the CheckIfPhoneNumberIsOptedOut method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the CheckIfPhoneNumberIsOptedOutRequest method.
- // req, resp := client.CheckIfPhoneNumberIsOptedOutRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) CheckIfPhoneNumberIsOptedOutRequest(input *CheckIfPhoneNumberIsOptedOutInput) (req *request.Request, output *CheckIfPhoneNumberIsOptedOutOutput) {
- op := &request.Operation{
- Name: opCheckIfPhoneNumberIsOptedOut,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &CheckIfPhoneNumberIsOptedOutInput{}
- }
- req = c.newRequest(op, input, output)
- output = &CheckIfPhoneNumberIsOptedOutOutput{}
- req.Data = output
- return
- }
- // Accepts a phone number and indicates whether the phone holder has opted out
- // of receiving SMS messages from your account. You cannot send SMS messages
- // to a number that is opted out.
- //
- // To resume sending messages, you can opt in the number by using the OptInPhoneNumber
- // action.
- func (c *SNS) CheckIfPhoneNumberIsOptedOut(input *CheckIfPhoneNumberIsOptedOutInput) (*CheckIfPhoneNumberIsOptedOutOutput, error) {
- req, out := c.CheckIfPhoneNumberIsOptedOutRequest(input)
- err := req.Send()
- return out, err
- }
- const opConfirmSubscription = "ConfirmSubscription"
- // ConfirmSubscriptionRequest generates a "aws/request.Request" representing the
- // client's request for the ConfirmSubscription operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the ConfirmSubscription method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the ConfirmSubscriptionRequest method.
- // req, resp := client.ConfirmSubscriptionRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) ConfirmSubscriptionRequest(input *ConfirmSubscriptionInput) (req *request.Request, output *ConfirmSubscriptionOutput) {
- op := &request.Operation{
- Name: opConfirmSubscription,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &ConfirmSubscriptionInput{}
- }
- req = c.newRequest(op, input, output)
- output = &ConfirmSubscriptionOutput{}
- req.Data = output
- return
- }
- // Verifies an endpoint owner's intent to receive messages by validating the
- // token sent to the endpoint by an earlier Subscribe action. If the token is
- // valid, the action creates a new subscription and returns its Amazon Resource
- // Name (ARN). This call requires an AWS signature only when the AuthenticateOnUnsubscribe
- // flag is set to "true".
- func (c *SNS) ConfirmSubscription(input *ConfirmSubscriptionInput) (*ConfirmSubscriptionOutput, error) {
- req, out := c.ConfirmSubscriptionRequest(input)
- err := req.Send()
- return out, err
- }
- const opCreatePlatformApplication = "CreatePlatformApplication"
- // CreatePlatformApplicationRequest generates a "aws/request.Request" representing the
- // client's request for the CreatePlatformApplication operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the CreatePlatformApplication method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the CreatePlatformApplicationRequest method.
- // req, resp := client.CreatePlatformApplicationRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) CreatePlatformApplicationRequest(input *CreatePlatformApplicationInput) (req *request.Request, output *CreatePlatformApplicationOutput) {
- op := &request.Operation{
- Name: opCreatePlatformApplication,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &CreatePlatformApplicationInput{}
- }
- req = c.newRequest(op, input, output)
- output = &CreatePlatformApplicationOutput{}
- req.Data = output
- return
- }
- // Creates a platform application object for one of the supported push notification
- // services, such as APNS and GCM, to which devices and mobile apps may register.
- // You must specify PlatformPrincipal and PlatformCredential attributes when
- // using the CreatePlatformApplication action. The PlatformPrincipal is received
- // from the notification service. For APNS/APNS_SANDBOX, PlatformPrincipal is
- // "SSL certificate". For GCM, PlatformPrincipal is not applicable. For ADM,
- // PlatformPrincipal is "client id". The PlatformCredential is also received
- // from the notification service. For WNS, PlatformPrincipal is "Package Security
- // Identifier". For MPNS, PlatformPrincipal is "TLS certificate". For Baidu,
- // PlatformPrincipal is "API key".
- //
- // For APNS/APNS_SANDBOX, PlatformCredential is "private key". For GCM, PlatformCredential
- // is "API key". For ADM, PlatformCredential is "client secret". For WNS, PlatformCredential
- // is "secret key". For MPNS, PlatformCredential is "private key". For Baidu,
- // PlatformCredential is "secret key". The PlatformApplicationArn that is returned
- // when using CreatePlatformApplication is then used as an attribute for the
- // CreatePlatformEndpoint action. For more information, see Using Amazon SNS
- // Mobile Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html).
- // For more information about obtaining the PlatformPrincipal and PlatformCredential
- // for each of the supported push notification services, see Getting Started
- // with Apple Push Notification Service (http://docs.aws.amazon.com/sns/latest/dg/mobile-push-apns.html),
- // Getting Started with Amazon Device Messaging (http://docs.aws.amazon.com/sns/latest/dg/mobile-push-adm.html),
- // Getting Started with Baidu Cloud Push (http://docs.aws.amazon.com/sns/latest/dg/mobile-push-baidu.html),
- // Getting Started with Google Cloud Messaging for Android (http://docs.aws.amazon.com/sns/latest/dg/mobile-push-gcm.html),
- // Getting Started with MPNS (http://docs.aws.amazon.com/sns/latest/dg/mobile-push-mpns.html),
- // or Getting Started with WNS (http://docs.aws.amazon.com/sns/latest/dg/mobile-push-wns.html).
- func (c *SNS) CreatePlatformApplication(input *CreatePlatformApplicationInput) (*CreatePlatformApplicationOutput, error) {
- req, out := c.CreatePlatformApplicationRequest(input)
- err := req.Send()
- return out, err
- }
- const opCreatePlatformEndpoint = "CreatePlatformEndpoint"
- // CreatePlatformEndpointRequest generates a "aws/request.Request" representing the
- // client's request for the CreatePlatformEndpoint operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the CreatePlatformEndpoint method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the CreatePlatformEndpointRequest method.
- // req, resp := client.CreatePlatformEndpointRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) CreatePlatformEndpointRequest(input *CreatePlatformEndpointInput) (req *request.Request, output *CreatePlatformEndpointOutput) {
- op := &request.Operation{
- Name: opCreatePlatformEndpoint,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &CreatePlatformEndpointInput{}
- }
- req = c.newRequest(op, input, output)
- output = &CreatePlatformEndpointOutput{}
- req.Data = output
- return
- }
- // Creates an endpoint for a device and mobile app on one of the supported push
- // notification services, such as GCM and APNS. CreatePlatformEndpoint requires
- // the PlatformApplicationArn that is returned from CreatePlatformApplication.
- // The EndpointArn that is returned when using CreatePlatformEndpoint can then
- // be used by the Publish action to send a message to a mobile app or by the
- // Subscribe action for subscription to a topic. The CreatePlatformEndpoint
- // action is idempotent, so if the requester already owns an endpoint with the
- // same device token and attributes, that endpoint's ARN is returned without
- // creating a new endpoint. For more information, see Using Amazon SNS Mobile
- // Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html).
- //
- // When using CreatePlatformEndpoint with Baidu, two attributes must be provided:
- // ChannelId and UserId. The token field must also contain the ChannelId. For
- // more information, see Creating an Amazon SNS Endpoint for Baidu (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePushBaiduEndpoint.html).
- func (c *SNS) CreatePlatformEndpoint(input *CreatePlatformEndpointInput) (*CreatePlatformEndpointOutput, error) {
- req, out := c.CreatePlatformEndpointRequest(input)
- err := req.Send()
- return out, err
- }
- const opCreateTopic = "CreateTopic"
- // CreateTopicRequest generates a "aws/request.Request" representing the
- // client's request for the CreateTopic operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the CreateTopic method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the CreateTopicRequest method.
- // req, resp := client.CreateTopicRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) CreateTopicRequest(input *CreateTopicInput) (req *request.Request, output *CreateTopicOutput) {
- op := &request.Operation{
- Name: opCreateTopic,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &CreateTopicInput{}
- }
- req = c.newRequest(op, input, output)
- output = &CreateTopicOutput{}
- req.Data = output
- return
- }
- // Creates a topic to which notifications can be published. Users can create
- // at most 100,000 topics. For more information, see http://aws.amazon.com/sns
- // (http://aws.amazon.com/sns/). This action is idempotent, so if the requester
- // already owns a topic with the specified name, that topic's ARN is returned
- // without creating a new topic.
- func (c *SNS) CreateTopic(input *CreateTopicInput) (*CreateTopicOutput, error) {
- req, out := c.CreateTopicRequest(input)
- err := req.Send()
- return out, err
- }
- const opDeleteEndpoint = "DeleteEndpoint"
- // DeleteEndpointRequest generates a "aws/request.Request" representing the
- // client's request for the DeleteEndpoint operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DeleteEndpoint method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the DeleteEndpointRequest method.
- // req, resp := client.DeleteEndpointRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) DeleteEndpointRequest(input *DeleteEndpointInput) (req *request.Request, output *DeleteEndpointOutput) {
- op := &request.Operation{
- Name: opDeleteEndpoint,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeleteEndpointInput{}
- }
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
- req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
- output = &DeleteEndpointOutput{}
- req.Data = output
- return
- }
- // Deletes the endpoint for a device and mobile app from Amazon SNS. This action
- // is idempotent. For more information, see Using Amazon SNS Mobile Push Notifications
- // (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html).
- //
- // When you delete an endpoint that is also subscribed to a topic, then you
- // must also unsubscribe the endpoint from the topic.
- func (c *SNS) DeleteEndpoint(input *DeleteEndpointInput) (*DeleteEndpointOutput, error) {
- req, out := c.DeleteEndpointRequest(input)
- err := req.Send()
- return out, err
- }
- const opDeletePlatformApplication = "DeletePlatformApplication"
- // DeletePlatformApplicationRequest generates a "aws/request.Request" representing the
- // client's request for the DeletePlatformApplication operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DeletePlatformApplication method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the DeletePlatformApplicationRequest method.
- // req, resp := client.DeletePlatformApplicationRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) DeletePlatformApplicationRequest(input *DeletePlatformApplicationInput) (req *request.Request, output *DeletePlatformApplicationOutput) {
- op := &request.Operation{
- Name: opDeletePlatformApplication,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeletePlatformApplicationInput{}
- }
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
- req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
- output = &DeletePlatformApplicationOutput{}
- req.Data = output
- return
- }
- // Deletes a platform application object for one of the supported push notification
- // services, such as APNS and GCM. For more information, see Using Amazon SNS
- // Mobile Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html).
- func (c *SNS) DeletePlatformApplication(input *DeletePlatformApplicationInput) (*DeletePlatformApplicationOutput, error) {
- req, out := c.DeletePlatformApplicationRequest(input)
- err := req.Send()
- return out, err
- }
- const opDeleteTopic = "DeleteTopic"
- // DeleteTopicRequest generates a "aws/request.Request" representing the
- // client's request for the DeleteTopic operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DeleteTopic method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the DeleteTopicRequest method.
- // req, resp := client.DeleteTopicRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) DeleteTopicRequest(input *DeleteTopicInput) (req *request.Request, output *DeleteTopicOutput) {
- op := &request.Operation{
- Name: opDeleteTopic,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DeleteTopicInput{}
- }
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
- req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
- output = &DeleteTopicOutput{}
- req.Data = output
- return
- }
- // Deletes a topic and all its subscriptions. Deleting a topic might prevent
- // some messages previously sent to the topic from being delivered to subscribers.
- // This action is idempotent, so deleting a topic that does not exist does not
- // result in an error.
- func (c *SNS) DeleteTopic(input *DeleteTopicInput) (*DeleteTopicOutput, error) {
- req, out := c.DeleteTopicRequest(input)
- err := req.Send()
- return out, err
- }
- const opGetEndpointAttributes = "GetEndpointAttributes"
- // GetEndpointAttributesRequest generates a "aws/request.Request" representing the
- // client's request for the GetEndpointAttributes operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the GetEndpointAttributes method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the GetEndpointAttributesRequest method.
- // req, resp := client.GetEndpointAttributesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) GetEndpointAttributesRequest(input *GetEndpointAttributesInput) (req *request.Request, output *GetEndpointAttributesOutput) {
- op := &request.Operation{
- Name: opGetEndpointAttributes,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &GetEndpointAttributesInput{}
- }
- req = c.newRequest(op, input, output)
- output = &GetEndpointAttributesOutput{}
- req.Data = output
- return
- }
- // Retrieves the endpoint attributes for a device on one of the supported push
- // notification services, such as GCM and APNS. For more information, see Using
- // Amazon SNS Mobile Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html).
- func (c *SNS) GetEndpointAttributes(input *GetEndpointAttributesInput) (*GetEndpointAttributesOutput, error) {
- req, out := c.GetEndpointAttributesRequest(input)
- err := req.Send()
- return out, err
- }
- const opGetPlatformApplicationAttributes = "GetPlatformApplicationAttributes"
- // GetPlatformApplicationAttributesRequest generates a "aws/request.Request" representing the
- // client's request for the GetPlatformApplicationAttributes operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the GetPlatformApplicationAttributes method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the GetPlatformApplicationAttributesRequest method.
- // req, resp := client.GetPlatformApplicationAttributesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) GetPlatformApplicationAttributesRequest(input *GetPlatformApplicationAttributesInput) (req *request.Request, output *GetPlatformApplicationAttributesOutput) {
- op := &request.Operation{
- Name: opGetPlatformApplicationAttributes,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &GetPlatformApplicationAttributesInput{}
- }
- req = c.newRequest(op, input, output)
- output = &GetPlatformApplicationAttributesOutput{}
- req.Data = output
- return
- }
- // Retrieves the attributes of the platform application object for the supported
- // push notification services, such as APNS and GCM. For more information, see
- // Using Amazon SNS Mobile Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html).
- func (c *SNS) GetPlatformApplicationAttributes(input *GetPlatformApplicationAttributesInput) (*GetPlatformApplicationAttributesOutput, error) {
- req, out := c.GetPlatformApplicationAttributesRequest(input)
- err := req.Send()
- return out, err
- }
- const opGetSMSAttributes = "GetSMSAttributes"
- // GetSMSAttributesRequest generates a "aws/request.Request" representing the
- // client's request for the GetSMSAttributes operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the GetSMSAttributes method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the GetSMSAttributesRequest method.
- // req, resp := client.GetSMSAttributesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) GetSMSAttributesRequest(input *GetSMSAttributesInput) (req *request.Request, output *GetSMSAttributesOutput) {
- op := &request.Operation{
- Name: opGetSMSAttributes,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &GetSMSAttributesInput{}
- }
- req = c.newRequest(op, input, output)
- output = &GetSMSAttributesOutput{}
- req.Data = output
- return
- }
- // Returns the settings for sending SMS messages from your account.
- //
- // These settings are set with the SetSMSAttributes action.
- func (c *SNS) GetSMSAttributes(input *GetSMSAttributesInput) (*GetSMSAttributesOutput, error) {
- req, out := c.GetSMSAttributesRequest(input)
- err := req.Send()
- return out, err
- }
- const opGetSubscriptionAttributes = "GetSubscriptionAttributes"
- // GetSubscriptionAttributesRequest generates a "aws/request.Request" representing the
- // client's request for the GetSubscriptionAttributes operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the GetSubscriptionAttributes method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the GetSubscriptionAttributesRequest method.
- // req, resp := client.GetSubscriptionAttributesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) GetSubscriptionAttributesRequest(input *GetSubscriptionAttributesInput) (req *request.Request, output *GetSubscriptionAttributesOutput) {
- op := &request.Operation{
- Name: opGetSubscriptionAttributes,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &GetSubscriptionAttributesInput{}
- }
- req = c.newRequest(op, input, output)
- output = &GetSubscriptionAttributesOutput{}
- req.Data = output
- return
- }
- // Returns all of the properties of a subscription.
- func (c *SNS) GetSubscriptionAttributes(input *GetSubscriptionAttributesInput) (*GetSubscriptionAttributesOutput, error) {
- req, out := c.GetSubscriptionAttributesRequest(input)
- err := req.Send()
- return out, err
- }
- const opGetTopicAttributes = "GetTopicAttributes"
- // GetTopicAttributesRequest generates a "aws/request.Request" representing the
- // client's request for the GetTopicAttributes operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the GetTopicAttributes method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the GetTopicAttributesRequest method.
- // req, resp := client.GetTopicAttributesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) GetTopicAttributesRequest(input *GetTopicAttributesInput) (req *request.Request, output *GetTopicAttributesOutput) {
- op := &request.Operation{
- Name: opGetTopicAttributes,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &GetTopicAttributesInput{}
- }
- req = c.newRequest(op, input, output)
- output = &GetTopicAttributesOutput{}
- req.Data = output
- return
- }
- // Returns all of the properties of a topic. Topic properties returned might
- // differ based on the authorization of the user.
- func (c *SNS) GetTopicAttributes(input *GetTopicAttributesInput) (*GetTopicAttributesOutput, error) {
- req, out := c.GetTopicAttributesRequest(input)
- err := req.Send()
- return out, err
- }
- const opListEndpointsByPlatformApplication = "ListEndpointsByPlatformApplication"
- // ListEndpointsByPlatformApplicationRequest generates a "aws/request.Request" representing the
- // client's request for the ListEndpointsByPlatformApplication operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the ListEndpointsByPlatformApplication method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the ListEndpointsByPlatformApplicationRequest method.
- // req, resp := client.ListEndpointsByPlatformApplicationRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) ListEndpointsByPlatformApplicationRequest(input *ListEndpointsByPlatformApplicationInput) (req *request.Request, output *ListEndpointsByPlatformApplicationOutput) {
- op := &request.Operation{
- Name: opListEndpointsByPlatformApplication,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListEndpointsByPlatformApplicationInput{}
- }
- req = c.newRequest(op, input, output)
- output = &ListEndpointsByPlatformApplicationOutput{}
- req.Data = output
- return
- }
- // Lists the endpoints and endpoint attributes for devices in a supported push
- // notification service, such as GCM and APNS. The results for ListEndpointsByPlatformApplication
- // are paginated and return a limited list of endpoints, up to 100. If additional
- // records are available after the first page results, then a NextToken string
- // will be returned. To receive the next page, you call ListEndpointsByPlatformApplication
- // again using the NextToken string received from the previous call. When there
- // are no more records to return, NextToken will be null. For more information,
- // see Using Amazon SNS Mobile Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html).
- func (c *SNS) ListEndpointsByPlatformApplication(input *ListEndpointsByPlatformApplicationInput) (*ListEndpointsByPlatformApplicationOutput, error) {
- req, out := c.ListEndpointsByPlatformApplicationRequest(input)
- err := req.Send()
- return out, err
- }
- // ListEndpointsByPlatformApplicationPages iterates over the pages of a ListEndpointsByPlatformApplication operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListEndpointsByPlatformApplication method for more information on how to use this operation.
- //
- // Note: This operation can generate multiple requests to a service.
- //
- // // Example iterating over at most 3 pages of a ListEndpointsByPlatformApplication operation.
- // pageNum := 0
- // err := client.ListEndpointsByPlatformApplicationPages(params,
- // func(page *ListEndpointsByPlatformApplicationOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- //
- func (c *SNS) ListEndpointsByPlatformApplicationPages(input *ListEndpointsByPlatformApplicationInput, fn func(p *ListEndpointsByPlatformApplicationOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.ListEndpointsByPlatformApplicationRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*ListEndpointsByPlatformApplicationOutput), lastPage)
- })
- }
- const opListPhoneNumbersOptedOut = "ListPhoneNumbersOptedOut"
- // ListPhoneNumbersOptedOutRequest generates a "aws/request.Request" representing the
- // client's request for the ListPhoneNumbersOptedOut operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the ListPhoneNumbersOptedOut method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the ListPhoneNumbersOptedOutRequest method.
- // req, resp := client.ListPhoneNumbersOptedOutRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) ListPhoneNumbersOptedOutRequest(input *ListPhoneNumbersOptedOutInput) (req *request.Request, output *ListPhoneNumbersOptedOutOutput) {
- op := &request.Operation{
- Name: opListPhoneNumbersOptedOut,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &ListPhoneNumbersOptedOutInput{}
- }
- req = c.newRequest(op, input, output)
- output = &ListPhoneNumbersOptedOutOutput{}
- req.Data = output
- return
- }
- // Returns a list of phone numbers that are opted out, meaning you cannot send
- // SMS messages to them.
- //
- // The results for ListPhoneNumbersOptedOut are paginated, and each page returns
- // up to 100 phone numbers. If additional phone numbers are available after
- // the first page of results, then a NextToken string will be returned. To receive
- // the next page, you call ListPhoneNumbersOptedOut again using the NextToken
- // string received from the previous call. When there are no more records to
- // return, NextToken will be null.
- func (c *SNS) ListPhoneNumbersOptedOut(input *ListPhoneNumbersOptedOutInput) (*ListPhoneNumbersOptedOutOutput, error) {
- req, out := c.ListPhoneNumbersOptedOutRequest(input)
- err := req.Send()
- return out, err
- }
- const opListPlatformApplications = "ListPlatformApplications"
- // ListPlatformApplicationsRequest generates a "aws/request.Request" representing the
- // client's request for the ListPlatformApplications operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the ListPlatformApplications method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the ListPlatformApplicationsRequest method.
- // req, resp := client.ListPlatformApplicationsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) ListPlatformApplicationsRequest(input *ListPlatformApplicationsInput) (req *request.Request, output *ListPlatformApplicationsOutput) {
- op := &request.Operation{
- Name: opListPlatformApplications,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListPlatformApplicationsInput{}
- }
- req = c.newRequest(op, input, output)
- output = &ListPlatformApplicationsOutput{}
- req.Data = output
- return
- }
- // Lists the platform application objects for the supported push notification
- // services, such as APNS and GCM. The results for ListPlatformApplications
- // are paginated and return a limited list of applications, up to 100. If additional
- // records are available after the first page results, then a NextToken string
- // will be returned. To receive the next page, you call ListPlatformApplications
- // using the NextToken string received from the previous call. When there are
- // no more records to return, NextToken will be null. For more information,
- // see Using Amazon SNS Mobile Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html).
- func (c *SNS) ListPlatformApplications(input *ListPlatformApplicationsInput) (*ListPlatformApplicationsOutput, error) {
- req, out := c.ListPlatformApplicationsRequest(input)
- err := req.Send()
- return out, err
- }
- // ListPlatformApplicationsPages iterates over the pages of a ListPlatformApplications operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListPlatformApplications method for more information on how to use this operation.
- //
- // Note: This operation can generate multiple requests to a service.
- //
- // // Example iterating over at most 3 pages of a ListPlatformApplications operation.
- // pageNum := 0
- // err := client.ListPlatformApplicationsPages(params,
- // func(page *ListPlatformApplicationsOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- //
- func (c *SNS) ListPlatformApplicationsPages(input *ListPlatformApplicationsInput, fn func(p *ListPlatformApplicationsOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.ListPlatformApplicationsRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*ListPlatformApplicationsOutput), lastPage)
- })
- }
- const opListSubscriptions = "ListSubscriptions"
- // ListSubscriptionsRequest generates a "aws/request.Request" representing the
- // client's request for the ListSubscriptions operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the ListSubscriptions method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the ListSubscriptionsRequest method.
- // req, resp := client.ListSubscriptionsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) ListSubscriptionsRequest(input *ListSubscriptionsInput) (req *request.Request, output *ListSubscriptionsOutput) {
- op := &request.Operation{
- Name: opListSubscriptions,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListSubscriptionsInput{}
- }
- req = c.newRequest(op, input, output)
- output = &ListSubscriptionsOutput{}
- req.Data = output
- return
- }
- // Returns a list of the requester's subscriptions. Each call returns a limited
- // list of subscriptions, up to 100. If there are more subscriptions, a NextToken
- // is also returned. Use the NextToken parameter in a new ListSubscriptions
- // call to get further results.
- func (c *SNS) ListSubscriptions(input *ListSubscriptionsInput) (*ListSubscriptionsOutput, error) {
- req, out := c.ListSubscriptionsRequest(input)
- err := req.Send()
- return out, err
- }
- // ListSubscriptionsPages iterates over the pages of a ListSubscriptions operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListSubscriptions method for more information on how to use this operation.
- //
- // Note: This operation can generate multiple requests to a service.
- //
- // // Example iterating over at most 3 pages of a ListSubscriptions operation.
- // pageNum := 0
- // err := client.ListSubscriptionsPages(params,
- // func(page *ListSubscriptionsOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- //
- func (c *SNS) ListSubscriptionsPages(input *ListSubscriptionsInput, fn func(p *ListSubscriptionsOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.ListSubscriptionsRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*ListSubscriptionsOutput), lastPage)
- })
- }
- const opListSubscriptionsByTopic = "ListSubscriptionsByTopic"
- // ListSubscriptionsByTopicRequest generates a "aws/request.Request" representing the
- // client's request for the ListSubscriptionsByTopic operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the ListSubscriptionsByTopic method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the ListSubscriptionsByTopicRequest method.
- // req, resp := client.ListSubscriptionsByTopicRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) ListSubscriptionsByTopicRequest(input *ListSubscriptionsByTopicInput) (req *request.Request, output *ListSubscriptionsByTopicOutput) {
- op := &request.Operation{
- Name: opListSubscriptionsByTopic,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListSubscriptionsByTopicInput{}
- }
- req = c.newRequest(op, input, output)
- output = &ListSubscriptionsByTopicOutput{}
- req.Data = output
- return
- }
- // Returns a list of the subscriptions to a specific topic. Each call returns
- // a limited list of subscriptions, up to 100. If there are more subscriptions,
- // a NextToken is also returned. Use the NextToken parameter in a new ListSubscriptionsByTopic
- // call to get further results.
- func (c *SNS) ListSubscriptionsByTopic(input *ListSubscriptionsByTopicInput) (*ListSubscriptionsByTopicOutput, error) {
- req, out := c.ListSubscriptionsByTopicRequest(input)
- err := req.Send()
- return out, err
- }
- // ListSubscriptionsByTopicPages iterates over the pages of a ListSubscriptionsByTopic operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListSubscriptionsByTopic method for more information on how to use this operation.
- //
- // Note: This operation can generate multiple requests to a service.
- //
- // // Example iterating over at most 3 pages of a ListSubscriptionsByTopic operation.
- // pageNum := 0
- // err := client.ListSubscriptionsByTopicPages(params,
- // func(page *ListSubscriptionsByTopicOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- //
- func (c *SNS) ListSubscriptionsByTopicPages(input *ListSubscriptionsByTopicInput, fn func(p *ListSubscriptionsByTopicOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.ListSubscriptionsByTopicRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*ListSubscriptionsByTopicOutput), lastPage)
- })
- }
- const opListTopics = "ListTopics"
- // ListTopicsRequest generates a "aws/request.Request" representing the
- // client's request for the ListTopics operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the ListTopics method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the ListTopicsRequest method.
- // req, resp := client.ListTopicsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) ListTopicsRequest(input *ListTopicsInput) (req *request.Request, output *ListTopicsOutput) {
- op := &request.Operation{
- Name: opListTopics,
- HTTPMethod: "POST",
- HTTPPath: "/",
- Paginator: &request.Paginator{
- InputTokens: []string{"NextToken"},
- OutputTokens: []string{"NextToken"},
- LimitToken: "",
- TruncationToken: "",
- },
- }
- if input == nil {
- input = &ListTopicsInput{}
- }
- req = c.newRequest(op, input, output)
- output = &ListTopicsOutput{}
- req.Data = output
- return
- }
- // Returns a list of the requester's topics. Each call returns a limited list
- // of topics, up to 100. If there are more topics, a NextToken is also returned.
- // Use the NextToken parameter in a new ListTopics call to get further results.
- func (c *SNS) ListTopics(input *ListTopicsInput) (*ListTopicsOutput, error) {
- req, out := c.ListTopicsRequest(input)
- err := req.Send()
- return out, err
- }
- // ListTopicsPages iterates over the pages of a ListTopics operation,
- // calling the "fn" function with the response data for each page. To stop
- // iterating, return false from the fn function.
- //
- // See ListTopics method for more information on how to use this operation.
- //
- // Note: This operation can generate multiple requests to a service.
- //
- // // Example iterating over at most 3 pages of a ListTopics operation.
- // pageNum := 0
- // err := client.ListTopicsPages(params,
- // func(page *ListTopicsOutput, lastPage bool) bool {
- // pageNum++
- // fmt.Println(page)
- // return pageNum <= 3
- // })
- //
- func (c *SNS) ListTopicsPages(input *ListTopicsInput, fn func(p *ListTopicsOutput, lastPage bool) (shouldContinue bool)) error {
- page, _ := c.ListTopicsRequest(input)
- page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator"))
- return page.EachPage(func(p interface{}, lastPage bool) bool {
- return fn(p.(*ListTopicsOutput), lastPage)
- })
- }
- const opOptInPhoneNumber = "OptInPhoneNumber"
- // OptInPhoneNumberRequest generates a "aws/request.Request" representing the
- // client's request for the OptInPhoneNumber operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the OptInPhoneNumber method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the OptInPhoneNumberRequest method.
- // req, resp := client.OptInPhoneNumberRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) OptInPhoneNumberRequest(input *OptInPhoneNumberInput) (req *request.Request, output *OptInPhoneNumberOutput) {
- op := &request.Operation{
- Name: opOptInPhoneNumber,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &OptInPhoneNumberInput{}
- }
- req = c.newRequest(op, input, output)
- output = &OptInPhoneNumberOutput{}
- req.Data = output
- return
- }
- // Use this request to opt in a phone number that is opted out, which enables
- // you to resume sending SMS messages to the number.
- //
- // You can opt in a phone number only once every 30 days.
- func (c *SNS) OptInPhoneNumber(input *OptInPhoneNumberInput) (*OptInPhoneNumberOutput, error) {
- req, out := c.OptInPhoneNumberRequest(input)
- err := req.Send()
- return out, err
- }
- const opPublish = "Publish"
- // PublishRequest generates a "aws/request.Request" representing the
- // client's request for the Publish operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the Publish method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the PublishRequest method.
- // req, resp := client.PublishRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) PublishRequest(input *PublishInput) (req *request.Request, output *PublishOutput) {
- op := &request.Operation{
- Name: opPublish,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &PublishInput{}
- }
- req = c.newRequest(op, input, output)
- output = &PublishOutput{}
- req.Data = output
- return
- }
- // Sends a message to all of a topic's subscribed endpoints. When a messageId
- // is returned, the message has been saved and Amazon SNS will attempt to deliver
- // it to the topic's subscribers shortly. The format of the outgoing message
- // to each subscribed endpoint depends on the notification protocol.
- //
- // To use the Publish action for sending a message to a mobile endpoint, such
- // as an app on a Kindle device or mobile phone, you must specify the EndpointArn
- // for the TargetArn parameter. The EndpointArn is returned when making a call
- // with the CreatePlatformEndpoint action. The second example below shows a
- // request and response for publishing to a mobile endpoint.
- //
- // For more information about formatting messages, see Send Custom Platform-Specific
- // Payloads in Messages to Mobile Devices (http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-custommessage.html).
- func (c *SNS) Publish(input *PublishInput) (*PublishOutput, error) {
- req, out := c.PublishRequest(input)
- err := req.Send()
- return out, err
- }
- const opRemovePermission = "RemovePermission"
- // RemovePermissionRequest generates a "aws/request.Request" representing the
- // client's request for the RemovePermission operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the RemovePermission method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the RemovePermissionRequest method.
- // req, resp := client.RemovePermissionRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) RemovePermissionRequest(input *RemovePermissionInput) (req *request.Request, output *RemovePermissionOutput) {
- op := &request.Operation{
- Name: opRemovePermission,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &RemovePermissionInput{}
- }
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
- req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
- output = &RemovePermissionOutput{}
- req.Data = output
- return
- }
- // Removes a statement from a topic's access control policy.
- func (c *SNS) RemovePermission(input *RemovePermissionInput) (*RemovePermissionOutput, error) {
- req, out := c.RemovePermissionRequest(input)
- err := req.Send()
- return out, err
- }
- const opSetEndpointAttributes = "SetEndpointAttributes"
- // SetEndpointAttributesRequest generates a "aws/request.Request" representing the
- // client's request for the SetEndpointAttributes operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the SetEndpointAttributes method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the SetEndpointAttributesRequest method.
- // req, resp := client.SetEndpointAttributesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) SetEndpointAttributesRequest(input *SetEndpointAttributesInput) (req *request.Request, output *SetEndpointAttributesOutput) {
- op := &request.Operation{
- Name: opSetEndpointAttributes,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &SetEndpointAttributesInput{}
- }
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
- req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
- output = &SetEndpointAttributesOutput{}
- req.Data = output
- return
- }
- // Sets the attributes for an endpoint for a device on one of the supported
- // push notification services, such as GCM and APNS. For more information, see
- // Using Amazon SNS Mobile Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html).
- func (c *SNS) SetEndpointAttributes(input *SetEndpointAttributesInput) (*SetEndpointAttributesOutput, error) {
- req, out := c.SetEndpointAttributesRequest(input)
- err := req.Send()
- return out, err
- }
- const opSetPlatformApplicationAttributes = "SetPlatformApplicationAttributes"
- // SetPlatformApplicationAttributesRequest generates a "aws/request.Request" representing the
- // client's request for the SetPlatformApplicationAttributes operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the SetPlatformApplicationAttributes method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the SetPlatformApplicationAttributesRequest method.
- // req, resp := client.SetPlatformApplicationAttributesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) SetPlatformApplicationAttributesRequest(input *SetPlatformApplicationAttributesInput) (req *request.Request, output *SetPlatformApplicationAttributesOutput) {
- op := &request.Operation{
- Name: opSetPlatformApplicationAttributes,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &SetPlatformApplicationAttributesInput{}
- }
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
- req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
- output = &SetPlatformApplicationAttributesOutput{}
- req.Data = output
- return
- }
- // Sets the attributes of the platform application object for the supported
- // push notification services, such as APNS and GCM. For more information, see
- // Using Amazon SNS Mobile Push Notifications (http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html).
- // For information on configuring attributes for message delivery status, see
- // Using Amazon SNS Application Attributes for Message Delivery Status (http://docs.aws.amazon.com/sns/latest/dg/sns-msg-status.html).
- func (c *SNS) SetPlatformApplicationAttributes(input *SetPlatformApplicationAttributesInput) (*SetPlatformApplicationAttributesOutput, error) {
- req, out := c.SetPlatformApplicationAttributesRequest(input)
- err := req.Send()
- return out, err
- }
- const opSetSMSAttributes = "SetSMSAttributes"
- // SetSMSAttributesRequest generates a "aws/request.Request" representing the
- // client's request for the SetSMSAttributes operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the SetSMSAttributes method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the SetSMSAttributesRequest method.
- // req, resp := client.SetSMSAttributesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) SetSMSAttributesRequest(input *SetSMSAttributesInput) (req *request.Request, output *SetSMSAttributesOutput) {
- op := &request.Operation{
- Name: opSetSMSAttributes,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &SetSMSAttributesInput{}
- }
- req = c.newRequest(op, input, output)
- output = &SetSMSAttributesOutput{}
- req.Data = output
- return
- }
- // Use this request to set the default settings for sending SMS messages and
- // receiving daily SMS usage reports.
- //
- // You can override some of these settings for a single message when you use
- // the Publish action with the MessageAttributes.entry.N parameter. For more
- // information, see Sending an SMS Message (http://docs.aws.amazon.com/sns/latest/dg/sms_publish-to-phone.html)
- // in the Amazon SNS Developer Guide.
- func (c *SNS) SetSMSAttributes(input *SetSMSAttributesInput) (*SetSMSAttributesOutput, error) {
- req, out := c.SetSMSAttributesRequest(input)
- err := req.Send()
- return out, err
- }
- const opSetSubscriptionAttributes = "SetSubscriptionAttributes"
- // SetSubscriptionAttributesRequest generates a "aws/request.Request" representing the
- // client's request for the SetSubscriptionAttributes operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the SetSubscriptionAttributes method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the SetSubscriptionAttributesRequest method.
- // req, resp := client.SetSubscriptionAttributesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) SetSubscriptionAttributesRequest(input *SetSubscriptionAttributesInput) (req *request.Request, output *SetSubscriptionAttributesOutput) {
- op := &request.Operation{
- Name: opSetSubscriptionAttributes,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &SetSubscriptionAttributesInput{}
- }
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
- req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
- output = &SetSubscriptionAttributesOutput{}
- req.Data = output
- return
- }
- // Allows a subscription owner to set an attribute of the topic to a new value.
- func (c *SNS) SetSubscriptionAttributes(input *SetSubscriptionAttributesInput) (*SetSubscriptionAttributesOutput, error) {
- req, out := c.SetSubscriptionAttributesRequest(input)
- err := req.Send()
- return out, err
- }
- const opSetTopicAttributes = "SetTopicAttributes"
- // SetTopicAttributesRequest generates a "aws/request.Request" representing the
- // client's request for the SetTopicAttributes operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the SetTopicAttributes method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the SetTopicAttributesRequest method.
- // req, resp := client.SetTopicAttributesRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) SetTopicAttributesRequest(input *SetTopicAttributesInput) (req *request.Request, output *SetTopicAttributesOutput) {
- op := &request.Operation{
- Name: opSetTopicAttributes,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &SetTopicAttributesInput{}
- }
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
- req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
- output = &SetTopicAttributesOutput{}
- req.Data = output
- return
- }
- // Allows a topic owner to set an attribute of the topic to a new value.
- func (c *SNS) SetTopicAttributes(input *SetTopicAttributesInput) (*SetTopicAttributesOutput, error) {
- req, out := c.SetTopicAttributesRequest(input)
- err := req.Send()
- return out, err
- }
- const opSubscribe = "Subscribe"
- // SubscribeRequest generates a "aws/request.Request" representing the
- // client's request for the Subscribe operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the Subscribe method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the SubscribeRequest method.
- // req, resp := client.SubscribeRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) SubscribeRequest(input *SubscribeInput) (req *request.Request, output *SubscribeOutput) {
- op := &request.Operation{
- Name: opSubscribe,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &SubscribeInput{}
- }
- req = c.newRequest(op, input, output)
- output = &SubscribeOutput{}
- req.Data = output
- return
- }
- // Prepares to subscribe an endpoint by sending the endpoint a confirmation
- // message. To actually create a subscription, the endpoint owner must call
- // the ConfirmSubscription action with the token from the confirmation message.
- // Confirmation tokens are valid for three days.
- func (c *SNS) Subscribe(input *SubscribeInput) (*SubscribeOutput, error) {
- req, out := c.SubscribeRequest(input)
- err := req.Send()
- return out, err
- }
- const opUnsubscribe = "Unsubscribe"
- // UnsubscribeRequest generates a "aws/request.Request" representing the
- // client's request for the Unsubscribe operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the Unsubscribe method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the UnsubscribeRequest method.
- // req, resp := client.UnsubscribeRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *SNS) UnsubscribeRequest(input *UnsubscribeInput) (req *request.Request, output *UnsubscribeOutput) {
- op := &request.Operation{
- Name: opUnsubscribe,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &UnsubscribeInput{}
- }
- req = c.newRequest(op, input, output)
- req.Handlers.Unmarshal.Remove(query.UnmarshalHandler)
- req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
- output = &UnsubscribeOutput{}
- req.Data = output
- return
- }
- // Deletes a subscription. If the subscription requires authentication for deletion,
- // only the owner of the subscription or the topic's owner can unsubscribe,
- // and an AWS signature is required. If the Unsubscribe call does not require
- // authentication and the requester is not the subscription owner, a final cancellation
- // message is delivered to the endpoint, so that the endpoint owner can easily
- // resubscribe to the topic if the Unsubscribe request was unintended.
- func (c *SNS) Unsubscribe(input *UnsubscribeInput) (*UnsubscribeOutput, error) {
- req, out := c.UnsubscribeRequest(input)
- err := req.Send()
- return out, err
- }
- type AddPermissionInput struct {
- _ struct{} `type:"structure"`
- // The AWS account IDs of the users (principals) who will be given access to
- // the specified actions. The users must have AWS accounts, but do not need
- // to be signed up for this service.
- AWSAccountId []*string `type:"list" required:"true"`
- // The action you want to allow for the specified principal(s).
- //
- // Valid values: any Amazon SNS action name.
- ActionName []*string `type:"list" required:"true"`
- // A unique identifier for the new policy statement.
- Label *string `type:"string" required:"true"`
- // The ARN of the topic whose access control policy you wish to modify.
- TopicArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s AddPermissionInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s AddPermissionInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *AddPermissionInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "AddPermissionInput"}
- if s.AWSAccountId == nil {
- invalidParams.Add(request.NewErrParamRequired("AWSAccountId"))
- }
- if s.ActionName == nil {
- invalidParams.Add(request.NewErrParamRequired("ActionName"))
- }
- if s.Label == nil {
- invalidParams.Add(request.NewErrParamRequired("Label"))
- }
- if s.TopicArn == nil {
- invalidParams.Add(request.NewErrParamRequired("TopicArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type AddPermissionOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s AddPermissionOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s AddPermissionOutput) GoString() string {
- return s.String()
- }
- // The input for the CheckIfPhoneNumberIsOptedOut action.
- type CheckIfPhoneNumberIsOptedOutInput struct {
- _ struct{} `type:"structure"`
- // The phone number for which you want to check the opt out status.
- PhoneNumber *string `locationName:"phoneNumber" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s CheckIfPhoneNumberIsOptedOutInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CheckIfPhoneNumberIsOptedOutInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CheckIfPhoneNumberIsOptedOutInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CheckIfPhoneNumberIsOptedOutInput"}
- if s.PhoneNumber == nil {
- invalidParams.Add(request.NewErrParamRequired("PhoneNumber"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The response from the CheckIfPhoneNumberIsOptedOut action.
- type CheckIfPhoneNumberIsOptedOutOutput struct {
- _ struct{} `type:"structure"`
- // Indicates whether the phone number is opted out:
- //
- // true – The phone number is opted out, meaning you cannot publish SMS messages
- // to it.
- //
- // false – The phone number is opted in, meaning you can publish SMS messages
- // to it.
- IsOptedOut *bool `locationName:"isOptedOut" type:"boolean"`
- }
- // String returns the string representation
- func (s CheckIfPhoneNumberIsOptedOutOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CheckIfPhoneNumberIsOptedOutOutput) GoString() string {
- return s.String()
- }
- // Input for ConfirmSubscription action.
- type ConfirmSubscriptionInput struct {
- _ struct{} `type:"structure"`
- // Disallows unauthenticated unsubscribes of the subscription. If the value
- // of this parameter is true and the request has an AWS signature, then only
- // the topic owner and the subscription owner can unsubscribe the endpoint.
- // The unsubscribe action requires AWS authentication.
- AuthenticateOnUnsubscribe *string `type:"string"`
- // Short-lived token sent to an endpoint during the Subscribe action.
- Token *string `type:"string" required:"true"`
- // The ARN of the topic for which you wish to confirm a subscription.
- TopicArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s ConfirmSubscriptionInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ConfirmSubscriptionInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ConfirmSubscriptionInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ConfirmSubscriptionInput"}
- if s.Token == nil {
- invalidParams.Add(request.NewErrParamRequired("Token"))
- }
- if s.TopicArn == nil {
- invalidParams.Add(request.NewErrParamRequired("TopicArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // Response for ConfirmSubscriptions action.
- type ConfirmSubscriptionOutput struct {
- _ struct{} `type:"structure"`
- // The ARN of the created subscription.
- SubscriptionArn *string `type:"string"`
- }
- // String returns the string representation
- func (s ConfirmSubscriptionOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ConfirmSubscriptionOutput) GoString() string {
- return s.String()
- }
- // Input for CreatePlatformApplication action.
- type CreatePlatformApplicationInput struct {
- _ struct{} `type:"structure"`
- // For a list of attributes, see SetPlatformApplicationAttributes (http://docs.aws.amazon.com/sns/latest/api/API_SetPlatformApplicationAttributes.html)
- Attributes map[string]*string `type:"map" required:"true"`
- // Application names must be made up of only uppercase and lowercase ASCII letters,
- // numbers, underscores, hyphens, and periods, and must be between 1 and 256
- // characters long.
- Name *string `type:"string" required:"true"`
- // The following platforms are supported: ADM (Amazon Device Messaging), APNS
- // (Apple Push Notification Service), APNS_SANDBOX, and GCM (Google Cloud Messaging).
- Platform *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s CreatePlatformApplicationInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreatePlatformApplicationInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CreatePlatformApplicationInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreatePlatformApplicationInput"}
- if s.Attributes == nil {
- invalidParams.Add(request.NewErrParamRequired("Attributes"))
- }
- if s.Name == nil {
- invalidParams.Add(request.NewErrParamRequired("Name"))
- }
- if s.Platform == nil {
- invalidParams.Add(request.NewErrParamRequired("Platform"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // Response from CreatePlatformApplication action.
- type CreatePlatformApplicationOutput struct {
- _ struct{} `type:"structure"`
- // PlatformApplicationArn is returned.
- PlatformApplicationArn *string `type:"string"`
- }
- // String returns the string representation
- func (s CreatePlatformApplicationOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreatePlatformApplicationOutput) GoString() string {
- return s.String()
- }
- // Input for CreatePlatformEndpoint action.
- type CreatePlatformEndpointInput struct {
- _ struct{} `type:"structure"`
- // For a list of attributes, see SetEndpointAttributes (http://docs.aws.amazon.com/sns/latest/api/API_SetEndpointAttributes.html).
- Attributes map[string]*string `type:"map"`
- // Arbitrary user data to associate with the endpoint. Amazon SNS does not use
- // this data. The data must be in UTF-8 format and less than 2KB.
- CustomUserData *string `type:"string"`
- // PlatformApplicationArn returned from CreatePlatformApplication is used to
- // create a an endpoint.
- PlatformApplicationArn *string `type:"string" required:"true"`
- // Unique identifier created by the notification service for an app on a device.
- // The specific name for Token will vary, depending on which notification service
- // is being used. For example, when using APNS as the notification service,
- // you need the device token. Alternatively, when using GCM or ADM, the device
- // token equivalent is called the registration ID.
- Token *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s CreatePlatformEndpointInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreatePlatformEndpointInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CreatePlatformEndpointInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreatePlatformEndpointInput"}
- if s.PlatformApplicationArn == nil {
- invalidParams.Add(request.NewErrParamRequired("PlatformApplicationArn"))
- }
- if s.Token == nil {
- invalidParams.Add(request.NewErrParamRequired("Token"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // Response from CreateEndpoint action.
- type CreatePlatformEndpointOutput struct {
- _ struct{} `type:"structure"`
- // EndpointArn returned from CreateEndpoint action.
- EndpointArn *string `type:"string"`
- }
- // String returns the string representation
- func (s CreatePlatformEndpointOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreatePlatformEndpointOutput) GoString() string {
- return s.String()
- }
- // Input for CreateTopic action.
- type CreateTopicInput struct {
- _ struct{} `type:"structure"`
- // The name of the topic you want to create.
- //
- // Constraints: Topic names must be made up of only uppercase and lowercase
- // ASCII letters, numbers, underscores, and hyphens, and must be between 1 and
- // 256 characters long.
- Name *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s CreateTopicInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateTopicInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *CreateTopicInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "CreateTopicInput"}
- if s.Name == nil {
- invalidParams.Add(request.NewErrParamRequired("Name"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // Response from CreateTopic action.
- type CreateTopicOutput struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) assigned to the created topic.
- TopicArn *string `type:"string"`
- }
- // String returns the string representation
- func (s CreateTopicOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s CreateTopicOutput) GoString() string {
- return s.String()
- }
- // Input for DeleteEndpoint action.
- type DeleteEndpointInput struct {
- _ struct{} `type:"structure"`
- // EndpointArn of endpoint to delete.
- EndpointArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DeleteEndpointInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteEndpointInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeleteEndpointInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteEndpointInput"}
- if s.EndpointArn == nil {
- invalidParams.Add(request.NewErrParamRequired("EndpointArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type DeleteEndpointOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s DeleteEndpointOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteEndpointOutput) GoString() string {
- return s.String()
- }
- // Input for DeletePlatformApplication action.
- type DeletePlatformApplicationInput struct {
- _ struct{} `type:"structure"`
- // PlatformApplicationArn of platform application object to delete.
- PlatformApplicationArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DeletePlatformApplicationInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeletePlatformApplicationInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeletePlatformApplicationInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeletePlatformApplicationInput"}
- if s.PlatformApplicationArn == nil {
- invalidParams.Add(request.NewErrParamRequired("PlatformApplicationArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type DeletePlatformApplicationOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s DeletePlatformApplicationOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeletePlatformApplicationOutput) GoString() string {
- return s.String()
- }
- type DeleteTopicInput struct {
- _ struct{} `type:"structure"`
- // The ARN of the topic you want to delete.
- TopicArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DeleteTopicInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteTopicInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DeleteTopicInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DeleteTopicInput"}
- if s.TopicArn == nil {
- invalidParams.Add(request.NewErrParamRequired("TopicArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type DeleteTopicOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s DeleteTopicOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DeleteTopicOutput) GoString() string {
- return s.String()
- }
- // Endpoint for mobile app and device.
- type Endpoint struct {
- _ struct{} `type:"structure"`
- // Attributes for endpoint.
- Attributes map[string]*string `type:"map"`
- // EndpointArn for mobile app and device.
- EndpointArn *string `type:"string"`
- }
- // String returns the string representation
- func (s Endpoint) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Endpoint) GoString() string {
- return s.String()
- }
- // Input for GetEndpointAttributes action.
- type GetEndpointAttributesInput struct {
- _ struct{} `type:"structure"`
- // EndpointArn for GetEndpointAttributes input.
- EndpointArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s GetEndpointAttributesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetEndpointAttributesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *GetEndpointAttributesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetEndpointAttributesInput"}
- if s.EndpointArn == nil {
- invalidParams.Add(request.NewErrParamRequired("EndpointArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // Response from GetEndpointAttributes of the EndpointArn.
- type GetEndpointAttributesOutput struct {
- _ struct{} `type:"structure"`
- // Attributes include the following:
- //
- // CustomUserData -- arbitrary user data to associate with the endpoint. Amazon
- // SNS does not use this data. The data must be in UTF-8 format and less than
- // 2KB.
- //
- // Enabled -- flag that enables/disables delivery to the endpoint. Amazon SNS
- // will set this to false when a notification service indicates to Amazon SNS
- // that the endpoint is invalid. Users can set it back to true, typically after
- // updating Token.
- //
- // Token -- device token, also referred to as a registration id, for an app
- // and mobile device. This is returned from the notification service when an
- // app and mobile device are registered with the notification service.
- Attributes map[string]*string `type:"map"`
- }
- // String returns the string representation
- func (s GetEndpointAttributesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetEndpointAttributesOutput) GoString() string {
- return s.String()
- }
- // Input for GetPlatformApplicationAttributes action.
- type GetPlatformApplicationAttributesInput struct {
- _ struct{} `type:"structure"`
- // PlatformApplicationArn for GetPlatformApplicationAttributesInput.
- PlatformApplicationArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s GetPlatformApplicationAttributesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetPlatformApplicationAttributesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *GetPlatformApplicationAttributesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetPlatformApplicationAttributesInput"}
- if s.PlatformApplicationArn == nil {
- invalidParams.Add(request.NewErrParamRequired("PlatformApplicationArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // Response for GetPlatformApplicationAttributes action.
- type GetPlatformApplicationAttributesOutput struct {
- _ struct{} `type:"structure"`
- // Attributes include the following:
- //
- // EventEndpointCreated -- Topic ARN to which EndpointCreated event notifications
- // should be sent.
- //
- // EventEndpointDeleted -- Topic ARN to which EndpointDeleted event notifications
- // should be sent.
- //
- // EventEndpointUpdated -- Topic ARN to which EndpointUpdate event notifications
- // should be sent.
- //
- // EventDeliveryFailure -- Topic ARN to which DeliveryFailure event notifications
- // should be sent upon Direct Publish delivery failure (permanent) to one of
- // the application's endpoints.
- Attributes map[string]*string `type:"map"`
- }
- // String returns the string representation
- func (s GetPlatformApplicationAttributesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetPlatformApplicationAttributesOutput) GoString() string {
- return s.String()
- }
- // The input for the GetSMSAttributes request.
- type GetSMSAttributesInput struct {
- _ struct{} `type:"structure"`
- // A list of the individual attribute names, such as MonthlySpendLimit, for
- // which you want values.
- //
- // For all attribute names, see SetSMSAttributes (http://docs.aws.amazon.com/sns/latest/api/API_SetSMSAttributes.html).
- //
- // If you don't use this parameter, Amazon SNS returns all SMS attributes.
- Attributes []*string `locationName:"attributes" type:"list"`
- }
- // String returns the string representation
- func (s GetSMSAttributesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetSMSAttributesInput) GoString() string {
- return s.String()
- }
- // The response from the GetSMSAttributes request.
- type GetSMSAttributesOutput struct {
- _ struct{} `type:"structure"`
- // The SMS attribute names and their values.
- Attributes map[string]*string `locationName:"attributes" type:"map"`
- }
- // String returns the string representation
- func (s GetSMSAttributesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetSMSAttributesOutput) GoString() string {
- return s.String()
- }
- // Input for GetSubscriptionAttributes.
- type GetSubscriptionAttributesInput struct {
- _ struct{} `type:"structure"`
- // The ARN of the subscription whose properties you want to get.
- SubscriptionArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s GetSubscriptionAttributesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetSubscriptionAttributesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *GetSubscriptionAttributesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetSubscriptionAttributesInput"}
- if s.SubscriptionArn == nil {
- invalidParams.Add(request.NewErrParamRequired("SubscriptionArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // Response for GetSubscriptionAttributes action.
- type GetSubscriptionAttributesOutput struct {
- _ struct{} `type:"structure"`
- // A map of the subscription's attributes. Attributes in this map include the
- // following:
- //
- // SubscriptionArn -- the subscription's ARN
- //
- // TopicArn -- the topic ARN that the subscription is associated with
- //
- // Owner -- the AWS account ID of the subscription's owner
- //
- // ConfirmationWasAuthenticated -- true if the subscription confirmation
- // request was authenticated
- //
- // DeliveryPolicy -- the JSON serialization of the subscription's delivery
- // policy
- //
- // EffectiveDeliveryPolicy -- the JSON serialization of the effective delivery
- // policy that takes into account the topic delivery policy and account system
- // defaults
- Attributes map[string]*string `type:"map"`
- }
- // String returns the string representation
- func (s GetSubscriptionAttributesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetSubscriptionAttributesOutput) GoString() string {
- return s.String()
- }
- // Input for GetTopicAttributes action.
- type GetTopicAttributesInput struct {
- _ struct{} `type:"structure"`
- // The ARN of the topic whose properties you want to get.
- TopicArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s GetTopicAttributesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetTopicAttributesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *GetTopicAttributesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetTopicAttributesInput"}
- if s.TopicArn == nil {
- invalidParams.Add(request.NewErrParamRequired("TopicArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // Response for GetTopicAttributes action.
- type GetTopicAttributesOutput struct {
- _ struct{} `type:"structure"`
- // A map of the topic's attributes. Attributes in this map include the following:
- //
- // TopicArn -- the topic's ARN
- //
- // Owner -- the AWS account ID of the topic's owner
- //
- // Policy -- the JSON serialization of the topic's access control policy
- //
- // DisplayName -- the human-readable name used in the "From" field for notifications
- // to email and email-json endpoints
- //
- // SubscriptionsPending -- the number of subscriptions pending confirmation
- // on this topic
- //
- // SubscriptionsConfirmed -- the number of confirmed subscriptions on this
- // topic
- //
- // SubscriptionsDeleted -- the number of deleted subscriptions on this topic
- //
- // DeliveryPolicy -- the JSON serialization of the topic's delivery policy
- //
- // EffectiveDeliveryPolicy -- the JSON serialization of the effective delivery
- // policy that takes into account system defaults
- Attributes map[string]*string `type:"map"`
- }
- // String returns the string representation
- func (s GetTopicAttributesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetTopicAttributesOutput) GoString() string {
- return s.String()
- }
- // Input for ListEndpointsByPlatformApplication action.
- type ListEndpointsByPlatformApplicationInput struct {
- _ struct{} `type:"structure"`
- // NextToken string is used when calling ListEndpointsByPlatformApplication
- // action to retrieve additional records that are available after the first
- // page results.
- NextToken *string `type:"string"`
- // PlatformApplicationArn for ListEndpointsByPlatformApplicationInput action.
- PlatformApplicationArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s ListEndpointsByPlatformApplicationInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListEndpointsByPlatformApplicationInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListEndpointsByPlatformApplicationInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListEndpointsByPlatformApplicationInput"}
- if s.PlatformApplicationArn == nil {
- invalidParams.Add(request.NewErrParamRequired("PlatformApplicationArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // Response for ListEndpointsByPlatformApplication action.
- type ListEndpointsByPlatformApplicationOutput struct {
- _ struct{} `type:"structure"`
- // Endpoints returned for ListEndpointsByPlatformApplication action.
- Endpoints []*Endpoint `type:"list"`
- // NextToken string is returned when calling ListEndpointsByPlatformApplication
- // action if additional records are available after the first page results.
- NextToken *string `type:"string"`
- }
- // String returns the string representation
- func (s ListEndpointsByPlatformApplicationOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListEndpointsByPlatformApplicationOutput) GoString() string {
- return s.String()
- }
- // The input for the ListPhoneNumbersOptedOut action.
- type ListPhoneNumbersOptedOutInput struct {
- _ struct{} `type:"structure"`
- // A NextToken string is used when you call the ListPhoneNumbersOptedOut action
- // to retrieve additional records that are available after the first page of
- // results.
- NextToken *string `locationName:"nextToken" type:"string"`
- }
- // String returns the string representation
- func (s ListPhoneNumbersOptedOutInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListPhoneNumbersOptedOutInput) GoString() string {
- return s.String()
- }
- // The response from the ListPhoneNumbersOptedOut action.
- type ListPhoneNumbersOptedOutOutput struct {
- _ struct{} `type:"structure"`
- // A NextToken string is returned when you call the ListPhoneNumbersOptedOut
- // action if additional records are available after the first page of results.
- NextToken *string `locationName:"nextToken" type:"string"`
- // A list of phone numbers that are opted out of receiving SMS messages. The
- // list is paginated, and each page can contain up to 100 phone numbers.
- PhoneNumbers []*string `locationName:"phoneNumbers" type:"list"`
- }
- // String returns the string representation
- func (s ListPhoneNumbersOptedOutOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListPhoneNumbersOptedOutOutput) GoString() string {
- return s.String()
- }
- // Input for ListPlatformApplications action.
- type ListPlatformApplicationsInput struct {
- _ struct{} `type:"structure"`
- // NextToken string is used when calling ListPlatformApplications action to
- // retrieve additional records that are available after the first page results.
- NextToken *string `type:"string"`
- }
- // String returns the string representation
- func (s ListPlatformApplicationsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListPlatformApplicationsInput) GoString() string {
- return s.String()
- }
- // Response for ListPlatformApplications action.
- type ListPlatformApplicationsOutput struct {
- _ struct{} `type:"structure"`
- // NextToken string is returned when calling ListPlatformApplications action
- // if additional records are available after the first page results.
- NextToken *string `type:"string"`
- // Platform applications returned when calling ListPlatformApplications action.
- PlatformApplications []*PlatformApplication `type:"list"`
- }
- // String returns the string representation
- func (s ListPlatformApplicationsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListPlatformApplicationsOutput) GoString() string {
- return s.String()
- }
- // Input for ListSubscriptionsByTopic action.
- type ListSubscriptionsByTopicInput struct {
- _ struct{} `type:"structure"`
- // Token returned by the previous ListSubscriptionsByTopic request.
- NextToken *string `type:"string"`
- // The ARN of the topic for which you wish to find subscriptions.
- TopicArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s ListSubscriptionsByTopicInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListSubscriptionsByTopicInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListSubscriptionsByTopicInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListSubscriptionsByTopicInput"}
- if s.TopicArn == nil {
- invalidParams.Add(request.NewErrParamRequired("TopicArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // Response for ListSubscriptionsByTopic action.
- type ListSubscriptionsByTopicOutput struct {
- _ struct{} `type:"structure"`
- // Token to pass along to the next ListSubscriptionsByTopic request. This element
- // is returned if there are more subscriptions to retrieve.
- NextToken *string `type:"string"`
- // A list of subscriptions.
- Subscriptions []*Subscription `type:"list"`
- }
- // String returns the string representation
- func (s ListSubscriptionsByTopicOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListSubscriptionsByTopicOutput) GoString() string {
- return s.String()
- }
- // Input for ListSubscriptions action.
- type ListSubscriptionsInput struct {
- _ struct{} `type:"structure"`
- // Token returned by the previous ListSubscriptions request.
- NextToken *string `type:"string"`
- }
- // String returns the string representation
- func (s ListSubscriptionsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListSubscriptionsInput) GoString() string {
- return s.String()
- }
- // Response for ListSubscriptions action
- type ListSubscriptionsOutput struct {
- _ struct{} `type:"structure"`
- // Token to pass along to the next ListSubscriptions request. This element is
- // returned if there are more subscriptions to retrieve.
- NextToken *string `type:"string"`
- // A list of subscriptions.
- Subscriptions []*Subscription `type:"list"`
- }
- // String returns the string representation
- func (s ListSubscriptionsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListSubscriptionsOutput) GoString() string {
- return s.String()
- }
- type ListTopicsInput struct {
- _ struct{} `type:"structure"`
- // Token returned by the previous ListTopics request.
- NextToken *string `type:"string"`
- }
- // String returns the string representation
- func (s ListTopicsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListTopicsInput) GoString() string {
- return s.String()
- }
- // Response for ListTopics action.
- type ListTopicsOutput struct {
- _ struct{} `type:"structure"`
- // Token to pass along to the next ListTopics request. This element is returned
- // if there are additional topics to retrieve.
- NextToken *string `type:"string"`
- // A list of topic ARNs.
- Topics []*Topic `type:"list"`
- }
- // String returns the string representation
- func (s ListTopicsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListTopicsOutput) GoString() string {
- return s.String()
- }
- // The user-specified message attribute value. For string data types, the value
- // attribute has the same restrictions on the content as the message body. For
- // more information, see Publish (http://docs.aws.amazon.com/sns/latest/api/API_Publish.html).
- //
- // Name, type, and value must not be empty or null. In addition, the message
- // body should not be empty or null. All parts of the message attribute, including
- // name, type, and value, are included in the message size restriction, which
- // is currently 256 KB (262,144 bytes). For more information, see Using Amazon
- // SNS Message Attributes (http://docs.aws.amazon.com/sns/latest/dg/SNSMessageAttributes.html).
- type MessageAttributeValue struct {
- _ struct{} `type:"structure"`
- // Binary type attributes can store any binary data, for example, compressed
- // data, encrypted data, or images.
- //
- // BinaryValue is automatically base64 encoded/decoded by the SDK.
- BinaryValue []byte `type:"blob"`
- // Amazon SNS supports the following logical data types: String, Number, and
- // Binary. For more information, see Message Attribute Data Types (http://docs.aws.amazon.com/sns/latest/dg/SNSMessageAttributes.html#SNSMessageAttributes.DataTypes).
- DataType *string `type:"string" required:"true"`
- // Strings are Unicode with UTF8 binary encoding. For a list of code values,
- // see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters (http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters).
- StringValue *string `type:"string"`
- }
- // String returns the string representation
- func (s MessageAttributeValue) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s MessageAttributeValue) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *MessageAttributeValue) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "MessageAttributeValue"}
- if s.DataType == nil {
- invalidParams.Add(request.NewErrParamRequired("DataType"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // Input for the OptInPhoneNumber action.
- type OptInPhoneNumberInput struct {
- _ struct{} `type:"structure"`
- // The phone number to opt in.
- PhoneNumber *string `locationName:"phoneNumber" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s OptInPhoneNumberInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s OptInPhoneNumberInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *OptInPhoneNumberInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "OptInPhoneNumberInput"}
- if s.PhoneNumber == nil {
- invalidParams.Add(request.NewErrParamRequired("PhoneNumber"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The response for the OptInPhoneNumber action.
- type OptInPhoneNumberOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s OptInPhoneNumberOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s OptInPhoneNumberOutput) GoString() string {
- return s.String()
- }
- // Platform application object.
- type PlatformApplication struct {
- _ struct{} `type:"structure"`
- // Attributes for platform application object.
- Attributes map[string]*string `type:"map"`
- // PlatformApplicationArn for platform application object.
- PlatformApplicationArn *string `type:"string"`
- }
- // String returns the string representation
- func (s PlatformApplication) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s PlatformApplication) GoString() string {
- return s.String()
- }
- // Input for Publish action.
- type PublishInput struct {
- _ struct{} `type:"structure"`
- // The message you want to send to the topic.
- //
- // If you want to send the same message to all transport protocols, include
- // the text of the message as a String value.
- //
- // If you want to send different messages for each transport protocol, set
- // the value of the MessageStructure parameter to json and use a JSON object
- // for the Message parameter. See the Examples section for the format of the
- // JSON object.
- //
- // Constraints: Messages must be UTF-8 encoded strings at most 256 KB in size
- // (262144 bytes, not 262144 characters).
- //
- // JSON-specific constraints:
- //
- // Keys in the JSON object that correspond to supported transport protocols
- // must have simple JSON string values.
- //
- // The values will be parsed (unescaped) before they are used in outgoing
- // messages.
- //
- // Outbound notifications are JSON encoded (meaning that the characters will
- // be reescaped for sending).
- //
- // Values have a minimum length of 0 (the empty string, "", is allowed).
- //
- // Values have a maximum length bounded by the overall message size (so,
- // including multiple protocols may limit message sizes).
- //
- // Non-string values will cause the key to be ignored.
- //
- // Keys that do not correspond to supported transport protocols are ignored.
- //
- // Duplicate keys are not allowed.
- //
- // Failure to parse or validate any key or value in the message will cause
- // the Publish call to return an error (no partial delivery).
- Message *string `type:"string" required:"true"`
- // Message attributes for Publish action.
- MessageAttributes map[string]*MessageAttributeValue `locationNameKey:"Name" locationNameValue:"Value" type:"map"`
- // Set MessageStructure to json if you want to send a different message for
- // each protocol. For example, using one publish action, you can send a short
- // message to your SMS subscribers and a longer message to your email subscribers.
- // If you set MessageStructure to json, the value of the Message parameter must:
- //
- // be a syntactically valid JSON object; and
- //
- // contain at least a top-level JSON key of "default" with a value that is
- // a string.
- //
- // You can define other top-level keys that define the message you want
- // to send to a specific transport protocol (e.g., "http").
- //
- // For information about sending different messages for each protocol using
- // the AWS Management Console, go to Create Different Messages for Each Protocol
- // (http://docs.aws.amazon.com/sns/latest/gsg/Publish.html#sns-message-formatting-by-protocol)
- // in the Amazon Simple Notification Service Getting Started Guide.
- //
- // Valid value: json
- MessageStructure *string `type:"string"`
- // The phone number to which you want to deliver an SMS message. Use E.164 format.
- //
- // If you don't specify a value for the PhoneNumber parameter, you must specify
- // a value for the TargetArn or TopicArn parameters.
- PhoneNumber *string `type:"string"`
- // Optional parameter to be used as the "Subject" line when the message is delivered
- // to email endpoints. This field will also be included, if present, in the
- // standard JSON messages delivered to other endpoints.
- //
- // Constraints: Subjects must be ASCII text that begins with a letter, number,
- // or punctuation mark; must not include line breaks or control characters;
- // and must be less than 100 characters long.
- Subject *string `type:"string"`
- // Either TopicArn or EndpointArn, but not both.
- //
- // If you don't specify a value for the TargetArn parameter, you must specify
- // a value for the PhoneNumber or TopicArn parameters.
- TargetArn *string `type:"string"`
- // The topic you want to publish to.
- //
- // If you don't specify a value for the TopicArn parameter, you must specify
- // a value for the PhoneNumber or TargetArn parameters.
- TopicArn *string `type:"string"`
- }
- // String returns the string representation
- func (s PublishInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s PublishInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *PublishInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "PublishInput"}
- if s.Message == nil {
- invalidParams.Add(request.NewErrParamRequired("Message"))
- }
- if s.MessageAttributes != nil {
- for i, v := range s.MessageAttributes {
- if v == nil {
- continue
- }
- if err := v.Validate(); err != nil {
- invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MessageAttributes", i), err.(request.ErrInvalidParams))
- }
- }
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // Response for Publish action.
- type PublishOutput struct {
- _ struct{} `type:"structure"`
- // Unique identifier assigned to the published message.
- //
- // Length Constraint: Maximum 100 characters
- MessageId *string `type:"string"`
- }
- // String returns the string representation
- func (s PublishOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s PublishOutput) GoString() string {
- return s.String()
- }
- // Input for RemovePermission action.
- type RemovePermissionInput struct {
- _ struct{} `type:"structure"`
- // The unique label of the statement you want to remove.
- Label *string `type:"string" required:"true"`
- // The ARN of the topic whose access control policy you wish to modify.
- TopicArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s RemovePermissionInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s RemovePermissionInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *RemovePermissionInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "RemovePermissionInput"}
- if s.Label == nil {
- invalidParams.Add(request.NewErrParamRequired("Label"))
- }
- if s.TopicArn == nil {
- invalidParams.Add(request.NewErrParamRequired("TopicArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type RemovePermissionOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s RemovePermissionOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s RemovePermissionOutput) GoString() string {
- return s.String()
- }
- // Input for SetEndpointAttributes action.
- type SetEndpointAttributesInput struct {
- _ struct{} `type:"structure"`
- // A map of the endpoint attributes. Attributes in this map include the following:
- //
- // CustomUserData -- arbitrary user data to associate with the endpoint. Amazon
- // SNS does not use this data. The data must be in UTF-8 format and less than
- // 2KB.
- //
- // Enabled -- flag that enables/disables delivery to the endpoint. Amazon SNS
- // will set this to false when a notification service indicates to Amazon SNS
- // that the endpoint is invalid. Users can set it back to true, typically after
- // updating Token.
- //
- // Token -- device token, also referred to as a registration id, for an app
- // and mobile device. This is returned from the notification service when an
- // app and mobile device are registered with the notification service.
- Attributes map[string]*string `type:"map" required:"true"`
- // EndpointArn used for SetEndpointAttributes action.
- EndpointArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s SetEndpointAttributesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SetEndpointAttributesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *SetEndpointAttributesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "SetEndpointAttributesInput"}
- if s.Attributes == nil {
- invalidParams.Add(request.NewErrParamRequired("Attributes"))
- }
- if s.EndpointArn == nil {
- invalidParams.Add(request.NewErrParamRequired("EndpointArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type SetEndpointAttributesOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s SetEndpointAttributesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SetEndpointAttributesOutput) GoString() string {
- return s.String()
- }
- // Input for SetPlatformApplicationAttributes action.
- type SetPlatformApplicationAttributesInput struct {
- _ struct{} `type:"structure"`
- // A map of the platform application attributes. Attributes in this map include
- // the following:
- //
- // PlatformCredential -- The credential received from the notification service.
- // For APNS/APNS_SANDBOX, PlatformCredential is private key. For GCM, PlatformCredential
- // is "API key". For ADM, PlatformCredential is "client secret".
- //
- // PlatformPrincipal -- The principal received from the notification service.
- // For APNS/APNS_SANDBOX, PlatformPrincipal is SSL certificate. For GCM, PlatformPrincipal
- // is not applicable. For ADM, PlatformPrincipal is "client id".
- //
- // EventEndpointCreated -- Topic ARN to which EndpointCreated event notifications
- // should be sent.
- //
- // EventEndpointDeleted -- Topic ARN to which EndpointDeleted event notifications
- // should be sent.
- //
- // EventEndpointUpdated -- Topic ARN to which EndpointUpdate event notifications
- // should be sent.
- //
- // EventDeliveryFailure -- Topic ARN to which DeliveryFailure event notifications
- // should be sent upon Direct Publish delivery failure (permanent) to one of
- // the application's endpoints.
- //
- // SuccessFeedbackRoleArn -- IAM role ARN used to give Amazon SNS write access
- // to use CloudWatch Logs on your behalf.
- //
- // FailureFeedbackRoleArn -- IAM role ARN used to give Amazon SNS write access
- // to use CloudWatch Logs on your behalf.
- //
- // SuccessFeedbackSampleRate -- Sample rate percentage (0-100) of successfully
- // delivered messages.
- Attributes map[string]*string `type:"map" required:"true"`
- // PlatformApplicationArn for SetPlatformApplicationAttributes action.
- PlatformApplicationArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s SetPlatformApplicationAttributesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SetPlatformApplicationAttributesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *SetPlatformApplicationAttributesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "SetPlatformApplicationAttributesInput"}
- if s.Attributes == nil {
- invalidParams.Add(request.NewErrParamRequired("Attributes"))
- }
- if s.PlatformApplicationArn == nil {
- invalidParams.Add(request.NewErrParamRequired("PlatformApplicationArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type SetPlatformApplicationAttributesOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s SetPlatformApplicationAttributesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SetPlatformApplicationAttributesOutput) GoString() string {
- return s.String()
- }
- // The input for the SetSMSAttributes action.
- type SetSMSAttributesInput struct {
- _ struct{} `type:"structure"`
- // The default settings for sending SMS messages from your account. You can
- // set values for the following attribute names:
- //
- // MonthlySpendLimit – The maximum amount in USD that you are willing to spend
- // each month to send SMS messages. When Amazon SNS determines that sending
- // an SMS message would incur a cost that exceeds this limit, it stops sending
- // SMS messages within minutes.
- //
- // Amazon SNS stops sending SMS messages within minutes of the limit being
- // crossed. During that interval, if you continue to send SMS messages, you
- // will incur costs that exceed your limit.
- //
- // DeliveryStatusIAMRole – The ARN of the IAM role that allows Amazon SNS
- // to write logs about SMS deliveries in CloudWatch Logs. For each SMS message
- // that you send, Amazon SNS writes a log that includes the message price, the
- // success or failure status, the reason for failure (if the message failed),
- // the message dwell time, and other information.
- //
- // DeliveryStatusSuccessSamplingRate – The percentage of successful SMS deliveries
- // for which Amazon SNS will write logs in CloudWatch Logs. The value can be
- // an integer from 0 - 100. For example, to write logs only for failed deliveries,
- // set this value to 0. To write logs for 10% of your successful deliveries,
- // set it to 10.
- //
- // DefaultSenderID – A string, such as your business brand, that is displayed
- // as the sender on the receiving device. Support for sender IDs varies by country.
- // The sender ID can be 1 - 11 alphanumeric characters, and it must contain
- // at least one letter.
- //
- // DefaultSMSType – The type of SMS message that you will send by default.
- // You can assign the following values:
- //
- // Promotional – Noncritical messages, such as marketing messages. Amazon
- // SNS optimizes the message delivery to incur the lowest cost.
- //
- // Transactional – (Default) Critical messages that support customer transactions,
- // such as one-time passcodes for multi-factor authentication. Amazon SNS optimizes
- // the message delivery to achieve the highest reliability.
- //
- // UsageReportS3Bucket – The name of the Amazon S3 bucket to receive daily
- // SMS usage reports from Amazon SNS. Each day, Amazon SNS will deliver a usage
- // report as a CSV file to the bucket. The report includes the following information
- // for each SMS message that was successfully delivered by your account:
- //
- // Time that the message was published (in UTC)
- //
- // Message ID
- //
- // Destination phone number
- //
- // Message type
- //
- // Delivery status
- //
- // Message price (in USD)
- //
- // Part number (a message is split into multiple parts if it is too long
- // for a single message)
- //
- // Total number of parts
- //
- // To receive the report, the bucket must have a policy that allows the Amazon
- // SNS service principle to perform the s3:PutObject and s3:GetBucketLocation
- // actions.
- //
- // For an example bucket policy and usage report, see Viewing Statistics About
- // SMS Message Delivery (http://docs.aws.amazon.com/sns/latest/dg/sms_stats.html)
- // in the Amazon SNS Developer Guide.
- Attributes map[string]*string `locationName:"attributes" type:"map" required:"true"`
- }
- // String returns the string representation
- func (s SetSMSAttributesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SetSMSAttributesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *SetSMSAttributesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "SetSMSAttributesInput"}
- if s.Attributes == nil {
- invalidParams.Add(request.NewErrParamRequired("Attributes"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // The response for the SetSMSAttributes action.
- type SetSMSAttributesOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s SetSMSAttributesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SetSMSAttributesOutput) GoString() string {
- return s.String()
- }
- // Input for SetSubscriptionAttributes action.
- type SetSubscriptionAttributesInput struct {
- _ struct{} `type:"structure"`
- // The name of the attribute you want to set. Only a subset of the subscriptions
- // attributes are mutable.
- //
- // Valid values: DeliveryPolicy | RawMessageDelivery
- AttributeName *string `type:"string" required:"true"`
- // The new value for the attribute in JSON format.
- AttributeValue *string `type:"string"`
- // The ARN of the subscription to modify.
- SubscriptionArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s SetSubscriptionAttributesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SetSubscriptionAttributesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *SetSubscriptionAttributesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "SetSubscriptionAttributesInput"}
- if s.AttributeName == nil {
- invalidParams.Add(request.NewErrParamRequired("AttributeName"))
- }
- if s.SubscriptionArn == nil {
- invalidParams.Add(request.NewErrParamRequired("SubscriptionArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type SetSubscriptionAttributesOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s SetSubscriptionAttributesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SetSubscriptionAttributesOutput) GoString() string {
- return s.String()
- }
- // Input for SetTopicAttributes action.
- type SetTopicAttributesInput struct {
- _ struct{} `type:"structure"`
- // The name of the attribute you want to set. Only a subset of the topic's attributes
- // are mutable.
- //
- // Valid values: Policy | DisplayName | DeliveryPolicy
- AttributeName *string `type:"string" required:"true"`
- // The new value for the attribute.
- AttributeValue *string `type:"string"`
- // The ARN of the topic to modify.
- TopicArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s SetTopicAttributesInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SetTopicAttributesInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *SetTopicAttributesInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "SetTopicAttributesInput"}
- if s.AttributeName == nil {
- invalidParams.Add(request.NewErrParamRequired("AttributeName"))
- }
- if s.TopicArn == nil {
- invalidParams.Add(request.NewErrParamRequired("TopicArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type SetTopicAttributesOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s SetTopicAttributesOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SetTopicAttributesOutput) GoString() string {
- return s.String()
- }
- // Input for Subscribe action.
- type SubscribeInput struct {
- _ struct{} `type:"structure"`
- // The endpoint that you want to receive notifications. Endpoints vary by protocol:
- //
- // For the http protocol, the endpoint is an URL beginning with "http://"
- //
- // For the https protocol, the endpoint is a URL beginning with "https://"
- //
- // For the email protocol, the endpoint is an email address
- //
- // For the email-json protocol, the endpoint is an email address
- //
- // For the sms protocol, the endpoint is a phone number of an SMS-enabled
- // device
- //
- // For the sqs protocol, the endpoint is the ARN of an Amazon SQS queue
- //
- // For the application protocol, the endpoint is the EndpointArn of a mobile
- // app and device.
- //
- // For the lambda protocol, the endpoint is the ARN of an AWS Lambda function.
- Endpoint *string `type:"string"`
- // The protocol you want to use. Supported protocols include:
- //
- // http -- delivery of JSON-encoded message via HTTP POST
- //
- // https -- delivery of JSON-encoded message via HTTPS POST
- //
- // email -- delivery of message via SMTP
- //
- // email-json -- delivery of JSON-encoded message via SMTP
- //
- // sms -- delivery of message via SMS
- //
- // sqs -- delivery of JSON-encoded message to an Amazon SQS queue
- //
- // application -- delivery of JSON-encoded message to an EndpointArn for
- // a mobile app and device.
- //
- // lambda -- delivery of JSON-encoded message to an AWS Lambda function.
- Protocol *string `type:"string" required:"true"`
- // The ARN of the topic you want to subscribe to.
- TopicArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s SubscribeInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SubscribeInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *SubscribeInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "SubscribeInput"}
- if s.Protocol == nil {
- invalidParams.Add(request.NewErrParamRequired("Protocol"))
- }
- if s.TopicArn == nil {
- invalidParams.Add(request.NewErrParamRequired("TopicArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // Response for Subscribe action.
- type SubscribeOutput struct {
- _ struct{} `type:"structure"`
- // The ARN of the subscription, if the service was able to create a subscription
- // immediately (without requiring endpoint owner confirmation).
- SubscriptionArn *string `type:"string"`
- }
- // String returns the string representation
- func (s SubscribeOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SubscribeOutput) GoString() string {
- return s.String()
- }
- // A wrapper type for the attributes of an Amazon SNS subscription.
- type Subscription struct {
- _ struct{} `type:"structure"`
- // The subscription's endpoint (format depends on the protocol).
- Endpoint *string `type:"string"`
- // The subscription's owner.
- Owner *string `type:"string"`
- // The subscription's protocol.
- Protocol *string `type:"string"`
- // The subscription's ARN.
- SubscriptionArn *string `type:"string"`
- // The ARN of the subscription's topic.
- TopicArn *string `type:"string"`
- }
- // String returns the string representation
- func (s Subscription) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Subscription) GoString() string {
- return s.String()
- }
- // A wrapper type for the topic's Amazon Resource Name (ARN). To retrieve a
- // topic's attributes, use GetTopicAttributes.
- type Topic struct {
- _ struct{} `type:"structure"`
- // The topic's ARN.
- TopicArn *string `type:"string"`
- }
- // String returns the string representation
- func (s Topic) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Topic) GoString() string {
- return s.String()
- }
- // Input for Unsubscribe action.
- type UnsubscribeInput struct {
- _ struct{} `type:"structure"`
- // The ARN of the subscription to be deleted.
- SubscriptionArn *string `type:"string" required:"true"`
- }
- // String returns the string representation
- func (s UnsubscribeInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UnsubscribeInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *UnsubscribeInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "UnsubscribeInput"}
- if s.SubscriptionArn == nil {
- invalidParams.Add(request.NewErrParamRequired("SubscriptionArn"))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- type UnsubscribeOutput struct {
- _ struct{} `type:"structure"`
- }
- // String returns the string representation
- func (s UnsubscribeOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s UnsubscribeOutput) GoString() string {
- return s.String()
- }
|