cid-cmd 4.2.2__tar.gz → 4.2.3__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.2/cid_cmd.egg-info → cid_cmd-4.2.3}/PKG-INFO +1 -1
  2. cid_cmd-4.2.3/cid/_version.py +2 -0
  3. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/common.py +12 -6
  4. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/export.py +1 -1
  5. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/helpers/account_map.py +18 -14
  6. {cid_cmd-4.2.2 → cid_cmd-4.2.3/cid_cmd.egg-info}/PKG-INFO +1 -1
  7. cid_cmd-4.2.2/cid/_version.py +0 -2
  8. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/LICENSE +0 -0
  9. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/MANIFEST.in +0 -0
  10. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/README.md +0 -0
  11. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/__init__.py +0 -0
  12. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/base.py +0 -0
  13. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/__init__.py +0 -0
  14. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/__init__.py +0 -0
  15. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/datasets/cid/compute.json +0 -0
  16. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/datasets/cid/ec2_running_cost.json +0 -0
  17. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/datasets/cid/s3_view.json +0 -0
  18. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/datasets/cid/summary_view.json +0 -0
  19. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/datasets/co/dataset.json +0 -0
  20. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/datasets/cudos/hourly_view.json +0 -0
  21. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/datasets/cudos/resource_view.json +0 -0
  22. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/datasets/kpi/kpi_ebs_snap.json +0 -0
  23. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/datasets/kpi/kpi_ebs_storage_all.json +0 -0
  24. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/datasets/kpi/kpi_instance_all.json +0 -0
  25. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/datasets/kpi/kpi_s3_storage_all.json +0 -0
  26. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/datasets/kpi/kpi_tracker.json +0 -0
  27. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/datasets/shared/customer_all.json +0 -0
  28. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/datasets/tao/dataset.json +0 -0
  29. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/datasets/trends/daily_anomaly_detection.json +0 -0
  30. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/datasets/trends/monthly_anomaly_detection.json +0 -0
  31. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/datasets/trends/monthly_bill_by_account.json +0 -0
  32. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/permissions/dashboard_permissions.json +0 -0
  33. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/permissions/dashboard_permissions_namespace.json +0 -0
  34. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/permissions/data_set_permissions.json +0 -0
  35. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/permissions/data_source_permissions.json +0 -0
  36. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/permissions/folder_permissions.json +0 -0
  37. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/cid/compute_savings_plan_eligible_spend.sql +0 -0
  38. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/cid/ec2_running_cost.sql +0 -0
  39. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/cid/ri_sp_mapping.sql +0 -0
  40. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/cid/s3.sql +0 -0
  41. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/cid/summary_view.sql +0 -0
  42. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/co/all_options.sql +0 -0
  43. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/co/auto_scale.json +0 -0
  44. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/co/auto_scale_options.sql +0 -0
  45. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/co/ebs_volume.json +0 -0
  46. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/co/ebs_volume_options.sql +0 -0
  47. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/co/ec2_instance.json +0 -0
  48. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/co/ec2_instance_options.sql +0 -0
  49. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/co/ecs_service.json +0 -0
  50. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/co/ecs_service_options.sql +0 -0
  51. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/co/idle.json +0 -0
  52. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/co/idle_options.sql +0 -0
  53. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/co/lambda.json +0 -0
  54. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/co/lambda_options.sql +0 -0
  55. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/co/license.json +0 -0
  56. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/co/license_options.sql +0 -0
  57. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/co/rds_database.json +0 -0
  58. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/co/rds_instance_options.sql +0 -0
  59. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/co/rds_storage_options.sql +0 -0
  60. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/cudos/hourly_view.sql +0 -0
  61. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/cudos/resource_view.sql +0 -0
  62. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/kpi/first_kpi_instance_mapping_view.sql +0 -0
  63. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/kpi/kpi_ebs_snap_view.sql +0 -0
  64. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/kpi/kpi_ebs_storage_view.sql +0 -0
  65. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/kpi/kpi_instance_all_view.sql +0 -0
  66. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/kpi/kpi_s3_storage_view.sql +0 -0
  67. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/kpi/last_kpi_tracker_view.sql +0 -0
  68. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/shared/account_map.sql +0 -0
  69. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/shared/account_map_cur2.sql +0 -0
  70. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/shared/account_map_dummy.sql +0 -0
  71. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/shared/aws_accounts.sql +0 -0
  72. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/shared/aws_regions.sql +0 -0
  73. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/shared/aws_service_category_map.sql +0 -0
  74. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/shared/business_units_map.sql +0 -0
  75. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/shared/cur.yaml +0 -0
  76. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/shared/customer_all_unlimited.sql +0 -0
  77. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/shared/payer_account_name_map.sql +0 -0
  78. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/shared/ta_descriptions.sql +0 -0
  79. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/tao/glue_table.json +0 -0
  80. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/tao/ta_org_view.sql +0 -0
  81. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/trends/daily_anomaly_detection.sql +0 -0
  82. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/trends/monthly_anomaly_detection.sql +0 -0
  83. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/queries/trends/monthly_bill_by_account.sql +0 -0
  84. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/builtin/core/data/resources.yaml +0 -0
  85. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/cli.py +0 -0
  86. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/commands/__init__.py +0 -0
  87. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/commands/command_base.py +0 -0
  88. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/commands/init_qs.py +0 -0
  89. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/exceptions.py +0 -0
  90. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/helpers/__init__.py +0 -0
  91. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/helpers/athena.py +0 -0
  92. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/helpers/cloudformation.py +0 -0
  93. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/helpers/csv2view.py +0 -0
  94. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/helpers/cur.py +0 -0
  95. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/helpers/cur_proxy.py +0 -0
  96. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/helpers/diff.py +0 -0
  97. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/helpers/glue.py +0 -0
  98. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/helpers/iam.py +0 -0
  99. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/helpers/organizations.py +0 -0
  100. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/helpers/parameter_store.py +0 -0
  101. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/helpers/quicksight/__init__.py +0 -0
  102. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/helpers/quicksight/dashboard.py +0 -0
  103. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/helpers/quicksight/dashboard_patching.py +0 -0
  104. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/helpers/quicksight/dataset.py +0 -0
  105. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/helpers/quicksight/datasource.py +0 -0
  106. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/helpers/quicksight/definition.py +0 -0
  107. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/helpers/quicksight/resource.py +0 -0
  108. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/helpers/quicksight/template.py +0 -0
  109. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/helpers/quicksight/version.py +0 -0
  110. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/helpers/randtime.py +0 -0
  111. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/helpers/s3.py +0 -0
  112. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/helpers/timezone.py +0 -0
  113. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/logger.py +0 -0
  114. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/plugin.py +0 -0
  115. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/test/python/test_csv2view.py +0 -0
  116. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/test/python/test_isolated_parameters.py +0 -0
  117. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/test/python/test_merge.py +0 -0
  118. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid/utils.py +0 -0
  119. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid_cmd.egg-info/SOURCES.txt +0 -0
  120. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid_cmd.egg-info/dependency_links.txt +0 -0
  121. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid_cmd.egg-info/entry_points.txt +0 -0
  122. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid_cmd.egg-info/requires.txt +0 -0
  123. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/cid_cmd.egg-info/top_level.txt +0 -0
  124. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/pyproject.toml +0 -0
  125. {cid_cmd-4.2.2 → cid_cmd-4.2.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cid-cmd
3
- Version: 4.2.2
3
+ Version: 4.2.3
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.3'
2
+
@@ -131,10 +131,10 @@ class Cid():
131
131
  """ get/create parameters_controller """
132
132
  return ParametersController(self.athena)
133
133
 
134
- def get_cur(self, target_cur_version):
134
+ def get_cur(self, target_cur_version=None):
135
135
  """ get a cur """
136
136
  cur_version = self.cur.version
137
- if cur_version != target_cur_version or get_parameters().get('use-cur-proxy'):
137
+ if (target_cur_version and cur_version != target_cur_version) or get_parameters().get('use-cur-proxy'):
138
138
  return ProxyCUR(self.cur, target_cur_version=target_cur_version)
139
139
  return self.cur
140
140
 
@@ -170,7 +170,7 @@ class Cid():
170
170
  account_map = AccountMap(
171
171
  self.base.session,
172
172
  self.athena,
173
- self.cur, # can be any CUR. But it is only needed for trends and dummy
173
+ self.get_cur, # can be any CUR. But it is only needed for trends and dummy
174
174
  )
175
175
  return account_map.create_or_update(name)
176
176
 
@@ -1605,9 +1605,15 @@ class Cid():
1605
1605
  # patch dataset for tags
1606
1606
  cur_tags_json_required = False
1607
1607
  for dep_view_name in dataset_definition.get('dependsOn', {}).get('views', []):
1608
- cur_tags_json_required = 'tags_json' in str()
1609
- if self.resources['views'].get(dep_view_name, {}).get('dependsOn',{}).get('tags') == 'json' \
1610
- or self.resources['views'].get(dep_view_name, {}).get('parameters',{}).get('resource-tags'):
1608
+ try:
1609
+ tags_type = self.resources['views'][dep_view_name]['dependsOn']['tags']
1610
+ except (KeyError, TypeError, AttributeError):
1611
+ tags_type = None
1612
+ try:
1613
+ param_res_tag = self.resources['views'][dep_view_name]['parameters']['resource-tags']
1614
+ except (KeyError, TypeError, AttributeError):
1615
+ param_res_tag = None
1616
+ if tags_type == 'json' or param_res_tag:
1611
1617
  cur_tags_json_required = True
1612
1618
  break
1613
1619
  custom_fields = {}
@@ -179,7 +179,7 @@ def export_analysis(qs, athena, glue):
179
179
  elif 'CustomSql' in value and 'DataSourceArn' in value['CustomSql']:
180
180
  logger.debug(f"Dataset {dataset.raw['DataSetId']} looks like CustomSql athena dataset")
181
181
  value['CustomSql']['DataSourceArn'] = '${athena_datasource_arn}'
182
- databases = [db_['Name'] for db_ in athena.list_databases()]
182
+ databases = athena.list_databases()
183
183
  for database in databases:
184
184
  if f'{database}.' in value['CustomSql']['SqlQuery'] or f'"{database}".' in value['CustomSql']['SqlQuery']:
185
185
  logger.debug(f"Replacing {database} in text")
@@ -65,8 +65,8 @@ class AccountMap(CidBase):
65
65
  }
66
66
  }
67
67
 
68
- def __init__(self, session: Session, athena: Athena, cur=None) -> None:
69
- self.cur = cur # Only for trends and dummy
68
+ def __init__(self, session: Session, athena: Athena, get_cur=None) -> None:
69
+ self.get_cur = get_cur # get_cur callback Only for trends and dummy
70
70
  self.athena = athena
71
71
  super().__init__(session)
72
72
 
@@ -121,7 +121,7 @@ class AccountMap(CidBase):
121
121
  template = Template(
122
122
  resource_string(
123
123
  view_definition.get('providedBy'),
124
- f'data/queries/{view_file}'
124
+ f'data/{view_file}'
125
125
  ).decode('utf-8')
126
126
  )
127
127
  elif view_definition.get('data'):
@@ -133,8 +133,8 @@ class AccountMap(CidBase):
133
133
  vars = {
134
134
  'metadata_table_name': metadata_table['Name'],
135
135
  'metadata_database_name': metadata_table['Database'],
136
- 'cur_database': self.cur.database, # only for trends in metadata
137
- 'cur_table_name': self.cur.table_name, # only for trends in metadata
136
+ 'cur_database': self.get_cur().database if name == 'aws_accounts' and self.get_cur else None, # only for trends in metadata
137
+ 'cur_table_name': self.get_cur().table_name if name == 'aws_accounts' and self.get_cur else None, # only for trends in metadata
138
138
  }
139
139
  for key, val in self.mappings.get(name).get(metadata_table['Name']).items():
140
140
  logger.debug(f'Mapping field {key} to {val}')
@@ -151,7 +151,8 @@ class AccountMap(CidBase):
151
151
  def get_dummy_account_mapping_sql(self, name) -> list:
152
152
  """Create dummy account mapping"""
153
153
  logger.info(f'Creating dummy account mapping for {name}')
154
- if self.cur.version.startswith('2'):
154
+ cur = self.get_cur()
155
+ if cur.version.startswith('2'):
155
156
  sql_file = 'data/queries/shared/account_map_cur2.sql'
156
157
  else:
157
158
  sql_file = 'data/queries/shared/account_map_dummy.sql'
@@ -161,8 +162,8 @@ class AccountMap(CidBase):
161
162
  ).decode('utf-8'))
162
163
  columns_tpl = {
163
164
  'athena_view_name': name,
164
- 'cur_table_name': self.cur.table_name,
165
- 'cur_database': self.cur.database,
165
+ 'cur_table_name': cur.table_name,
166
+ 'cur_database': cur.database,
166
167
  }
167
168
  compiled_query = template.safe_substitute(columns_tpl)
168
169
  return compiled_query
@@ -278,20 +279,23 @@ class AccountMap(CidBase):
278
279
  except CidError as exc:
279
280
  logger.debug(exc)
280
281
 
281
- if self.cur.version.startswith('2'):
282
+ if self.get_cur and self.get_cur().version.startswith('2'):
282
283
  cid_print('Looks like CUR2 is used. Will use it for account map.')
283
284
  set_parameters({'account-map-source': 'dummy'})
284
285
 
285
286
  for attempt in range(3):
286
287
  try:
288
+ choices = {
289
+ 'AWS Organizations (one time account listing)': 'organization',
290
+ 'CSV file (relative path required)': 'csv',
291
+ }
292
+ if self.get_cur:
293
+ choices['Dummy (CUR account data, no names for CUR1)'] = 'dummy'
294
+
287
295
  metadata_source = get_parameter(
288
296
  param_name='account-map-source',
289
297
  message="Please select account metadata collection method",
290
- choices={
291
- 'Dummy (CUR account data, no names for CUR1)': 'dummy',
292
- 'AWS Organizations (one time account listing)': 'organization',
293
- 'CSV file (relative path required)': 'csv',
294
- },
298
+ choices=choices,
295
299
  )
296
300
  logger.info(f'Attempt {attempt + 2}' )
297
301
  # Collect account list from different sources of user choice
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cid-cmd
3
- Version: 4.2.2
3
+ Version: 4.2.3
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.2'
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