cid-cmd 4.2.4__tar.gz → 4.2.5__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 (125) hide show
  1. {cid_cmd-4.2.4/cid_cmd.egg-info → cid_cmd-4.2.5}/PKG-INFO +1 -1
  2. cid_cmd-4.2.5/cid/_version.py +2 -0
  3. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/helpers/quicksight/dataset.py +21 -8
  4. {cid_cmd-4.2.4 → cid_cmd-4.2.5/cid_cmd.egg-info}/PKG-INFO +1 -1
  5. cid_cmd-4.2.4/cid/_version.py +0 -2
  6. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/LICENSE +0 -0
  7. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/MANIFEST.in +0 -0
  8. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/README.md +0 -0
  9. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/__init__.py +0 -0
  10. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/base.py +0 -0
  11. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/__init__.py +0 -0
  12. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/__init__.py +0 -0
  13. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/datasets/cid/compute.json +0 -0
  14. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/datasets/cid/ec2_running_cost.json +0 -0
  15. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/datasets/cid/s3_view.json +0 -0
  16. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/datasets/cid/summary_view.json +0 -0
  17. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/datasets/co/dataset.json +0 -0
  18. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/datasets/cudos/hourly_view.json +0 -0
  19. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/datasets/cudos/resource_view.json +0 -0
  20. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/datasets/kpi/kpi_ebs_snap.json +0 -0
  21. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/datasets/kpi/kpi_ebs_storage_all.json +0 -0
  22. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/datasets/kpi/kpi_instance_all.json +0 -0
  23. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/datasets/kpi/kpi_s3_storage_all.json +0 -0
  24. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/datasets/kpi/kpi_tracker.json +0 -0
  25. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/datasets/shared/customer_all.json +0 -0
  26. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/datasets/tao/dataset.json +0 -0
  27. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/datasets/trends/daily_anomaly_detection.json +0 -0
  28. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/datasets/trends/monthly_anomaly_detection.json +0 -0
  29. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/datasets/trends/monthly_bill_by_account.json +0 -0
  30. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/permissions/dashboard_permissions.json +0 -0
  31. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/permissions/dashboard_permissions_namespace.json +0 -0
  32. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/permissions/data_set_permissions.json +0 -0
  33. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/permissions/data_source_permissions.json +0 -0
  34. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/permissions/folder_permissions.json +0 -0
  35. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/cid/compute_savings_plan_eligible_spend.sql +0 -0
  36. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/cid/ec2_running_cost.sql +0 -0
  37. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/cid/ri_sp_mapping.sql +0 -0
  38. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/cid/s3.sql +0 -0
  39. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/cid/summary_view.sql +0 -0
  40. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/co/all_options.sql +0 -0
  41. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/co/auto_scale.json +0 -0
  42. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/co/auto_scale_options.sql +0 -0
  43. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/co/ebs_volume.json +0 -0
  44. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/co/ebs_volume_options.sql +0 -0
  45. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/co/ec2_instance.json +0 -0
  46. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/co/ec2_instance_options.sql +0 -0
  47. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/co/ecs_service.json +0 -0
  48. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/co/ecs_service_options.sql +0 -0
  49. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/co/idle.json +0 -0
  50. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/co/idle_options.sql +0 -0
  51. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/co/lambda.json +0 -0
  52. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/co/lambda_options.sql +0 -0
  53. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/co/license.json +0 -0
  54. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/co/license_options.sql +0 -0
  55. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/co/rds_database.json +0 -0
  56. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/co/rds_instance_options.sql +0 -0
  57. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/co/rds_storage_options.sql +0 -0
  58. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/cudos/hourly_view.sql +0 -0
  59. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/cudos/resource_view.sql +0 -0
  60. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/kpi/first_kpi_instance_mapping_view.sql +0 -0
  61. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/kpi/kpi_ebs_snap_view.sql +0 -0
  62. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/kpi/kpi_ebs_storage_view.sql +0 -0
  63. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/kpi/kpi_instance_all_view.sql +0 -0
  64. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/kpi/kpi_s3_storage_view.sql +0 -0
  65. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/kpi/last_kpi_tracker_view.sql +0 -0
  66. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/shared/account_map.sql +0 -0
  67. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/shared/account_map_cur2.sql +0 -0
  68. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/shared/account_map_dummy.sql +0 -0
  69. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/shared/aws_accounts.sql +0 -0
  70. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/shared/aws_regions.sql +0 -0
  71. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/shared/aws_service_category_map.sql +0 -0
  72. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/shared/business_units_map.sql +0 -0
  73. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/shared/cur.yaml +0 -0
  74. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/shared/customer_all_unlimited.sql +0 -0
  75. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/shared/payer_account_name_map.sql +0 -0
  76. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/shared/ta_descriptions.sql +0 -0
  77. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/tao/glue_table.json +0 -0
  78. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/tao/ta_org_view.sql +0 -0
  79. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/trends/daily_anomaly_detection.sql +0 -0
  80. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/trends/monthly_anomaly_detection.sql +0 -0
  81. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/queries/trends/monthly_bill_by_account.sql +0 -0
  82. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/builtin/core/data/resources.yaml +0 -0
  83. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/cli.py +0 -0
  84. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/commands/__init__.py +0 -0
  85. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/commands/command_base.py +0 -0
  86. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/commands/init_qs.py +0 -0
  87. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/common.py +0 -0
  88. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/exceptions.py +0 -0
  89. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/export.py +0 -0
  90. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/helpers/__init__.py +0 -0
  91. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/helpers/account_map.py +0 -0
  92. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/helpers/athena.py +0 -0
  93. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/helpers/cloudformation.py +0 -0
  94. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/helpers/csv2view.py +0 -0
  95. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/helpers/cur.py +0 -0
  96. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/helpers/cur_proxy.py +0 -0
  97. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/helpers/diff.py +0 -0
  98. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/helpers/glue.py +0 -0
  99. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/helpers/iam.py +0 -0
  100. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/helpers/organizations.py +0 -0
  101. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/helpers/parameter_store.py +0 -0
  102. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/helpers/quicksight/__init__.py +0 -0
  103. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/helpers/quicksight/dashboard.py +0 -0
  104. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/helpers/quicksight/dashboard_patching.py +0 -0
  105. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/helpers/quicksight/datasource.py +0 -0
  106. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/helpers/quicksight/definition.py +0 -0
  107. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/helpers/quicksight/resource.py +0 -0
  108. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/helpers/quicksight/template.py +0 -0
  109. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/helpers/quicksight/version.py +0 -0
  110. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/helpers/randtime.py +0 -0
  111. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/helpers/s3.py +0 -0
  112. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/helpers/timezone.py +0 -0
  113. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/logger.py +0 -0
  114. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/plugin.py +0 -0
  115. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/test/python/test_csv2view.py +0 -0
  116. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/test/python/test_isolated_parameters.py +0 -0
  117. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/test/python/test_merge.py +0 -0
  118. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid/utils.py +0 -0
  119. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid_cmd.egg-info/SOURCES.txt +0 -0
  120. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid_cmd.egg-info/dependency_links.txt +0 -0
  121. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid_cmd.egg-info/entry_points.txt +0 -0
  122. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid_cmd.egg-info/requires.txt +0 -0
  123. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/cid_cmd.egg-info/top_level.txt +0 -0
  124. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/pyproject.toml +0 -0
  125. {cid_cmd-4.2.4 → cid_cmd-4.2.5}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cid-cmd
3
- Version: 4.2.4
3
+ Version: 4.2.5
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.2.5'
2
+
@@ -107,7 +107,15 @@ class Dataset(CidQsResource):
107
107
  # take the first one and let's hope it is fine
108
108
  root_lt = next(iter(dataset['LogicalTableMap'].values()))
109
109
 
110
- projected_cols = next( # get the first DataTrasform with ProjectOperation
110
+ renames = {}
111
+ for lt in dataset['LogicalTableMap'].values():
112
+ for dt in lt.get('DataTransforms', []):
113
+ if "RenameColumnOperation" in dt:
114
+ key = lt['Source'].get('PhysicalTableId', '') + '.' + dt["RenameColumnOperation"]['ColumnName']
115
+ renames[key] = dt["RenameColumnOperation"]['NewColumnName']
116
+ logger.trace(f'renames = {renames}')
117
+
118
+ projected_cols = next( # get the first DataTransform with ProjectOperation
111
119
  ds['ProjectOperation']["ProjectedColumns"]
112
120
  for ds in root_lt['DataTransforms']
113
121
  if 'ProjectOperation' in ds
@@ -115,7 +123,7 @@ class Dataset(CidQsResource):
115
123
 
116
124
  # Update each PhysicalTableMap with all columns from athena views
117
125
  all_columns = []
118
- for pt in dataset['PhysicalTableMap'].values():
126
+ for pt_id, pt in dataset['PhysicalTableMap'].items():
119
127
  table_name = pt['RelationalTable']['Name']
120
128
  database = pt['RelationalTable']['Schema']
121
129
  columns = _get_athena_columns(table_name, database)
@@ -137,15 +145,20 @@ class Dataset(CidQsResource):
137
145
  if col['Name'].lower() not in dataset_columns_names
138
146
  ] # BTW what if col is there but another type?
139
147
 
140
- for col in new_columns: # alter names for columns that already exist
141
- if col['Name'].lower() in projected_cols:
142
- col['Name'] = f"{col['Name']}[{table_name}]" # What if it is alrady there?
148
+ # FIXME: need to add RenameColumnOperation! col['Name'] => f"{col['Name']}[{table_name}]"
149
+ new_columns = [col for col in new_columns if col['Name'].lower() not in projected_cols] # avoid things that are already there (probably need to take renames into account)
150
+ new_columns = [col for col in new_columns if col['Name'] not in all_columns] # avoid adding 2nd time
143
151
 
144
152
  logger.trace(f'dataset_columns_to_keep = {dataset_columns_to_keep}')
145
153
  if new_columns:
146
- logger.trace(f'new_columns = {new_columns}')
154
+ logger.trace(f'new_columns = {new_columns} from {pt_id}')
147
155
  pt['RelationalTable']['InputColumns'] = dataset_columns_to_keep + new_columns
148
- all_columns += [col['Name'] for col in pt['RelationalTable']['InputColumns']]
156
+
157
+ for col in new_columns:
158
+ col_name = col['Name']
159
+ if f'{pt_id}.{col_name}' in renames:
160
+ col_name = renames[f'{pt_id}.{col_name}']
161
+ all_columns.append(col_name)
149
162
 
150
163
  # Add all needed calc fields
151
164
  existing_create_columns = [dt.get("CreateColumnsOperation", {}).get('Columns', [None])[0] for dt in root_lt.get('DataTransforms', []) if dt.get("CreateColumnsOperation")]
@@ -172,12 +185,12 @@ class Dataset(CidQsResource):
172
185
  # Add all new cols to projected columns
173
186
  for col in set(all_columns):
174
187
  if col.lower() not in [c.lower() for c in projected_cols]:
188
+ logger.trace(f'adding {col}')
175
189
  projected_cols.append(col)
176
190
 
177
191
  # filter out all columns that cannot be used for dataset creation
178
192
  update_ = {key: value for key, value in dataset.items() if key in 'DataSetId, Name, PhysicalTableMap, LogicalTableMap, ImportMode, ColumnGroups, FieldFolders, RowLevelPermissionDataSet, RowLevelPermissionTagConfiguration, ColumnLevelPermissionRules, DataSetUsageConfiguration, DatasetParameters'.split(', ')}
179
193
  logger.trace(f'update_ = {update_}')
180
-
181
194
  return update_
182
195
 
183
196
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cid-cmd
3
- Version: 4.2.4
3
+ Version: 4.2.5
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.2.4'
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
File without changes
File without changes