Skip to content

Commit cc2c935

Browse files
authored
add rds co (#155)
1 parent 97b9371 commit cc2c935

File tree

3 files changed

+14
-80
lines changed

3 files changed

+14
-80
lines changed

data-collection/deploy/deploy-in-management-account.yaml

Lines changed: 12 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -226,11 +226,11 @@ Resources:
226226
rules_to_suppress:
227227
- id: W12
228228
reason: "Policy is used for scanning of a wide range of resources"
229-
COExportLambdaFunctionRecommendations:
229+
COExportRecommendations:
230230
Type: "AWS::IAM::Policy"
231231
Condition: EnableComputeOptimizerModule
232232
Properties:
233-
PolicyName: ComputeOptimizer-ExportLambdaFunctionRecommendations
233+
PolicyName: ComputeOptimizer-ExportRecommendations
234234
PolicyDocument:
235235
Version: "2012-10-17"
236236
Statement:
@@ -241,84 +241,24 @@ Resources:
241241
- "lambda:ListFunctions"
242242
- "lambda:ListProvisionedConcurrencyConfigs"
243243
Resource: "*"
244-
Roles:
245-
- Ref: LambdaRole
246-
Metadata:
247-
cfn_nag:
248-
rules_to_suppress:
249-
- id: W12
250-
reason: "Policy is used for scanning of a wide range of resources"
251-
COExportAutoScalingGroupRecommendations:
252-
Type: "AWS::IAM::Policy"
253-
Condition: EnableComputeOptimizerModule
254-
Properties:
255-
PolicyName: ComputeOptimizer-ExportAutoScalingGroupRecommendations
256-
PolicyDocument:
257-
Version: "2012-10-17"
258-
Statement:
259244
- Effect: "Allow"
260245
Action:
261246
- "compute-optimizer:ExportAutoScalingGroupRecommendations"
262247
- "compute-optimizer:GetAutoScalingGroupRecommendations"
263248
- "autoscaling:DescribeAutoScalingGroups"
264249
Resource: "*"
265-
Roles:
266-
- Ref: LambdaRole
267-
Metadata:
268-
cfn_nag:
269-
rules_to_suppress:
270-
- id: W12
271-
reason: "Policy is used for scanning of a wide range of resources"
272-
COExportEBSVolumeRecommendations:
273-
Type: "AWS::IAM::Policy"
274-
Condition: EnableComputeOptimizerModule
275-
Properties:
276-
PolicyName: ComputeOptimizer-ExportEBSVolumeRecommendations
277-
PolicyDocument:
278-
Version: "2012-10-17"
279-
Statement:
280250
- Effect: "Allow"
281251
Action:
282252
- "compute-optimizer:ExportEBSVolumeRecommendations"
283253
- "compute-optimizer:GetEBSVolumeRecommendations"
284-
- "EC2:DescribeVolumes"
254+
- "ec2:DescribeVolumes"
285255
Resource: "*"
286-
Roles:
287-
- Ref: LambdaRole
288-
Metadata:
289-
cfn_nag:
290-
rules_to_suppress:
291-
- id: W12
292-
reason: "Policy is used for scanning of a wide range of resources"
293-
COExportEC2InstanceRecommendations:
294-
Type: "AWS::IAM::Policy"
295-
Condition: EnableComputeOptimizerModule
296-
Properties:
297-
PolicyName: ComputeOptimizer-ExportEC2InstanceRecommendations
298-
PolicyDocument:
299-
Version: "2012-10-17"
300-
Statement:
301256
- Effect: "Allow"
302257
Action:
303258
- "compute-optimizer:ExportEC2InstanceRecommendations"
304259
- "compute-optimizer:GetEC2InstanceRecommendations"
305-
- "EC2:DescribeInstances"
260+
- "ec2:DescribeInstances"
306261
Resource: "*"
307-
Roles:
308-
- Ref: LambdaRole
309-
Metadata:
310-
cfn_nag:
311-
rules_to_suppress:
312-
- id: W12
313-
reason: "Policy is used for scanning of a wide range of resources"
314-
COExportECSRecommendations:
315-
Type: "AWS::IAM::Policy"
316-
Condition: EnableComputeOptimizerModule
317-
Properties:
318-
PolicyName: ComputeOptimizer-ExportECSRecommendations
319-
PolicyDocument:
320-
Version: "2012-10-17"
321-
Statement:
322262
- Effect: "Allow"
323263
Action:
324264
- "compute-optimizer:ExportECSServiceRecommendations"
@@ -327,27 +267,20 @@ Resources:
327267
- "ecs:ListServices"
328268
- "ecs:ListClusters"
329269
Resource: "*"
330-
Roles:
331-
- Ref: LambdaRole
332-
Metadata:
333-
cfn_nag:
334-
rules_to_suppress:
335-
- id: W12
336-
reason: "Policy is used for scanning of a wide range of resources"
337-
COExportLicenseRecommendations:
338-
Type: "AWS::IAM::Policy"
339-
Condition: EnableComputeOptimizerModule
340-
Properties:
341-
PolicyName: ComputeOptimizer-ExportLicenseRecommendations
342-
PolicyDocument:
343-
Version: "2012-10-17"
344-
Statement:
345270
- Effect: "Allow"
346271
Action:
347272
- "compute-optimizer:ExportLicenseRecommendations"
348273
- "compute-optimizer:GetLicenseRecommendations"
349274
- "ec2:DescribeInstances"
350275
Resource: "*"
276+
- Effect: "Allow"
277+
Action:
278+
- "compute-optimizer:ExportRDSDatabaseRecommendations"
279+
- "compute-optimizer:GetRDSDatabaseRecommendations"
280+
- "compute-optimizer:GetRDSDatabaseRecommendationProjectedMetrics"
281+
- "rds:DescribeDBInstances"
282+
- "rds:DescribeDBClusters"
283+
Resource: "*"
351284
Roles:
352285
- Ref: LambdaRole
353286
Metadata:

data-collection/deploy/module-compute-optimizer.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -410,6 +410,7 @@ Resources:
410410
'ebs_volume': co.export_ebs_volume_recommendations,
411411
'ecs_service': co.export_ecs_service_recommendations,
412412
'license': co.export_license_recommendations,
413+
'rds_database': partial(co.export_rds_database_recommendations, recommendationPreferences={'cpuVendorArchitectures': ARCH}),
413414
}
414415
bucket = BUCKET_PREFIX + '.' + region
415416
logger.info(f"INFO: bucket={bucket}")

data-collection/test/test_from_scratch.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ def test_compute_optimizer_export_triggered(compute_optimizer, start_time):
154154
jobs = compute_optimizer.describe_recommendation_export_jobs()['recommendationExportJobs']
155155
logger.debug(f'Jobs in: {jobs}')
156156
jobs_since_start = [job for job in jobs if job['creationTimestamp'].replace(tzinfo=None) > start_time.replace(tzinfo=None)]
157-
assert len(jobs_since_start) == 6, f'started {len(jobs_since_start)} jobs. Expected 6. Not all jobs launched'
157+
assert len(jobs_since_start) == 7, f'started {len(jobs_since_start)} jobs. Expected 7. Not all jobs launched'
158158
jobs_failed = [job for job in jobs_since_start if job.get('status') == 'failed']
159159
assert len(jobs_failed) == 0, f'Some jobs failed {jobs_failed}'
160160
# TODO: check how we can add better test, taking into account 15-30 mins delay of export in CO

0 commit comments

Comments
 (0)