1import * as sns from "@distilled.cloud/aws/sns";
2import * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5export interface SetSMSAttributesRequest extends sns.SetSMSAttributesInput {}
6
7/**
8 * Runtime binding for `sns:SetSMSAttributes`.
9 *
10 * An account-scoped operation — updates the account-level SMS settings,
11 * e.g. switching the default message type between `Promotional` and
12 * `Transactional`.
13 * Provide the `SetSMSAttributesHttp` layer on the Function to implement the binding.
14 * ### SMS Account Settings
15 * **Example:** Set the Default SMS Type
16 * ```typescript
17 * const setSmsAttributes = yield* SNS.SetSMSAttributes();
18 * yield* setSmsAttributes({
19 * attributes: { DefaultSMSType: "Transactional" },
20 * });
21 * ```
22 *
23 * @binding
24 */
25export interface SetSMSAttributes extends Binding.Service<
26 SetSMSAttributes,
27 "AWS.SNS.SetSMSAttributes",
28 () => Effect.Effect<
29 (
30 request: SetSMSAttributesRequest,
31 ) => Effect.Effect<sns.SetSMSAttributesResponse, sns.SetSMSAttributesError>
32 >
33> {}
34
35export const SetSMSAttributes = Binding.Service<SetSMSAttributes>(
36 "AWS.SNS.SetSMSAttributes",
37);