Packages
google_api_iam
0.20.0
0.45.0
0.44.4
0.44.3
0.44.2
0.44.1
0.44.0
0.43.0
0.42.0
0.41.0
0.40.0
0.39.0
0.38.0
0.37.3
0.37.2
0.37.1
0.37.0
0.36.1
0.36.0
0.35.0
0.34.0
0.33.3
0.33.2
0.33.1
0.33.0
0.32.0
0.31.0
0.30.0
0.29.2
0.29.1
0.29.0
0.28.2
0.28.1
0.28.0
0.27.0
0.26.4
0.26.3
0.26.2
0.26.1
0.26.0
0.25.0
0.24.0
0.23.0
0.22.0
0.21.0
0.20.0
0.19.0
0.18.0
0.17.0
0.16.0
0.15.0
0.14.0
0.13.0
0.12.0
0.11.0
0.10.0
0.9.0
0.8.1
0.7.0
0.6.0
0.5.0
0.4.0
0.2.0
0.1.0
0.0.1
Identity and Access Management (IAM) API client library.
Current section
Files
Jump to
Current section
Files
lib/google_api/iam/v1/model/service_account.ex
# Copyright 2019 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# NOTE: This file is auto generated by the elixir code generator program.
# Do not edit this file manually.
defmodule GoogleApi.IAM.V1.Model.ServiceAccount do
@moduledoc """
A service account in the Identity and Access Management API.
To create a service account, specify the `project_id` and the `account_id`
for the account. The `account_id` is unique within the project, and is used
to generate the service account email address and a stable
`unique_id`.
If the account already exists, the account's resource name is returned
in the format of projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}. The caller
can use the name in other methods to access the account.
All other methods can identify the service account using the format
`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
Using `-` as a wildcard for the `PROJECT_ID` will infer the project from
the account. The `ACCOUNT` value can be the `email` address or the
`unique_id` of the service account.
## Attributes
* `description` (*type:* `String.t`, *default:* `nil`) - Optional. A user-specified opaque description of the service account.
Must be less than or equal to 256 UTF-8 bytes.
* `disabled` (*type:* `boolean()`, *default:* `nil`) - @OutputOnly A bool indicate if the service account is disabled.
The field is currently in alpha phase.
* `displayName` (*type:* `String.t`, *default:* `nil`) - Optional. A user-specified name for the service account.
Must be less than or equal to 100 UTF-8 bytes.
* `email` (*type:* `String.t`, *default:* `nil`) - @OutputOnly The email address of the service account.
* `etag` (*type:* `String.t`, *default:* `nil`) - Optional. Note: `etag` is an inoperable legacy field that is only returned
for backwards compatibility.
* `name` (*type:* `String.t`, *default:* `nil`) - The resource name of the service account in the following format:
`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
Requests using `-` as a wildcard for the `PROJECT_ID` will infer the
project from the `account` and the `ACCOUNT` value can be the `email`
address or the `unique_id` of the service account.
In responses the resource name will always be in the format
`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
* `oauth2ClientId` (*type:* `String.t`, *default:* `nil`) - @OutputOnly The OAuth2 client id for the service account.
This is used in conjunction with the OAuth2 clientconfig API to make
three legged OAuth2 (3LO) flows to access the data of Google users.
* `projectId` (*type:* `String.t`, *default:* `nil`) - @OutputOnly The id of the project that owns the service account.
* `uniqueId` (*type:* `String.t`, *default:* `nil`) - @OutputOnly The unique and stable id of the service account.
"""
use GoogleApi.Gax.ModelBase
@type t :: %__MODULE__{
:description => String.t(),
:disabled => boolean(),
:displayName => String.t(),
:email => String.t(),
:etag => String.t(),
:name => String.t(),
:oauth2ClientId => String.t(),
:projectId => String.t(),
:uniqueId => String.t()
}
field(:description)
field(:disabled)
field(:displayName)
field(:email)
field(:etag)
field(:name)
field(:oauth2ClientId)
field(:projectId)
field(:uniqueId)
end
defimpl Poison.Decoder, for: GoogleApi.IAM.V1.Model.ServiceAccount do
def decode(value, options) do
GoogleApi.IAM.V1.Model.ServiceAccount.decode(value, options)
end
end
defimpl Poison.Encoder, for: GoogleApi.IAM.V1.Model.ServiceAccount do
def encode(value, options) do
GoogleApi.Gax.ModelBase.encode(value, options)
end
end