diff --git a/.github/workflows/build-and-package.yaml b/.github/workflows/build-and-package.yaml index af46b8d..3908ca1 100644 --- a/.github/workflows/build-and-package.yaml +++ b/.github/workflows/build-and-package.yaml @@ -98,3 +98,4 @@ jobs: - uses: ncipollo/release-action@v1 with: artifacts: "dist/*" + allowUpdates: true diff --git a/globalConfig.json b/globalConfig.json index 1933e2f..bf67fbb 100644 --- a/globalConfig.json +++ b/globalConfig.json @@ -2,7 +2,7 @@ "meta": { "name": "TA-aws-trusted-advisor", "restRoot": "TA_aws_trusted_advisor", - "version": "1.0.8.1", + "version": "1.0.8Reec7286", "displayName": "AWS Trusted Advisor", "schemaVersion": "0.0.3", "_uccVersion": "5.39.0" diff --git a/package/bin/getchecks.py b/package/bin/getchecks.py index a2459d7..4e1b320 100755 --- a/package/bin/getchecks.py +++ b/package/bin/getchecks.py @@ -2,6 +2,8 @@ getchecks.py Pulls in AWS Trusted Advisor checks information. """ + +import import_declare_test import splunk.Intersplunk import splunk.rest from splunk.clilib import cli_common as cli @@ -12,10 +14,13 @@ import logging as logger import os -logger.basicConfig(level=logger.INFO, - format='%(asctime)s %(levelname)s %(message)s', - filename=os.path.join(os.environ['SPLUNK_HOME'],'var','log','splunk','ta_aws_trusted_advisor_getchecks.log'), - filemode='a') +logger.basicConfig( + level=logger.INFO, + format="%(asctime)s %(levelname)s %(message)s", + filename=os.path.join(os.environ["SPLUNK_HOME"], "var", "log", "splunk", "ta_aws_trusted_advisor_getchecks.log"), + filemode="a", +) + def get_checks(results): """ @@ -26,67 +31,59 @@ def get_checks(results): events = [] row = {} for check in results: - row['id'] = check['id'] - row['name'] = check['name'] - row['category'] = check['category'] - row['description'] = check['description'] + row["id"] = check["id"] + row["name"] = check["name"] + row["category"] = check["category"] + row["description"] = check["description"] events.append(row) row = {} return splunk.Intersplunk.outputResults(events) + if __name__ == "__main__": splunk_results, unused1, settings = splunk.Intersplunk.getOrganizedResults() splunk_session_key = settings.get("sessionKey", None) - owner = settings.get("owner", "admin") - namespace = settings.get("namespace", "search") + owner = settings.get("owner", "admin") + namespace = settings.get("namespace", "search") aws_access_key_id, aws_secret_access_key, role_arn = common.get_credentials(splunk_session_key, owner, namespace) if aws_access_key_id == "": aws_access_key_id = None if aws_secret_access_key == "": aws_secret_access_key = None - aws_session_token=None - region = 'us-east-1' + aws_session_token = None + region = "us-east-1" try: if role_arn: try: - audit_sts_client = boto3.client('sts') + audit_sts_client = boto3.client("sts") sts_response = boto3.client( - 'sts', - aws_access_key_id=aws_access_key_id, - aws_secret_access_key=aws_secret_access_key, - aws_session_token=aws_session_token + "sts", aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key, aws_session_token=aws_session_token ).assume_role( - RoleArn=role_arn, - RoleSessionName="splunk", - DurationSeconds=900 #min 900 max inf + RoleArn=role_arn, RoleSessionName="splunk", DurationSeconds=900 # min 900 max inf ) - sts_credentials = sts_response['Credentials'] - aws_access_key_id = sts_credentials['AccessKeyId'] - aws_secret_access_key = sts_credentials['SecretAccessKey'] - aws_session_token = sts_credentials['SessionToken'] + sts_credentials = sts_response["Credentials"] + aws_access_key_id = sts_credentials["AccessKeyId"] + aws_secret_access_key = sts_credentials["SecretAccessKey"] + aws_session_token = sts_credentials["SessionToken"] logger.info("Assumed role={}".format(role_arn)) - except(Exception) as e: + except Exception as e: logger.critical("Could not assume role") logger.critical(e) client = boto3.client( - 'support', - region_name=region, - aws_access_key_id=aws_access_key_id, - aws_secret_access_key=aws_secret_access_key, - aws_session_token=aws_session_token + "support", region_name=region, aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key, aws_session_token=aws_session_token ) - checks = client.describe_trusted_advisor_checks(language='en')['checks'] - output=get_checks(checks) + checks = client.describe_trusted_advisor_checks(language="en")["checks"] + output = get_checks(checks) splunk_results = output except EndpointConnectionError as e: - message = '{}'.format(e) - common.make_error_message(message, splunk_session_key, 'getchecks.py') + message = "{}".format(e) + common.make_error_message(message, splunk_session_key, "getchecks.py") except ClientError as e: - message = '{}'.format(e) - common.make_error_message(message, splunk_session_key, 'getchecks.py') + message = "{}".format(e) + common.make_error_message(message, splunk_session_key, "getchecks.py")