import type * as eks from "@distilled.cloud/aws/eks"; import type * as Effect from "effect/Effect"; import * as Binding from "../../Binding.ts"; import type { Cluster } from "./Cluster.ts"; /** * Runtime binding for `eks:ListAssociatedAccessPolicies`. * * Enumerates the EKS access policies associated with one access entry's IAM principal. * The cluster `clusterName` is injected from the bound {@link Cluster} and `eks:ListAssociatedAccessPolicies` is granted on the cluster's sub-resource ARNs. * Provide the implementation with * `Effect.provide(AWS.EKS.ListAssociatedAccessPoliciesHttp)`. * ### Inspecting Identity and Access * **Example:** List a Principal's Access Policies * ```typescript * // init * const listAssociatedAccessPolicies = * yield* AWS.EKS.ListAssociatedAccessPolicies(cluster); * * // runtime * const { associatedAccessPolicies } = yield* listAssociatedAccessPolicies({ * principalArn, * }); * ``` * * @binding */ export interface ListAssociatedAccessPolicies extends Binding.Service< ListAssociatedAccessPolicies, "AWS.EKS.ListAssociatedAccessPolicies", ( cluster: Cluster, ) => Effect.Effect< ( request: Omit, ) => Effect.Effect< eks.ListAssociatedAccessPoliciesResponse, eks.ListAssociatedAccessPoliciesError > > > {} export const ListAssociatedAccessPolicies = Binding.Service( "AWS.EKS.ListAssociatedAccessPolicies", );