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.



2248
2249
2250
# File 'lib/google/apis/iam_v1/classes.rb', line 2248

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)


2190
2191
2192
# File 'lib/google/apis/iam_v1/classes.rb', line 2190

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)


2195
2196
2197
# File 'lib/google/apis/iam_v1/classes.rb', line 2195

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)


2202
2203
2204
# File 'lib/google/apis/iam_v1/classes.rb', line 2202

def display_name
  @display_name
end

#emailString

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

Returns:

  • (String)


2207
2208
2209
# File 'lib/google/apis/iam_v1/classes.rb', line 2207

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)


2213
2214
2215
# File 'lib/google/apis/iam_v1/classes.rb', line 2213

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 access 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)


2227
2228
2229
# File 'lib/google/apis/iam_v1/classes.rb', line 2227

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)


2232
2233
2234
# File 'lib/google/apis/iam_v1/classes.rb', line 2232

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)


2237
2238
2239
# File 'lib/google/apis/iam_v1/classes.rb', line 2237

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)


2246
2247
2248
# File 'lib/google/apis/iam_v1/classes.rb', line 2246

def unique_id
  @unique_id
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
# File 'lib/google/apis/iam_v1/classes.rb', line 2253

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