1import * as oracle from "@distilled.cloud/gcp/oracledatabase_v1";
2import * as Layer from "effect/Layer";
3import { makeOracleNameHttpBinding } from "./BindingHttp.ts";
4import { GenerateWallet } from "./GenerateWallet.ts";
5
6/**
7 * HTTP implementation of {@link GenerateWallet}.
8 *
9 * @layer
10 * @provides GCP.OracleDatabase.GenerateWallet
11 */
12export const GenerateWalletHttp = Layer.effect(
13 GenerateWallet,
14 makeOracleNameHttpBinding({
15 tag: "GCP.OracleDatabase.GenerateWallet",
16 operation: oracle.generateWalletProjectsLocationsAutonomousDatabases,
17 // Narrowest predefined role with this autonomousDatabases permission.
18 iam: { role: "roles/oracledatabase.autonomousDatabaseAdmin" },
19 }),
20);