1import type * as fms from "@distilled.cloud/aws/fms";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Request for {@link DisassociateThirdPartyFirewall}.
7 */
8export interface DisassociateThirdPartyFirewallRequest
9 extends fms.DisassociateThirdPartyFirewallRequest {}
10
11/**
12 * Runtime binding for `fms:DisassociateThirdPartyFirewall`.
13 *
14 * Disassociates a Firewall Manager policy administrator from a third-party firewall tenant. The third-party vendor deletes all of the firewalls
15 * associated with the account. Provide the implementation with `Effect.provide(AWS.FMS.DisassociateThirdPartyFirewallHttp)`.
16 * ### Third-Party Firewalls
17 * **Example:** Offboard a Third-Party Firewall Vendor
18 * ```typescript
19 * // init — account-level binding takes no resource
20 * const disassociateThirdPartyFirewall = yield* AWS.FMS.DisassociateThirdPartyFirewall();
21 *
22 * // runtime
23 * const result = yield* disassociateThirdPartyFirewall({
24 * ThirdPartyFirewall: "PALO_ALTO_NETWORKS_CLOUD_NGFW",
25 * });
26 * console.log(result.ThirdPartyFirewallStatus);
27 * ```
28 *
29 * @binding
30 */
31export interface DisassociateThirdPartyFirewall extends Binding.Service<
32 DisassociateThirdPartyFirewall,
33 "AWS.FMS.DisassociateThirdPartyFirewall",
34 () => Effect.Effect<
35 (
36 request: DisassociateThirdPartyFirewallRequest,
37 ) => Effect.Effect<
38 fms.DisassociateThirdPartyFirewallResponse,
39 fms.DisassociateThirdPartyFirewallError
40 >
41 >
42> {}
43
44export const DisassociateThirdPartyFirewall =
45 Binding.Service<DisassociateThirdPartyFirewall>(
46 "AWS.FMS.DisassociateThirdPartyFirewall",
47 );