Class: Google::Apis::IamV1::ServiceAccount

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/iam_v1/classes.rb,
lib/google/apis/iam_v1/representations.rb,
lib/google/apis/iam_v1/representations.rb

Overview

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. 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.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ ServiceAccount

Returns a new instance of ServiceAccount.



1367
1368
1369
# File 'lib/google/apis/iam_v1/classes.rb', line 1367

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#descriptionString

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

Returns:

  • (String)


1309
1310
1311
# File 'lib/google/apis/iam_v1/classes.rb', line 1309

def description
  @description
end

#disabledBoolean Also known as: disabled?

Output only. Whether the service account is disabled. Corresponds to the JSON property disabled

Returns:

  • (Boolean)


1314
1315
1316
# File 'lib/google/apis/iam_v1/classes.rb', line 1314

def disabled
  @disabled
end

#display_nameString

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

Returns:

  • (String)


1321
1322
1323
# File 'lib/google/apis/iam_v1/classes.rb', line 1321

def display_name
  @display_name
end

#emailString

Output only. The email address of the service account. Corresponds to the JSON property email

Returns:

  • (String)


1326
1327
1328
# File 'lib/google/apis/iam_v1/classes.rb', line 1326

def email
  @email
end

#etagString

Deprecated. Do not use. Corresponds to the JSON property etag NOTE: Values are automatically base64 encoded/decoded in the client library.

Returns:

  • (String)


1332
1333
1334
# File 'lib/google/apis/iam_v1/classes.rb', line 1332

def etag
  @etag
end

#nameString

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

Returns:

  • (String)


1346
1347
1348
# File 'lib/google/apis/iam_v1/classes.rb', line 1346

def name
  @name
end

#oauth2_client_idString

Output only. The OAuth 2.0 client ID for the service account. Corresponds to the JSON property oauth2ClientId

Returns:

  • (String)


1351
1352
1353
# File 'lib/google/apis/iam_v1/classes.rb', line 1351

def oauth2_client_id
  @oauth2_client_id
end

#project_idString

Output only. The ID of the project that owns the service account. Corresponds to the JSON property projectId

Returns:

  • (String)


1356
1357
1358
# File 'lib/google/apis/iam_v1/classes.rb', line 1356

def project_id
  @project_id
end

#unique_idString

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

Returns:

  • (String)


1365
1366
1367
# File 'lib/google/apis/iam_v1/classes.rb', line 1365

def unique_id
  @unique_id
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
# File 'lib/google/apis/iam_v1/classes.rb', line 1372

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