Class: AWS::IAM::AccessKey

Inherits:
Resource
  • Object
show all
Defined in:
lib/aws/iam/access_key.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Resource

#exists?

Constructor Details

#initialize(access_key_id, options = {}) ⇒ AccessKey

Returns a new instance of AccessKey.



27
28
29
30
31
32
# File 'lib/aws/iam/access_key.rb', line 27

def initialize access_key_id, options = {}
  @id = access_key_id
  options[:secret_value] = nil unless options.has_key?(:secret_value)
  @user = options[:user]
  @user ? super(@user, options) : super(options)
end

Instance Attribute Details

#idString (readonly) Also known as: access_key_id



40
41
42
# File 'lib/aws/iam/access_key.rb', line 40

def id
  @id
end

#statusSymbol (readonly)

The status of this access key. Status may be :active or :inactive.



20
21
22
# File 'lib/aws/iam/access_key.rb', line 20

def status
  @status
end

#userUser? (readonly)



37
38
39
# File 'lib/aws/iam/access_key.rb', line 37

def user
  @user
end

Instance Method Details

#activate!nil

Activates this access key.

Examples:

access_key.activate!
access_key.status
# => :active


109
110
111
112
# File 'lib/aws/iam/access_key.rb', line 109

def activate!
  self.status = 'Active'
  nil
end

#active?Boolean



92
93
94
# File 'lib/aws/iam/access_key.rb', line 92

def active?
  status == :active
end

#credentialsHash

Returns a hash that should be saved somewhere safe.

access_keys = iam.access_keys.create
access_keys.credentials
#=> { :access_key_id => '...', :secret_access_key => '...' }

You can also use these credentials to make requests:

s3 = AWS::S3.new(access_keys.credentials)
s3.buckets.create('newbucket')


147
148
149
# File 'lib/aws/iam/access_key.rb', line 147

def credentials
  { :access_key_id => id, :secret_access_key => secret }
end

#deactivate!nil

Deactivates this access key.

Examples:

access_key.deactivate!
access_key.status
# => :inactive


123
124
125
126
# File 'lib/aws/iam/access_key.rb', line 123

def deactivate!
  self.status = 'Inactive'
  nil
end

#deleteObject

Deletes the access key.



129
130
131
132
# File 'lib/aws/iam/access_key.rb', line 129

def delete
  client.delete_access_key(resource_options)
  nil
end

#inactive?Boolean



97
98
99
# File 'lib/aws/iam/access_key.rb', line 97

def inactive?
  status == :inactive
end

#secretString Also known as: secret_access_key

Returns the secret access key.

You can only access the secret for newly created access keys. Calling secret on existing access keys raises an error.

Examples:

Getting the secret from a newly created access key


access_key = iam.access_keys.create
access_key.secret
#=> 'SECRET_ACCESS_KEY'

Failing to get the secret from an existing access key.


access_key = iam.access_keys.first
access_key.secret
#=> raises a runtime error


78
79
80
# File 'lib/aws/iam/access_key.rb', line 78

def secret
  secret_value or raise 'secret is only available for new access keys'
end

#user_nameString?



87
88
89
# File 'lib/aws/iam/access_key.rb', line 87

def user_name
  @user ? @user.name : nil
end