code: func (command S3ArtifactPublisherResource) Delete(awsSession *session.Session,
  	event *CloudFormationLambdaEvent,
  	logger *logrus.Logger) (map[string]interface{}, error) {
  
  	unmarshalErr := json.Unmarshal(event.ResourceProperties, &command)
  	if unmarshalErr != nil {
  		return nil, unmarshalErr
  	}
  	s3DeleteObjectParams := &s3.DeleteObjectInput{
  		Bucket: aws.String(command.Bucket.Literal),
  		Key:    aws.String(command.Key.Literal),
  	}
  	s3Svc := s3.New(awsSession)
  	_, s3ResponseErr := s3Svc.DeleteObject(s3DeleteObjectParams)
  	if s3ResponseErr != nil {
  		return nil, s3ResponseErr
  	}
  	logger.WithFields(logrus.Fields{
  		"Bucket": command.Bucket.Literal,
  		"Key":    command.Key.Literal,
  	}).Info("Object deleted")
  	return nil, nil
  }
docs: // Delete implements the S3 delete operation