Class: Aws::IAM::Resource
- Inherits:
-
Object
- Object
- Aws::IAM::Resource
- Defined in:
- gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb,
gems/aws-sdk-iam/lib/aws-sdk-iam/customizations/resource.rb
Overview
This class provides a resource oriented interface for IAM. To create a resource object:
resource = Aws::IAM::Resource.new(region: 'us-west-2')
You can supply a client object with custom configuration that will be used for all resource operations.
If you do not pass :client
, a default client will be constructed.
client = Aws::IAM::Client.new(region: 'us-west-2')
resource = Aws::IAM::Resource.new(client: client)
Actions collapse
-
#change_password(options = {}) ⇒ EmptyStructure
-
#create_account_alias(options = {}) ⇒ EmptyStructure
-
#create_account_password_policy(options = {}) ⇒ AccountPasswordPolicy
-
#create_group(options = {}) ⇒ Group
-
#create_instance_profile(options = {}) ⇒ InstanceProfile
-
#create_policy(options = {}) ⇒ Policy
-
#create_role(options = {}) ⇒ Role
-
#create_saml_provider(options = {}) ⇒ SamlProvider
-
#create_server_certificate(options = {}) ⇒ ServerCertificate
-
#create_signing_certificate(options = {}) ⇒ SigningCertificate
-
#create_user(options = {}) ⇒ User
-
#create_virtual_mfa_device(options = {}) ⇒ VirtualMfaDevice
Associations collapse
-
#account_password_policy ⇒ AccountPasswordPolicy
-
#account_summary ⇒ AccountSummary
-
#current_user ⇒ CurrentUser
-
#group(name) ⇒ Group
-
#groups(options = {}) ⇒ Group::Collection
-
#instance_profile(name) ⇒ InstanceProfile
-
#instance_profiles(options = {}) ⇒ InstanceProfile::Collection
-
#policies(options = {}) ⇒ Policy::Collection
-
#policy(arn) ⇒ Policy
-
#role(name) ⇒ Role
-
#roles(options = {}) ⇒ Role::Collection
-
#saml_provider(arn) ⇒ SamlProvider
-
#saml_providers(options = {}) ⇒ SamlProvider::Collection
-
#server_certificate(name) ⇒ ServerCertificate
-
#server_certificates(options = {}) ⇒ ServerCertificate::Collection
-
#user(name) ⇒ User
-
#users(options = {}) ⇒ User::Collection
-
#virtual_mfa_device(serial_number) ⇒ VirtualMfaDevice
-
#virtual_mfa_devices(options = {}) ⇒ VirtualMfaDevice::Collection
Instance Method Summary collapse
-
#client ⇒ Client
-
#delete_account_alias ⇒ Seahorse::Client::Response, false
Returns the response from Client#delete_account_alias if an alias was deleted.
-
#initialize(options = {}) ⇒ Resource
constructor
A new instance of Resource.
Constructor Details
Instance Method Details
#account_password_policy ⇒ AccountPasswordPolicy
908 909 910 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 908 def account_password_policy AccountPasswordPolicy.new(client: @client) end |
#account_summary ⇒ AccountSummary
913 914 915 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 913 def account_summary AccountSummary.new(client: @client) end |
#change_password(options = {}) ⇒ EmptyStructure
65 66 67 68 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 65 def change_password( = {}) resp = @client.change_password() resp.data end |
#client ⇒ Client
32 33 34 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 32 def client @client end |
#create_account_alias(options = {}) ⇒ EmptyStructure
88 89 90 91 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 88 def create_account_alias( = {}) resp = @client.create_account_alias() resp.data end |
#create_account_password_policy(options = {}) ⇒ AccountPasswordPolicy
191 192 193 194 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 191 def create_account_password_policy( = {}) @client.update_account_password_policy() AccountPasswordPolicy.new(client: @client) end |
#create_group(options = {}) ⇒ Group
229 230 231 232 233 234 235 236 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 229 def create_group( = {}) resp = @client.create_group() Group.new( name: [:group_name], data: resp.data.group, client: @client ) end |
#create_instance_profile(options = {}) ⇒ InstanceProfile
296 297 298 299 300 301 302 303 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 296 def create_instance_profile( = {}) resp = @client.create_instance_profile() InstanceProfile.new( name: [:instance_profile_name], data: resp.data.instance_profile, client: @client ) end |
#create_policy(options = {}) ⇒ Policy
409 410 411 412 413 414 415 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 409 def create_policy( = {}) resp = @client.create_policy() Policy.new( arn: resp.data.policy.arn, client: @client ) end |
#create_role(options = {}) ⇒ Role
525 526 527 528 529 530 531 532 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 525 def create_role( = {}) resp = @client.create_role() Role.new( name: [:role_name], data: resp.data.role, client: @client ) end |
#create_saml_provider(options = {}) ⇒ SamlProvider
588 589 590 591 592 593 594 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 588 def create_saml_provider( = {}) resp = @client.create_saml_provider() SamlProvider.new( arn: resp.data.saml_provider_arn, client: @client ) end |
#create_server_certificate(options = {}) ⇒ ServerCertificate
718 719 720 721 722 723 724 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 718 def create_server_certificate( = {}) @client.upload_server_certificate() ServerCertificate.new( name: [:server_certificate_name], client: @client ) end |
#create_signing_certificate(options = {}) ⇒ SigningCertificate
763 764 765 766 767 768 769 770 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 763 def create_signing_certificate( = {}) resp = @client.upload_signing_certificate() SigningCertificate.new( id: resp.data.certificate.certificate_id, data: resp.data.certificate, client: @client ) end |
#create_user(options = {}) ⇒ User
828 829 830 831 832 833 834 835 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 828 def create_user( = {}) resp = @client.create_user() User.new( name: [:user_name], data: resp.data.user, client: @client ) end |
#create_virtual_mfa_device(options = {}) ⇒ VirtualMfaDevice
896 897 898 899 900 901 902 903 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 896 def create_virtual_mfa_device( = {}) resp = @client.create_virtual_mfa_device() VirtualMfaDevice.new( serial_number: resp.data.virtual_mfa_device.serial_number, data: resp.data.virtual_mfa_device, client: @client ) end |
#current_user ⇒ CurrentUser
918 919 920 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 918 def current_user CurrentUser.new(client: @client) end |
#delete_account_alias ⇒ Seahorse::Client::Response, false
Returns the response
from Client#delete_account_alias if an alias was deleted.
Returns false
if this account had no alias to remove.
11 12 13 14 15 16 17 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/customizations/resource.rb', line 11 def delete_account_alias if name = @client.list_account_aliases.account_aliases.first @client.delete_account_alias(account_alias: name) else false end end |
#group(name) ⇒ Group
924 925 926 927 928 929 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 924 def group(name) Group.new( name: name, client: @client ) end |
#groups(options = {}) ⇒ Group::Collection
954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 954 def groups( = {}) batches = Enumerator.new do |y| resp = @client.list_groups() resp.each_page do |page| batch = [] page.data.groups.each do |g| batch << Group.new( name: g.group_name, data: g, client: @client ) end y.yield(batch) end end Group::Collection.new(batches) end |
#instance_profile(name) ⇒ InstanceProfile
974 975 976 977 978 979 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 974 def instance_profile(name) InstanceProfile.new( name: name, client: @client ) end |
#instance_profiles(options = {}) ⇒ InstanceProfile::Collection
1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 1005 def instance_profiles( = {}) batches = Enumerator.new do |y| resp = @client.list_instance_profiles() resp.each_page do |page| batch = [] page.data.instance_profiles.each do |i| batch << InstanceProfile.new( name: i.instance_profile_name, data: i, client: @client ) end y.yield(batch) end end InstanceProfile::Collection.new(batches) end |
#policies(options = {}) ⇒ Policy::Collection
1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 1072 def policies( = {}) batches = Enumerator.new do |y| resp = @client.list_policies() resp.each_page do |page| batch = [] page.data.policies.each do |p| batch << Policy.new( arn: p.arn, data: p, client: @client ) end y.yield(batch) end end Policy::Collection.new(batches) end |
#policy(arn) ⇒ Policy
1092 1093 1094 1095 1096 1097 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 1092 def policy(arn) Policy.new( arn: arn, client: @client ) end |
#role(name) ⇒ Role
1101 1102 1103 1104 1105 1106 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 1101 def role(name) Role.new( name: name, client: @client ) end |
#roles(options = {}) ⇒ Role::Collection
1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 1131 def roles( = {}) batches = Enumerator.new do |y| resp = @client.list_roles() resp.each_page do |page| batch = [] page.data.roles.each do |r| batch << Role.new( name: r.role_name, data: r, client: @client ) end y.yield(batch) end end Role::Collection.new(batches) end |
#saml_provider(arn) ⇒ SamlProvider
1151 1152 1153 1154 1155 1156 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 1151 def saml_provider(arn) SamlProvider.new( arn: arn, client: @client ) end |
#saml_providers(options = {}) ⇒ SamlProvider::Collection
1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 1163 def saml_providers( = {}) batches = Enumerator.new do |y| batch = [] resp = @client.list_saml_providers() resp.data.saml_provider_list.each do |s| batch << SamlProvider.new( arn: s.arn, client: @client ) end y.yield(batch) end SamlProvider::Collection.new(batches) end |
#server_certificate(name) ⇒ ServerCertificate
1180 1181 1182 1183 1184 1185 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 1180 def server_certificate(name) ServerCertificate.new( name: name, client: @client ) end |
#server_certificates(options = {}) ⇒ ServerCertificate::Collection
1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 1211 def server_certificates( = {}) batches = Enumerator.new do |y| resp = @client.list_server_certificates() resp.each_page do |page| batch = [] page.data..each do |s| batch << ServerCertificate.new( name: s.server_certificate_name, client: @client ) end y.yield(batch) end end ServerCertificate::Collection.new(batches) end |
#user(name) ⇒ User
1230 1231 1232 1233 1234 1235 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 1230 def user(name) User.new( name: name, client: @client ) end |
#users(options = {}) ⇒ User::Collection
1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 1260 def users( = {}) batches = Enumerator.new do |y| resp = @client.list_users() resp.each_page do |page| batch = [] page.data.users.each do |u| batch << User.new( name: u.user_name, data: u, client: @client ) end y.yield(batch) end end User::Collection.new(batches) end |
#virtual_mfa_device(serial_number) ⇒ VirtualMfaDevice
1280 1281 1282 1283 1284 1285 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 1280 def virtual_mfa_device(serial_number) VirtualMfaDevice.new( serial_number: serial_number, client: @client ) end |
#virtual_mfa_devices(options = {}) ⇒ VirtualMfaDevice::Collection
1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 |
# File 'gems/aws-sdk-iam/lib/aws-sdk-iam/resource.rb', line 1298 def virtual_mfa_devices( = {}) batches = Enumerator.new do |y| resp = @client.list_virtual_mfa_devices() resp.each_page do |page| batch = [] page.data.virtual_mfa_devices.each do |v| batch << VirtualMfaDevice.new( serial_number: v.serial_number, data: v, client: @client ) end y.yield(batch) end end VirtualMfaDevice::Collection.new(batches) end |