componentized/directory

componentized:services-keyvalue-credential-admin

component

Imports

Exports

WIT

package root:component;

world root {
  import componentized:services/types;
  import wasi:config/store@0.2.0-draft;
  import wasi:keyvalue/store@0.2.0-draft2;

  export componentized:services/credential-admin;
}
package componentized:services {
  interface types {
    type service-binding-id = string;

    record credential {
      key: string,
      value: string,
    }

    type error = string;
  }
  interface credential-admin {
    use types.{service-binding-id, credential, error};

    publish: func(binding-id: service-binding-id, credentials: list<credential>) -> result<_, error>;

    destroy: func(binding-id: service-binding-id) -> result<_, error>;
  }
}


package wasi:config@0.2.0-draft {
  interface store {
    variant error {
      upstream(string),
      io(string),
    }

    get: func(key: string) -> result<option<string>, error>;
  }
}


package wasi:keyvalue@0.2.0-draft2 {
  interface store {
    resource bucket {
      set: func(key: string, value: list<u8>) -> result<_, error>;
      delete: func(key: string) -> result<_, error>;
    }

    variant error {
      no-such-store,
      access-denied,
      other(string),
    }

    open: func(identifier: string) -> result<bucket, error>;
  }
}