Merge branch 'master' into update-docs

This commit is contained in:
Jasmine Schladen 2020-11-13 17:39:37 -08:00 committed by GitHub
commit afbd8b6930
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 47 additions and 13 deletions

View File

@ -419,7 +419,7 @@ class S3DestinationPlugin(ExportDestinationPlugin):
:param kwargs: :param kwargs:
:return: :return:
""" """
current_app.logger.debug("S3 destination plugin is started for HTTP-01 challenge") current_app.logger.debug("S3 destination plugin is started to upload HTTP-01 challenge")
function = f"{__name__}.{sys._getframe().f_code.co_name}" function = f"{__name__}.{sys._getframe().f_code.co_name}"
@ -431,16 +431,16 @@ class S3DestinationPlugin(ExportDestinationPlugin):
if not prefix.endswith("/"): if not prefix.endswith("/"):
prefix + "/" prefix + "/"
res = s3.put(bucket_name=bucket_name, response = s3.put(bucket_name=bucket_name,
region_name=region, region_name=region,
prefix=prefix + filename, prefix=prefix + filename,
data=token, data=token,
encrypt=False, encrypt=False,
account_number=account_number) account_number=account_number)
res = "Success" if res else "Failure" res = "Success" if response else "Failure"
log_data = { log_data = {
"function": function, "function": function,
"message": "check if any valid certificate is revoked", "message": "upload acme token challenge",
"result": res, "result": res,
"bucket_name": bucket_name, "bucket_name": bucket_name,
"filename": filename "filename": filename
@ -449,6 +449,34 @@ class S3DestinationPlugin(ExportDestinationPlugin):
metrics.send(f"{function}", "counter", 1, metric_tags={"result": res, metrics.send(f"{function}", "counter", 1, metric_tags={"result": res,
"bucket_name": bucket_name, "bucket_name": bucket_name,
"filename": filename}) "filename": filename})
return response
def delete_acme_token(self, token_path, options, **kwargs):
current_app.logger.debug("S3 destination plugin is started to delete HTTP-01 challenge")
function = f"{__name__}.{sys._getframe().f_code.co_name}"
account_number = self.get_option("accountNumber", options)
bucket_name = self.get_option("bucket", options)
prefix = self.get_option("prefix", options)
filename = token_path.split("/")[-1]
response = s3.delete(bucket_name=bucket_name,
prefixed_object_name=prefix + filename,
account_number=account_number)
res = "Success" if response else "Failure"
log_data = {
"function": function,
"message": "delete acme token challenge",
"result": res,
"bucket_name": bucket_name,
"filename": filename
}
current_app.logger.info(log_data)
metrics.send(f"{function}", "counter", 1, metric_tags={"result": res,
"bucket_name": bucket_name,
"filename": filename})
return response
class SNSNotificationPlugin(ExpirationNotificationPlugin): class SNSNotificationPlugin(ExpirationNotificationPlugin):

View File

@ -68,10 +68,11 @@ def test_upload_acme_token(app):
s3_client.create_bucket(Bucket=bucket) s3_client.create_bucket(Bucket=bucket)
p = plugins.get("aws-s3") p = plugins.get("aws-s3")
p.upload_acme_token(token_path=token_path, response = p.upload_acme_token(token_path=token_path,
token_content=token_content, token_content=token_content,
token=token_content, token=token_content,
options=additional_options) options=additional_options)
assert response
response = get(bucket_name=bucket, response = get(bucket_name=bucket,
prefixed_object_name=prefix + token_name, prefixed_object_name=prefix + token_name,
@ -80,3 +81,8 @@ def test_upload_acme_token(app):
# put data, and getting the same data # put data, and getting the same data
assert (response == token_content) assert (response == token_content)
response = p.delete_acme_token(token_path=token_path,
options=additional_options,
account_number=account)
assert response