Geminix.V1beta.Permission (geminix v0.2.0)

Permission resource grants user, group or the rest of the world access to the PaLM API resource (e.g. a tuned model, corpus). A role is a collection of permitted operations that allows users to perform specific actions on PaLM API resources. To make them available to users, groups, or service accounts, you assign roles. When you assign a role, you grant permissions that the role contains. There are three concentric roles. Each role is a superset of the previous role's permitted operations: - reader can use the resource (e.g. tuned model, corpus) for inference - writer has reader's permissions and additionally can edit and share - owner has writer's permissions and additionally can delete

Fields:

  • :email_address (binary/0) - Optional. Immutable. The email address of the user of group which this permission refers. Field is not set when permission's grantee type is EVERYONE.
  • :grantee_type (binary/0) - Optional. Immutable. The type of the grantee.
  • :name (binary/0) - Output only. Identifier. The permission name. A unique name will be generated on create. Examples: tunedModels/{tuned_model}/permissions/{permission} corpora/{corpus}/permissions/{permission} Output only.
  • :role (binary/0) - Required. The role granted by this permission.

Summary

Functions

Create a Geminix.V1beta.Permission.t/0 from a map returned by the Gemini API.

Types

t()

@type t() :: %Geminix.V1beta.Permission{
  __meta__: term(),
  email_address: binary(),
  grantee_type: binary(),
  name: binary(),
  role: binary()
}

Functions

from_map(schema \\ %__MODULE__{}, map)

@spec from_map(t(), map()) :: {:ok, t()} | {:error, Ecto.Changeset.t()}

Create a Geminix.V1beta.Permission.t/0 from a map returned by the Gemini API.

Sometimes, this function should not be applied to the full response body, but instead it should be applied to the correct part of the map in the response body. This depends on the concrete API call.