// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. // Package sns provides the client and types for making API // requests to Amazon Simple Notification Service. // // Amazon Simple Notification Service (Amazon SNS) is a web service that enables // you to build distributed web-enabled applications. Applications can use Amazon // SNS to easily push real-time notification messages to interested subscribers // over multiple delivery protocols. For more information about this product // see http://aws.amazon.com/sns (http://aws.amazon.com/sns/). For detailed // information about Amazon SNS features and their associated API calls, see // the Amazon SNS Developer Guide (http://docs.aws.amazon.com/sns/latest/dg/). // // We also provide SDKs that enable you to access Amazon SNS from your preferred // programming language. The SDKs contain functionality that automatically takes // care of tasks such as: cryptographically signing your service requests, retrying // requests, and handling error responses. For a list of available SDKs, go // to Tools for Amazon Web Services (http://aws.amazon.com/tools/). // // See https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31 for more information on this service. // // See sns package documentation for more information. // https://docs.aws.amazon.com/sdk-for-go/api/service/sns/ // // Using the Client // // To use the client for Amazon Simple Notification Service you will first need // to create a new instance of it. // // When creating a client for an AWS service you'll first need to have a Session // already created. The Session provides configuration that can be shared // between multiple service clients. Additional configuration can be applied to // the Session and service's client when they are constructed. The aws package's // Config type contains several fields such as Region for the AWS Region the // client should make API requests too. The optional Config value can be provided // as the variadic argument for Sessions and client creation. // // Once the service's client is created you can use it to make API requests the // AWS service. These clients are safe to use concurrently. // // // Create a session to share configuration, and load external configuration. // sess := session.Must(session.NewSession()) // // // Create the service's client with the session. // svc := sns.New(sess) // // See the SDK's documentation for more information on how to use service clients. // https://docs.aws.amazon.com/sdk-for-go/api/ // // See aws package's Config type for more information on configuration options. // https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config // // See the Amazon Simple Notification Service client SNS for more // information on creating the service's client. // https://docs.aws.amazon.com/sdk-for-go/api/service/sns/#New // // Once the client is created you can make an API request to the service. // Each API method takes a input parameter, and returns the service response // and an error. // // The API method will document which error codes the service can be returned // by the operation if the service models the API operation's errors. These // errors will also be available as const strings prefixed with "ErrCode". // // result, err := svc.AddPermission(params) // if err != nil { // // Cast err to awserr.Error to handle specific error codes. // aerr, ok := err.(awserr.Error) // if ok && aerr.Code() == { // // Specific error code handling // } // return err // } // // fmt.Println("AddPermission result:") // fmt.Println(result) // // Using the Client with Context // // The service's client also provides methods to make API requests with a Context // value. This allows you to control the timeout, and cancellation of pending // requests. These methods also take request Option as variadic parameter to apply // additional configuration to the API request. // // ctx := context.Background() // // result, err := svc.AddPermissionWithContext(ctx, params) // // See the request package documentation for more information on using Context pattern // with the SDK. // https://docs.aws.amazon.com/sdk-for-go/api/aws/request/ package sns