Class: Awsclient::Connection
- Inherits:
-
Object
- Object
- Awsclient::Connection
- Defined in:
- lib/awsclient.rb
Constant Summary collapse
- SERVICES =
[ :acm, :apigateway, :autoscaling, :cloudformation, :cloudfront, :cloudhsm, :cloudsearch, :cloudtrail, :cloudwatch, :cloudwatchevents, :cloudwatchlogs, :codecommit, :codedeploy, :codepipeline, :cognitoidentity, :cognitosync, :configservice, :datapipeline, :databasemigrationservice, :devicefarm, :directconnect, :directoryservice, :dynamodb, :dynamodbstreams, :ec2, :ecr, :ecs, :efs, :emr, :elasticache, :elasticbeanstalk, :elasticloadbalancing, :elastictranscoder, :elasticsearchservice, :firehose, :gamelift, :glacier, :iam, :importexport, :inspector, :iot, :iotdataplane, :kms, :kinesis, :lambda, :lambdapreview, :machinelearning, :marketplacecommerceanalysis, :opsworks, :rds, :redshift, :route53, :route53domains, :s3, :ses, :sns, :sqs, :ssm, :sts, :swf, :simpledb, :storagegateway, :support, :waf, :workspaces ]
Instance Attribute Summary collapse
-
#client_options ⇒ Object
Returns the value of attribute client_options.
-
#credentials ⇒ Object
Returns the value of attribute credentials.
-
#region ⇒ Object
Returns the value of attribute region.
Instance Method Summary collapse
- #account_id ⇒ Object
- #acm ⇒ Object
- #apigateway ⇒ Object
- #assume_role!(role_name, duration_seconds = 3600) ⇒ Object
- #autoscaling ⇒ Object
- #cloudformation ⇒ Object
- #cloudfront ⇒ Object
- #cloudhsm ⇒ Object
- #cloudsearch ⇒ Object
- #cloudtrail ⇒ Object
- #cloudwatch ⇒ Object
- #cloudwatchevents ⇒ Object
- #cloudwatchlogs ⇒ Object
- #codecommit ⇒ Object
- #codedeploy ⇒ Object
- #codepipeline ⇒ Object
- #cognitoidentity ⇒ Object
- #cognitosync ⇒ Object
- #configservice ⇒ Object
- #databasemigrationservice ⇒ Object
- #datapipeline ⇒ Object
- #devicefarm ⇒ Object
- #directconnect ⇒ Object
- #directoryservice ⇒ Object
- #dynamodb ⇒ Object
- #dynamodbstreams ⇒ Object
- #ec2 ⇒ Object
- #ecr ⇒ Object
- #ecs ⇒ Object
- #efs ⇒ Object
- #elasticbeanstalk ⇒ Object
- #elasticloadbalancing ⇒ Object
- #elasticsearchservice ⇒ Object
- #elastictranscoder ⇒ Object
- #emr ⇒ Object
- #firehose ⇒ Object
- #gamelift ⇒ Object
- #glacier ⇒ Object
- #iam ⇒ Object
- #importexport ⇒ Object
-
#initialize(client_options = {}) ⇒ Connection
constructor
A new instance of Connection.
- #inspector ⇒ Object
- #instance_profile_credentials ⇒ Object
- #iot ⇒ Object
- #iotdataplane ⇒ Object
- #kinesis ⇒ Object
- #kms ⇒ Object
- #lambda ⇒ Object
- #lambdapreview ⇒ Object
- #load_credentials(profile_name = 'default') ⇒ Object
- #machinelearning ⇒ Object
- #marketplacecommerceanalytics ⇒ Object
- #opsworks ⇒ Object
- #profile ⇒ Object
- #profile=(profile_name) ⇒ Object
- #profile? ⇒ Boolean
- #rds ⇒ Object
- #role=(role_name) ⇒ Object
- #route53 ⇒ Object
- #route53domains ⇒ Object
- #s3 ⇒ Object
- #s3_bucket(name, options = {}) ⇒ Object
- #ses ⇒ Object
- #simpledb ⇒ Object
- #sns ⇒ Object
- #sqs ⇒ Object
- #ssm ⇒ Object
- #storagegateway ⇒ Object
- #sts ⇒ Object
- #support ⇒ Object
- #swf ⇒ Object
- #underscored_region ⇒ Object
- #waf ⇒ Object
- #workspaces ⇒ Object
Constructor Details
#initialize(client_options = {}) ⇒ Connection
Returns a new instance of Connection.
28 29 30 |
# File 'lib/awsclient.rb', line 28 def initialize( = {}) self. = end |
Instance Attribute Details
#client_options ⇒ Object
Returns the value of attribute client_options.
8 9 10 |
# File 'lib/awsclient.rb', line 8 def @client_options end |
#credentials ⇒ Object
Returns the value of attribute credentials.
9 10 11 |
# File 'lib/awsclient.rb', line 9 def credentials @credentials end |
#region ⇒ Object
Returns the value of attribute region.
10 11 12 |
# File 'lib/awsclient.rb', line 10 def region @region end |
Instance Method Details
#account_id ⇒ Object
92 93 94 |
# File 'lib/awsclient.rb', line 92 def account_id iam.get_user.user.arn.split(':')[4] end |
#acm ⇒ Object
96 97 98 99 100 101 |
# File 'lib/awsclient.rb', line 96 def acm @acm ||= ::Aws::ACM::Client.new( credentials: credentials, region: region ) end |
#apigateway ⇒ Object
103 104 105 106 107 108 |
# File 'lib/awsclient.rb', line 103 def apigateway @apigateway ||= ::Aws::APIGateway::Client.new({ credentials: credentials, region: region }.merge()) end |
#assume_role!(role_name, duration_seconds = 3600) ⇒ Object
57 58 59 60 61 62 63 64 65 |
# File 'lib/awsclient.rb', line 57 def assume_role!(role_name, duration_seconds = 3600) role_arn = "arn:aws:iam::#{account_id}:role/#{role_name}" self.credentials = ::Aws::AssumeRoleCredentials.new( client: sts, role_arn: role_arn, role_session_name: random_string(32), duration_seconds: duration_seconds ) end |
#autoscaling ⇒ Object
110 111 112 113 114 115 |
# File 'lib/awsclient.rb', line 110 def autoscaling @autoscaling ||= ::Aws::AutoScaling::Client.new({ credentials: credentials, region: region }.merge()) end |
#cloudformation ⇒ Object
117 118 119 120 121 122 |
# File 'lib/awsclient.rb', line 117 def cloudformation @cloudformation ||= ::Aws::CloudFormation::Client.new({ credentials: credentials, region: region }.merge()) end |
#cloudfront ⇒ Object
124 125 126 127 128 129 |
# File 'lib/awsclient.rb', line 124 def cloudfront @cloudformation ||= ::Aws::CloudFront::Client.new({ credentials: credentials, region: region }.merge()) end |
#cloudhsm ⇒ Object
131 132 133 134 135 136 |
# File 'lib/awsclient.rb', line 131 def cloudhsm @cloudformation ||= ::Aws::CloudHSM::Client.new({ credentials: credentials, region: region }.merge()) end |
#cloudsearch ⇒ Object
138 139 140 141 142 143 |
# File 'lib/awsclient.rb', line 138 def cloudsearch @cloudformation ||= ::Aws::CloudSearch::Client.new({ credentials: credentials, region: region }.merge()) end |
#cloudtrail ⇒ Object
145 146 147 148 149 150 |
# File 'lib/awsclient.rb', line 145 def cloudtrail @cloudtrail ||= ::Aws::CloudTrail::Client.new({ credentials: credentials, region: region }.merge()) end |
#cloudwatch ⇒ Object
152 153 154 155 156 157 |
# File 'lib/awsclient.rb', line 152 def cloudwatch @cloudwatch ||= ::Aws::CloudWatch::Client.new({ credentials: credentials, region: region }.merge()) end |
#cloudwatchevents ⇒ Object
159 160 161 162 163 164 |
# File 'lib/awsclient.rb', line 159 def cloudwatchevents @cloudwatchevents ||= ::Aws::CloudWatchEvents::Client.new({ credentials: credentials, region: region }.merge()) end |
#cloudwatchlogs ⇒ Object
166 167 168 169 170 171 |
# File 'lib/awsclient.rb', line 166 def cloudwatchlogs @cloudwatchlogs ||= ::Aws::CloudWatchLogs::Client.new({ credentials: credentials, region: region }.merge()) end |
#codecommit ⇒ Object
173 174 175 176 177 178 |
# File 'lib/awsclient.rb', line 173 def codecommit @codecommit ||= ::Aws::CodeCommit::Client.new({ credentials: credentials, region: region }.merge()) end |
#codedeploy ⇒ Object
180 181 182 183 184 185 |
# File 'lib/awsclient.rb', line 180 def codedeploy @codedeploy ||= ::Aws::CodeDeploy::Client.new({ credentials: credentials, region: region }.merge()) end |
#codepipeline ⇒ Object
187 188 189 190 191 192 |
# File 'lib/awsclient.rb', line 187 def codepipeline @codepipeline ||= ::Aws::CodePipeline::Client.new({ credentials: credentials, region: region }.merge()) end |
#cognitoidentity ⇒ Object
194 195 196 197 198 199 |
# File 'lib/awsclient.rb', line 194 def cognitoidentity @cognitoidentity ||= ::Aws::CognitoIdentity::Client.new({ credentials: credentials, region: region }.merge()) end |
#cognitosync ⇒ Object
201 202 203 204 205 206 |
# File 'lib/awsclient.rb', line 201 def cognitosync @cognitosync ||= ::Aws::CognitoSync::Client.new({ credentials: credentials, region: region }.merge()) end |
#configservice ⇒ Object
208 209 210 211 212 213 |
# File 'lib/awsclient.rb', line 208 def configservice @codedeploy ||= ::Aws::ConfigService::Client.new({ credentials: credentials, region: region }.merge()) end |
#databasemigrationservice ⇒ Object
222 223 224 225 226 227 |
# File 'lib/awsclient.rb', line 222 def databasemigrationservice @databasemigrationservice ||= ::Aws::DatabaseMigrationService::Client.new({ credentials: credentials, region: region }.merge()) end |
#datapipeline ⇒ Object
215 216 217 218 219 220 |
# File 'lib/awsclient.rb', line 215 def datapipeline @datapipeline ||= ::Aws::DataPipeline::Client.new({ credentials: credentials, region: region }.merge()) end |
#devicefarm ⇒ Object
229 230 231 232 233 234 |
# File 'lib/awsclient.rb', line 229 def devicefarm @devicefarm ||= ::Aws::DeviceFarm::Client.new({ credentials: credentials, region: region }.merge()) end |
#directconnect ⇒ Object
236 237 238 239 240 241 |
# File 'lib/awsclient.rb', line 236 def directconnect @directconnect ||= ::Aws::DirectConnect::Client.new({ credentials: credentials, region: region }.merge()) end |
#directoryservice ⇒ Object
243 244 245 246 247 248 |
# File 'lib/awsclient.rb', line 243 def directoryservice @directoryservice ||= ::Aws::DirectoryService::Client.new({ credentials: credentials, region: region }.merge()) end |
#dynamodb ⇒ Object
250 251 252 253 254 255 |
# File 'lib/awsclient.rb', line 250 def dynamodb @dynamodb ||= ::Aws::DynamoDB::Client.new({ credentials: credentials, region: region }.merge()) end |
#dynamodbstreams ⇒ Object
257 258 259 260 261 262 |
# File 'lib/awsclient.rb', line 257 def dynamodbstreams @dynamodbstreams ||= ::Aws::DynamoDBStreams::Client.new({ credentials: credentials, region: region }.merge()) end |
#ec2 ⇒ Object
264 265 266 267 268 269 |
# File 'lib/awsclient.rb', line 264 def ec2 @ec2 ||= ::Aws::EC2::Client.new({ credentials: credentials, region: region }.merge()) end |
#ecr ⇒ Object
271 272 273 274 275 276 |
# File 'lib/awsclient.rb', line 271 def ecr @ecr ||= ::Aws::ECR::Client.new({ credentials: credentials, region: region }.merge()) end |
#ecs ⇒ Object
278 279 280 281 282 283 |
# File 'lib/awsclient.rb', line 278 def ecs @ecs ||= ::Aws::ECS::Client.new({ credentials: credentials, region: region }.merge()) end |
#efs ⇒ Object
285 286 287 288 289 290 |
# File 'lib/awsclient.rb', line 285 def efs @efs ||= ::Aws::EFS::Client.new({ credentials: credentials, region: region }.merge()) end |
#elasticbeanstalk ⇒ Object
299 300 301 302 303 304 |
# File 'lib/awsclient.rb', line 299 def elasticbeanstalk @elasticbeanstalk ||= ::Aws::ElasticBeanstalk::Client.new({ credentials: credentials, region: region }.merge()) end |
#elasticloadbalancing ⇒ Object
306 307 308 309 310 311 |
# File 'lib/awsclient.rb', line 306 def elasticloadbalancing @elasticloadbalancing ||= ::Aws::ElasticLoadBalancing::Client.new({ credentials: credentials, region: region }.merge()) end |
#elasticsearchservice ⇒ Object
320 321 322 323 324 325 |
# File 'lib/awsclient.rb', line 320 def elasticsearchservice @elasticsearchservice ||= ::Aws::ElasticsearchService::Client.new({ credentials: credentials, region: region }.merge()) end |
#elastictranscoder ⇒ Object
313 314 315 316 317 318 |
# File 'lib/awsclient.rb', line 313 def elastictranscoder @elastictranscoder ||= ::Aws::ElasticTranscoder::Client.new({ credentials: credentials, region: region }.merge()) end |
#emr ⇒ Object
292 293 294 295 296 297 |
# File 'lib/awsclient.rb', line 292 def emr @emr ||= ::Aws::EMR::Client.new({ credentials: credentials, region: region }.merge()) end |
#firehose ⇒ Object
327 328 329 330 331 332 |
# File 'lib/awsclient.rb', line 327 def firehose @firehose ||= ::Aws::Firehose::Client.new({ credentials: credentials, region: region }.merge()) end |
#gamelift ⇒ Object
334 335 336 337 338 339 |
# File 'lib/awsclient.rb', line 334 def gamelift @gamelift ||= ::Aws::GameLift::Client.new({ credentials: credentials, region: region }.merge()) end |
#glacier ⇒ Object
341 342 343 344 345 346 |
# File 'lib/awsclient.rb', line 341 def glacier @glacier ||= ::Aws::Glacier::Client.new({ credentials: credentials, region: region }.merge()) end |
#iam ⇒ Object
348 349 350 351 352 353 |
# File 'lib/awsclient.rb', line 348 def iam @iam ||= ::Aws::IAM::Client.new({ credentials: credentials, region: region }.merge()) end |
#importexport ⇒ Object
355 356 357 358 359 360 |
# File 'lib/awsclient.rb', line 355 def importexport @importexport ||= ::Aws::ImportExport::Client.new({ credentials: credentials, region: region }.merge()) end |
#inspector ⇒ Object
362 363 364 365 366 367 |
# File 'lib/awsclient.rb', line 362 def inspector @importexport ||= ::Aws::Inspector::Client.new({ credentials: credentials, region: region }.merge()) end |
#instance_profile_credentials ⇒ Object
53 54 55 |
# File 'lib/awsclient.rb', line 53 def instance_profile_credentials ::Aws::InstanceProfileCredentials.new end |
#iot ⇒ Object
369 370 371 372 373 374 |
# File 'lib/awsclient.rb', line 369 def iot @iot ||= ::Aws::IoT::Client.new({ credentials: credentials, region: region }.merge()) end |
#iotdataplane ⇒ Object
376 377 378 379 380 381 |
# File 'lib/awsclient.rb', line 376 def iotdataplane @iotdataplane ||= ::Aws::IoTDataPlane::Client.new({ credentials: credentials, region: region }.merge()) end |
#kinesis ⇒ Object
390 391 392 393 394 395 |
# File 'lib/awsclient.rb', line 390 def kinesis @kinesis ||= ::Aws::Kinesis::Client.new({ credentials: credentials, region: region }.merge()) end |
#kms ⇒ Object
383 384 385 386 387 388 |
# File 'lib/awsclient.rb', line 383 def kms @kms ||= ::Aws::KMS::Client.new({ credentials: credentials, region: region }.merge()) end |
#lambda ⇒ Object
397 398 399 400 401 402 |
# File 'lib/awsclient.rb', line 397 def lambda @lambda ||= ::Aws::Lambda::Client.new({ credentials: credentials, region: region }.merge()) end |
#lambdapreview ⇒ Object
404 405 406 407 408 409 |
# File 'lib/awsclient.rb', line 404 def lambdapreview @lambdapreview ||= ::Aws::LambdaPreview::Client.new({ credentials: credentials, region: region }.merge()) end |
#load_credentials(profile_name = 'default') ⇒ Object
44 45 46 47 48 49 50 51 |
# File 'lib/awsclient.rb', line 44 def load_credentials(profile_name='default') creds = ::Aws::SharedCredentials.new(profile_name: profile_name) if creds.set? load_region_from_profile(profile_name) return creds end instance_profile_credentials end |
#machinelearning ⇒ Object
411 412 413 414 415 416 |
# File 'lib/awsclient.rb', line 411 def machinelearning @machinelearning ||= ::Aws::MachineLearning::Client.new({ credentials: credentials, region: region }.merge()) end |
#marketplacecommerceanalytics ⇒ Object
418 419 420 421 422 423 |
# File 'lib/awsclient.rb', line 418 def marketplacecommerceanalytics @marketplacecommerceanalytics ||= ::Aws::MarketplaceCommerceAnalytics::Client.new({ credentials: credentials, region: region }.merge()) end |
#opsworks ⇒ Object
425 426 427 428 429 430 |
# File 'lib/awsclient.rb', line 425 def opsworks @opsworks ||= ::Aws::OpsWorks::Client.new({ credentials: credentials, region: region }.merge()) end |
#profile ⇒ Object
75 76 77 |
# File 'lib/awsclient.rb', line 75 def profile credentials.profile_name end |
#profile=(profile_name) ⇒ Object
79 80 81 82 |
# File 'lib/awsclient.rb', line 79 def profile=(profile_name) load_region_from_profile(profile_name) self.credentials = ::Aws::SharedCredentials.new(profile_name: profile_name) end |
#profile? ⇒ Boolean
71 72 73 |
# File 'lib/awsclient.rb', line 71 def profile? credentials.respond_to?(:profile_name) end |
#rds ⇒ Object
432 433 434 435 436 437 |
# File 'lib/awsclient.rb', line 432 def rds @rds ||= ::Aws::RDS::Client.new({ credentials: credentials, region: region }.merge()) end |
#role=(role_name) ⇒ Object
67 68 69 |
# File 'lib/awsclient.rb', line 67 def role=(role_name) assume_role!(role_name) end |
#route53 ⇒ Object
439 440 441 442 443 444 |
# File 'lib/awsclient.rb', line 439 def route53 @route53 ||= ::Aws::Route53::Client.new({ credentials: credentials, region: region }.merge()) end |
#route53domains ⇒ Object
446 447 448 449 450 451 |
# File 'lib/awsclient.rb', line 446 def route53domains @route53domains ||= ::Aws::Route53Domains::Client.new({ credentials: credentials, region: region }.merge()) end |
#s3 ⇒ Object
453 454 455 456 457 458 |
# File 'lib/awsclient.rb', line 453 def s3 @s3 ||= ::Aws::S3::Client.new({ credentials: credentials, region: region }.merge()) end |
#s3_bucket(name, options = {}) ⇒ Object
460 461 462 463 464 465 |
# File 'lib/awsclient.rb', line 460 def s3_bucket(name, = {}) @bucket ||= ::Aws::S3::Bucket.new(name, { credentials: credentials, region: region }.merge()) end |
#ses ⇒ Object
467 468 469 470 471 472 |
# File 'lib/awsclient.rb', line 467 def ses @ses ||= ::Aws::SES::Client.new({ credentials: credentials, region: region }.merge()) end |
#simpledb ⇒ Object
509 510 511 512 513 514 |
# File 'lib/awsclient.rb', line 509 def simpledb @simpledb ||= ::Aws::SimpleDB::Client.new({ credentials: credentials, region: region }.merge()) end |
#sns ⇒ Object
474 475 476 477 478 479 |
# File 'lib/awsclient.rb', line 474 def sns @sns ||= ::Aws::SNS::Client.new({ credentials: credentials, region: region }.merge()) end |
#sqs ⇒ Object
481 482 483 484 485 486 |
# File 'lib/awsclient.rb', line 481 def sqs @sqs ||= ::Aws::SQS::Client.new({ credentials: credentials, region: region }.merge()) end |
#ssm ⇒ Object
488 489 490 491 492 493 |
# File 'lib/awsclient.rb', line 488 def ssm @ssm ||= ::Aws::SSM::Client.new({ credentials: credentials, region: region }.merge()) end |
#storagegateway ⇒ Object
516 517 518 519 520 521 |
# File 'lib/awsclient.rb', line 516 def storagegateway @storagegateway ||= ::Aws::StorageGateway::Client.new({ credentials: credentials, region: region }.merge()) end |
#sts ⇒ Object
495 496 497 498 499 500 |
# File 'lib/awsclient.rb', line 495 def sts @sts ||= ::Aws::STS::Client.new({ credentials: credentials, region: region }.merge()) end |
#support ⇒ Object
523 524 525 526 527 528 |
# File 'lib/awsclient.rb', line 523 def support @support ||= ::Aws::Support::Client.new({ credentials: credentials, region: region }.merge()) end |
#swf ⇒ Object
502 503 504 505 506 507 |
# File 'lib/awsclient.rb', line 502 def swf @swf ||= ::Aws::SWF::Client.new({ credentials: credentials, region: region }.merge()) end |
#underscored_region ⇒ Object
88 89 90 |
# File 'lib/awsclient.rb', line 88 def underscored_region region.gsub('-', '_') end |
#waf ⇒ Object
530 531 532 533 534 535 |
# File 'lib/awsclient.rb', line 530 def waf @waf ||= ::Aws::WAF::Client.new({ credentials: credentials, region: region }.merge()) end |
#workspaces ⇒ Object
537 538 539 540 541 542 |
# File 'lib/awsclient.rb', line 537 def workspaces @workspaces ||= ::Aws::WorkSpaces::Client.new({ credentials: credentials, region: region }.merge()) end |