Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
nexpie-grafana-theme
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Registry
Registry
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Kornkitt Poolsup
nexpie-grafana-theme
Commits
183f3239
Commit
183f3239
authored
Jan 08, 2016
by
Torkel Ödegaard
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #3683 from mtanda/cloudwatch_reuse_credentials
(cloudwatch) reuse credentials
parents
d0841919
f84737d7
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
39 deletions
+18
-39
pkg/api/cloudwatch/cloudwatch.go
+18
-39
No files found.
pkg/api/cloudwatch/cloudwatch.go
View file @
183f3239
...
...
@@ -43,18 +43,29 @@ func init() {
}
}
func
handleGetMetricStatistics
(
req
*
cwRequest
,
c
*
middleware
.
Context
)
{
var
awsCredentials
map
[
string
]
*
credentials
.
Credentials
=
make
(
map
[
string
]
*
credentials
.
Credentials
)
func
getCredentials
(
profile
string
)
*
credentials
.
Credentials
{
if
_
,
ok
:=
awsCredentials
[
profile
];
ok
{
return
awsCredentials
[
profile
]
}
sess
:=
session
.
New
()
creds
:=
credentials
.
NewChainCredentials
(
[]
credentials
.
Provider
{
&
credentials
.
EnvProvider
{},
&
credentials
.
SharedCredentialsProvider
{
Filename
:
""
,
Profile
:
req
.
DataSource
.
Databas
e
},
&
credentials
.
SharedCredentialsProvider
{
Filename
:
""
,
Profile
:
profil
e
},
&
ec2rolecreds
.
EC2RoleProvider
{
Client
:
ec2metadata
.
New
(
sess
),
ExpiryWindow
:
5
*
time
.
Minute
},
})
awsCredentials
[
profile
]
=
creds
return
creds
}
func
handleGetMetricStatistics
(
req
*
cwRequest
,
c
*
middleware
.
Context
)
{
cfg
:=
&
aws
.
Config
{
Region
:
aws
.
String
(
req
.
Region
),
Credentials
:
creds
,
Credentials
:
getCredentials
(
req
.
DataSource
.
Database
)
,
}
svc
:=
cloudwatch
.
New
(
session
.
New
(
cfg
),
cfg
)
...
...
@@ -92,17 +103,9 @@ func handleGetMetricStatistics(req *cwRequest, c *middleware.Context) {
}
func
handleListMetrics
(
req
*
cwRequest
,
c
*
middleware
.
Context
)
{
sess
:=
session
.
New
()
creds
:=
credentials
.
NewChainCredentials
(
[]
credentials
.
Provider
{
&
credentials
.
EnvProvider
{},
&
credentials
.
SharedCredentialsProvider
{
Filename
:
""
,
Profile
:
req
.
DataSource
.
Database
},
&
ec2rolecreds
.
EC2RoleProvider
{
Client
:
ec2metadata
.
New
(
sess
),
ExpiryWindow
:
5
*
time
.
Minute
},
})
cfg
:=
&
aws
.
Config
{
Region
:
aws
.
String
(
req
.
Region
),
Credentials
:
creds
,
Credentials
:
getCredentials
(
req
.
DataSource
.
Database
)
,
}
svc
:=
cloudwatch
.
New
(
session
.
New
(
cfg
),
cfg
)
...
...
@@ -140,17 +143,9 @@ func handleListMetrics(req *cwRequest, c *middleware.Context) {
}
func
handleDescribeAlarmsForMetric
(
req
*
cwRequest
,
c
*
middleware
.
Context
)
{
sess
:=
session
.
New
()
creds
:=
credentials
.
NewChainCredentials
(
[]
credentials
.
Provider
{
&
credentials
.
EnvProvider
{},
&
credentials
.
SharedCredentialsProvider
{
Filename
:
""
,
Profile
:
req
.
DataSource
.
Database
},
&
ec2rolecreds
.
EC2RoleProvider
{
Client
:
ec2metadata
.
New
(
sess
),
ExpiryWindow
:
5
*
time
.
Minute
},
})
cfg
:=
&
aws
.
Config
{
Region
:
aws
.
String
(
req
.
Region
),
Credentials
:
creds
,
Credentials
:
getCredentials
(
req
.
DataSource
.
Database
)
,
}
svc
:=
cloudwatch
.
New
(
session
.
New
(
cfg
),
cfg
)
...
...
@@ -188,17 +183,9 @@ func handleDescribeAlarmsForMetric(req *cwRequest, c *middleware.Context) {
}
func
handleDescribeAlarmHistory
(
req
*
cwRequest
,
c
*
middleware
.
Context
)
{
sess
:=
session
.
New
()
creds
:=
credentials
.
NewChainCredentials
(
[]
credentials
.
Provider
{
&
credentials
.
EnvProvider
{},
&
credentials
.
SharedCredentialsProvider
{
Filename
:
""
,
Profile
:
req
.
DataSource
.
Database
},
&
ec2rolecreds
.
EC2RoleProvider
{
Client
:
ec2metadata
.
New
(
sess
),
ExpiryWindow
:
5
*
time
.
Minute
},
})
cfg
:=
&
aws
.
Config
{
Region
:
aws
.
String
(
req
.
Region
),
Credentials
:
creds
,
Credentials
:
getCredentials
(
req
.
DataSource
.
Database
)
,
}
svc
:=
cloudwatch
.
New
(
session
.
New
(
cfg
),
cfg
)
...
...
@@ -232,17 +219,9 @@ func handleDescribeAlarmHistory(req *cwRequest, c *middleware.Context) {
}
func
handleDescribeInstances
(
req
*
cwRequest
,
c
*
middleware
.
Context
)
{
sess
:=
session
.
New
()
creds
:=
credentials
.
NewChainCredentials
(
[]
credentials
.
Provider
{
&
credentials
.
EnvProvider
{},
&
credentials
.
SharedCredentialsProvider
{
Filename
:
""
,
Profile
:
req
.
DataSource
.
Database
},
&
ec2rolecreds
.
EC2RoleProvider
{
Client
:
ec2metadata
.
New
(
sess
),
ExpiryWindow
:
5
*
time
.
Minute
},
})
cfg
:=
&
aws
.
Config
{
Region
:
aws
.
String
(
req
.
Region
),
Credentials
:
creds
,
Credentials
:
getCredentials
(
req
.
DataSource
.
Database
)
,
}
svc
:=
ec2
.
New
(
session
.
New
(
cfg
),
cfg
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment