cid-cmd 4.3.6__tar.gz → 4.3.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. {cid_cmd-4.3.6/cid_cmd.egg-info → cid_cmd-4.3.7}/PKG-INFO +1 -1
  2. cid_cmd-4.3.7/cid/_version.py +2 -0
  3. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/common.py +2 -0
  4. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/export.py +9 -2
  5. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/helpers/parameter_store.py +14 -3
  6. {cid_cmd-4.3.6 → cid_cmd-4.3.7/cid_cmd.egg-info}/PKG-INFO +1 -1
  7. cid_cmd-4.3.6/cid/_version.py +0 -2
  8. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/LICENSE +0 -0
  9. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/MANIFEST.in +0 -0
  10. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/README.md +0 -0
  11. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/__init__.py +0 -0
  12. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/base.py +0 -0
  13. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/__init__.py +0 -0
  14. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/__init__.py +0 -0
  15. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/datasets/cid/compute.json +0 -0
  16. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/datasets/cid/ec2_running_cost.json +0 -0
  17. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/datasets/cid/s3_view.json +0 -0
  18. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/datasets/cid/summary_view.json +0 -0
  19. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/datasets/co/dataset.json +0 -0
  20. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/datasets/cudos/hourly_view.json +0 -0
  21. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/datasets/cudos/resource_view.json +0 -0
  22. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/datasets/kpi/kpi_ebs_snap.json +0 -0
  23. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/datasets/kpi/kpi_ebs_storage_all.json +0 -0
  24. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/datasets/kpi/kpi_instance_all.json +0 -0
  25. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/datasets/kpi/kpi_s3_storage_all.json +0 -0
  26. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/datasets/kpi/kpi_tracker.json +0 -0
  27. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/datasets/shared/customer_all.json +0 -0
  28. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/datasets/trends/daily_anomaly_detection.json +0 -0
  29. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/datasets/trends/monthly_anomaly_detection.json +0 -0
  30. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/datasets/trends/monthly_bill_by_account.json +0 -0
  31. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/permissions/dashboard_permissions.json +0 -0
  32. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/permissions/dashboard_permissions_namespace.json +0 -0
  33. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/permissions/data_set_permissions.json +0 -0
  34. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/permissions/data_set_rls_permissions.json +0 -0
  35. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/permissions/data_source_permissions.json +0 -0
  36. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/permissions/folder_permissions.json +0 -0
  37. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/cid/compute_savings_plan_eligible_spend.sql +0 -0
  38. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/cid/ec2_running_cost.sql +0 -0
  39. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/cid/ri_sp_mapping.sql +0 -0
  40. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/cid/s3.sql +0 -0
  41. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/cid/summary_view.sql +0 -0
  42. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/co/all_options.sql +0 -0
  43. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/co/auto_scale.json +0 -0
  44. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/co/auto_scale_options.sql +0 -0
  45. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/co/ebs_volume.json +0 -0
  46. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/co/ebs_volume_options.sql +0 -0
  47. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/co/ec2_instance.json +0 -0
  48. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/co/ec2_instance_options.sql +0 -0
  49. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/co/ecs_service.json +0 -0
  50. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/co/ecs_service_options.sql +0 -0
  51. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/co/idle.json +0 -0
  52. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/co/idle_options.sql +0 -0
  53. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/co/lambda.json +0 -0
  54. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/co/lambda_options.sql +0 -0
  55. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/co/license.json +0 -0
  56. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/co/license_options.sql +0 -0
  57. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/co/rds_database.json +0 -0
  58. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/co/rds_instance_options.sql +0 -0
  59. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/co/rds_storage_options.sql +0 -0
  60. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/cudos/hourly_view.sql +0 -0
  61. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/cudos/resource_view.sql +0 -0
  62. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/kpi/first_kpi_instance_mapping_view.sql +0 -0
  63. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/kpi/kpi_ebs_snap_view.sql +0 -0
  64. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/kpi/kpi_ebs_storage_view.sql +0 -0
  65. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/kpi/kpi_instance_all_view.sql +0 -0
  66. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/kpi/kpi_s3_storage_view.sql +0 -0
  67. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/kpi/last_kpi_tracker_view.sql +0 -0
  68. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/shared/account_map.sql +0 -0
  69. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/shared/account_map_cur2.sql +0 -0
  70. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/shared/account_map_dummy.sql +0 -0
  71. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/shared/aws_accounts.sql +0 -0
  72. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/shared/aws_regions.sql +0 -0
  73. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/shared/aws_service_category_map.sql +0 -0
  74. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/shared/business_units_map.sql +0 -0
  75. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/shared/cur.yaml +0 -0
  76. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/shared/customer_all_unlimited.sql +0 -0
  77. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/shared/payer_account_name_map.sql +0 -0
  78. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/shared/ta_descriptions.sql +0 -0
  79. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/trends/daily_anomaly_detection.sql +0 -0
  80. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/trends/monthly_anomaly_detection.sql +0 -0
  81. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/queries/trends/monthly_bill_by_account.sql +0 -0
  82. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/builtin/core/data/resources.yaml +0 -0
  83. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/cli.py +0 -0
  84. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/commands/__init__.py +0 -0
  85. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/commands/command_base.py +0 -0
  86. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/commands/init_qs.py +0 -0
  87. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/exceptions.py +0 -0
  88. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/helpers/__init__.py +0 -0
  89. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/helpers/account_map.py +0 -0
  90. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/helpers/athena.py +0 -0
  91. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/helpers/cloudformation.py +0 -0
  92. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/helpers/csv2view.py +0 -0
  93. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/helpers/cur.py +0 -0
  94. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/helpers/cur_proxy.py +0 -0
  95. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/helpers/diff.py +0 -0
  96. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/helpers/glue.py +0 -0
  97. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/helpers/iam.py +0 -0
  98. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/helpers/organizations.py +0 -0
  99. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/helpers/quicksight/__init__.py +0 -0
  100. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/helpers/quicksight/dashboard.py +0 -0
  101. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/helpers/quicksight/dashboard_patching.py +0 -0
  102. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/helpers/quicksight/dataset.py +0 -0
  103. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/helpers/quicksight/datasource.py +0 -0
  104. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/helpers/quicksight/definition.py +0 -0
  105. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/helpers/quicksight/resource.py +0 -0
  106. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/helpers/quicksight/template.py +0 -0
  107. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/helpers/quicksight/version.py +0 -0
  108. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/helpers/randtime.py +0 -0
  109. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/helpers/s3.py +0 -0
  110. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/helpers/timezone.py +0 -0
  111. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/logger.py +0 -0
  112. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/plugin.py +0 -0
  113. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/test/python/test_csv2view.py +0 -0
  114. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/test/python/test_isolated_parameters.py +0 -0
  115. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/test/python/test_merge.py +0 -0
  116. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid/utils.py +0 -0
  117. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid_cmd.egg-info/SOURCES.txt +0 -0
  118. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid_cmd.egg-info/dependency_links.txt +0 -0
  119. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid_cmd.egg-info/entry_points.txt +0 -0
  120. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid_cmd.egg-info/requires.txt +0 -0
  121. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/cid_cmd.egg-info/top_level.txt +0 -0
  122. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/pyproject.toml +0 -0
  123. {cid_cmd-4.3.6 → cid_cmd-4.3.7}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cid-cmd
3
- Version: 4.3.6
3
+ Version: 4.3.7
4
4
  Summary: Cloud Intelligence Dashboards deployment helper tool
5
5
  Home-page: https://github.com/aws-samples/aws-cudos-framework-deployment
6
6
  Author: AWS CUDOS Team
@@ -0,0 +1,2 @@
1
+ __version__ = '4.3.7'
2
+
@@ -408,6 +408,8 @@ class Cid():
408
408
  params[key] = get_parameters().get(prefix + key)
409
409
  if isinstance(params[key], str):
410
410
  params[key] = params[key].split(',')
411
+ elif not utils.isatty():
412
+ params[key] = "'{}'"
411
413
  else:
412
414
  if 'query' not in value:
413
415
  raise CidCritical(f'Failed fetching parameter {prefix}{key}: parameter with type Athena must have query value.')
@@ -263,15 +263,22 @@ def export_analysis(qs, athena, glue):
263
263
  fields = []
264
264
  for field in cur_helper.fields:
265
265
  if field in view_data['data']:
266
+ if field == 'data':
267
+ # 'data' is a partition of cur2 and a frequent word, so skip it to avoid false positives
268
+ continue
266
269
  fields.append(field)
267
270
  view_data['dependsOn'][f'cur{cur_helper.version}'] = fields or True
268
271
  cur_tables.append(dep_view_name)
269
272
  else:
273
+ dep_view_data = all_views_data.get(dep_view_name, {}).get('data', '')
274
+ if 'CREATE EXTERNAL TABLE' in dep_view_data and not get_parameters().get('export-tables') == 'yes':
275
+ cid_print(f'{key} is a Glue table. Skipping. To export table definitions use `--export-tables yes`. Please manage this dependency by adding parameter')
276
+ # TODO: add parameter with schema query
277
+ continue
270
278
  logger.debug(f'{dep_view_name} is not cur')
271
279
  if dep_view_name not in all_views_data:
272
280
  logger.debug(f'{dep_view_name} skipping as not in the views list')
273
- if dep_view_name in ['account_map']:
274
- logger.debug(f'{dep_view_name} is a special. skip.')
281
+ continue
275
282
  non_cur_dep_views.append(dep_view_name)
276
283
  if deps.get('views'):
277
284
  deps['views'] = non_cur_dep_views
@@ -1,3 +1,4 @@
1
+ import json
1
2
  import logging
2
3
  from datetime import datetime
3
4
 
@@ -34,7 +35,16 @@ class AthenaStore():
34
35
  def _to_sql_str(self, val):
35
36
  if val is None:
36
37
  return "''"
37
- return "'" + str(val).replace("'", "''") + "'"
38
+ return "'" + str(json.dumps(val)).replace("'", "''") + "'"
39
+
40
+ def _from_sql_str(self, string):
41
+ if string.endswith(']') and string.startswith('[') and string.count("'") >=2:
42
+ # this is an old style parameters so transform it to json readable form from __repr__
43
+ string = string.replace("'",'"')
44
+ try:
45
+ return json.loads(string)
46
+ except json.JSONDecodeError:
47
+ return string
38
48
 
39
49
  def _generate_view_query(self, data, name):
40
50
  all_keys = {key for dictionary in data for key in dictionary.keys()}
@@ -56,9 +66,10 @@ class ParametersController(AthenaStore):
56
66
  any_parameters = {}
57
67
  # get any context and then override with specific context
58
68
  for line in sorted(data, key=lambda x: x.get('date', '')): # latest should override
59
- any_parameters[line.get('parameter')] = line.get('value')
69
+ val = self._from_sql_str(line.get('value'))
70
+ any_parameters[line.get('parameter')] = val
60
71
  if line.get('context') == str(context):
61
- context_parameters[line.get('parameter')] = line.get('value')
72
+ context_parameters[line.get('parameter')] = val
62
73
  return any_parameters | context_parameters
63
74
 
64
75
  def dump_parameters(self, params, context=None):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cid-cmd
3
- Version: 4.3.6
3
+ Version: 4.3.7
4
4
  Summary: Cloud Intelligence Dashboards deployment helper tool
5
5
  Home-page: https://github.com/aws-samples/aws-cudos-framework-deployment
6
6
  Author: AWS CUDOS Team
@@ -1,2 +0,0 @@
1
- __version__ = '4.3.6'
2
-
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes