code: func (command S3ArtifactPublisherResource) Create(awsSession *session.Session,
  	event *CloudFormationLambdaEvent,
  	logger *logrus.Logger) (map[string]interface{}, error) {
  
  	unmarshalErr := json.Unmarshal(event.ResourceProperties, &command)
  	if unmarshalErr != nil {
  		return nil, unmarshalErr
  	}
  	mapData, mapDataErr := json.Marshal(command.Body)
  	if mapDataErr != nil {
  		return nil, mapDataErr
  	}
  	itemInput := bytes.NewReader(mapData)
  	s3PutObjectParams := &s3.PutObjectInput{
  		Body:   itemInput,
  		Bucket: aws.String(command.Bucket.Literal),
  		Key:    aws.String(command.Key.Literal),
  	}
  	s3Svc := s3.New(awsSession)
  	s3Response, s3ResponseErr := s3Svc.PutObject(s3PutObjectParams)
  	if s3ResponseErr != nil {
  		return nil, s3ResponseErr
  	}
  	return map[string]interface{}{
  		"ObjectVersion": s3Response.VersionId,
  	}, nil
  }
docs: // Create implements the S3 create operation