class Google::Apis::IamV1::ServiceAccount

An IAM service account. A service account is an account for an application or a virtual machine (VM) instance, not a person. You can use a service account to call Google APIs. To learn more, read the [overview of service accounts]( cloud.google.com/iam/help/service-accounts/overview). When you create a service account, you specify the project ID that owns the service account, as well as a name that must be unique within the project. IAM uses these values to create an email address that identifies the service account.

Attributes

description[RW]

Optional. A user-specified, human-readable description of the service account. The maximum length is 256 UTF-8 bytes. Corresponds to the JSON property `description` @return [String]

disabled[RW]

Output only. Whether the service account is disabled. Corresponds to the JSON property `disabled` @return [Boolean]

disabled?[RW]

Output only. Whether the service account is disabled. Corresponds to the JSON property `disabled` @return [Boolean]

display_name[RW]

Optional. A user-specified, human-readable name for the service account. The maximum length is 100 UTF-8 bytes. Corresponds to the JSON property `displayName` @return [String]

email[RW]

Output only. The email address of the service account. Corresponds to the JSON property `email` @return [String]

etag[RW]

Deprecated. Do not use. Corresponds to the JSON property `etag` NOTE: Values are automatically base64 encoded/decoded in the client library. @return [String]

name[RW]

The resource name of the service account. Use one of the following formats: * ` projects/`PROJECT_ID`/serviceAccounts/`EMAIL_ADDRESS“ * `projects/`PROJECT_ID` /serviceAccounts/`UNIQUE_ID“ As an alternative, you can use the `-` wildcard character instead of the project ID: * `projects/-/serviceAccounts/` EMAIL_ADDRESS“ * `projects/-/serviceAccounts/`UNIQUE_ID“ When possible, avoid using the `-` wildcard character, because it can cause response messages to contain misleading error codes. For example, if you try to get the service account `projects/-/serviceAccounts/fake@example.com`, which does not exist, the response contains an HTTP `403 Forbidden` error instead of a `404 Not Found` error. Corresponds to the JSON property `name` @return [String]

oauth2_client_id[RW]

Output only. The OAuth 2.0 client ID for the service account. Corresponds to the JSON property `oauth2ClientId` @return [String]

project_id[RW]

Output only. The ID of the project that owns the service account. Corresponds to the JSON property `projectId` @return [String]

unique_id[RW]

Output only. The unique, stable numeric ID for the service account. Each service account retains its unique ID even if you delete the service account. For example, if you delete a service account, then create a new service account with the same name, the new service account has a different unique ID than the deleted service account. Corresponds to the JSON property `uniqueId` @return [String]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/iam_v1/classes.rb, line 1393
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/iam_v1/classes.rb, line 1398
def update!(**args)
  @description = args[:description] if args.key?(:description)
  @disabled = args[:disabled] if args.key?(:disabled)
  @display_name = args[:display_name] if args.key?(:display_name)
  @email = args[:email] if args.key?(:email)
  @etag = args[:etag] if args.key?(:etag)
  @name = args[:name] if args.key?(:name)
  @oauth2_client_id = args[:oauth2_client_id] if args.key?(:oauth2_client_id)
  @project_id = args[:project_id] if args.key?(:project_id)
  @unique_id = args[:unique_id] if args.key?(:unique_id)
end