Class: Google::Apis::IamV1::ServiceAccount
- Inherits:
- 
      Object
      
        - Object
- Google::Apis::IamV1::ServiceAccount
 
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- generated/google/apis/iam_v1/classes.rb,
 generated/google/apis/iam_v1/representations.rb,
 generated/google/apis/iam_v1/representations.rb
Overview
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 thePROJECT_IDwill infer the project from
the account. TheACCOUNTvalue can be theemailaddress or the
unique_id` of the service account.
Instance Attribute Summary collapse
- 
  
    
      #display_name  ⇒ String 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Optional. 
- 
  
    
      #email  ⇒ String 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Corresponds to the JSON property email.
- 
  
    
      #etag  ⇒ String 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Used to perform a consistent read-modify-write. 
- 
  
    
      #name  ⇒ String 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    The resource name of the service account in the following format: projects/PROJECT_ID/serviceAccounts/ACCOUNT``.
- 
  
    
      #oauth2_client_id  ⇒ String 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    This is used in conjunction with the OAuth2 clientconfig API to make three legged OAuth2 (3LO) flows to access the data of Google users. 
- 
  
    
      #project_id  ⇒ String 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Corresponds to the JSON property projectId.
- 
  
    
      #unique_id  ⇒ String 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Corresponds to the JSON property uniqueId.
Instance Method Summary collapse
- 
  
    
      #initialize(**args)  ⇒ ServiceAccount 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of ServiceAccount. 
- 
  
    
      #update!(**args)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Update properties of this object. 
Methods included from Core::JsonObjectSupport
Methods included from Core::Hashable
Constructor Details
#initialize(**args) ⇒ ServiceAccount
Returns a new instance of ServiceAccount
| 898 899 900 | # File 'generated/google/apis/iam_v1/classes.rb', line 898 def initialize(**args) update!(**args) end | 
Instance Attribute Details
#display_name ⇒ String
Optional. A user-specified description of the service account.  Must be
fewer than 100 UTF-8 bytes.
Corresponds to the JSON property displayName
| 857 858 859 | # File 'generated/google/apis/iam_v1/classes.rb', line 857 def display_name @display_name end | 
#email ⇒ String
Corresponds to the JSON property email
| 862 863 864 | # File 'generated/google/apis/iam_v1/classes.rb', line 862 def email @email end | 
#etag ⇒ String
Used to perform a consistent read-modify-write.
Corresponds to the JSON property etag
NOTE: Values are automatically base64 encoded/decoded in the client library.
| 868 869 870 | # File 'generated/google/apis/iam_v1/classes.rb', line 868 def etag @etag end | 
#name ⇒ String
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.
Corresponds to the JSON property name
| 879 880 881 | # File 'generated/google/apis/iam_v1/classes.rb', line 879 def name @name end | 
#oauth2_client_id ⇒ String
This is used in conjunction with the OAuth2 clientconfig API to make
three legged OAuth2 (3LO) flows to access the data of Google users.
Corresponds to the JSON property oauth2ClientId
| 886 887 888 | # File 'generated/google/apis/iam_v1/classes.rb', line 886 def oauth2_client_id @oauth2_client_id end | 
#project_id ⇒ String
Corresponds to the JSON property projectId
| 891 892 893 | # File 'generated/google/apis/iam_v1/classes.rb', line 891 def project_id @project_id end | 
#unique_id ⇒ String
Corresponds to the JSON property uniqueId
| 896 897 898 | # File 'generated/google/apis/iam_v1/classes.rb', line 896 def unique_id @unique_id end | 
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
| 903 904 905 906 907 908 909 910 911 | # File 'generated/google/apis/iam_v1/classes.rb', line 903 def update!(**args) @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 |