All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.hubspot.singularity.s3.base.config.SingularityS3Credentials Maven / Gradle / Ivy

package com.hubspot.singularity.s3.base.config;

import static com.hubspot.mesos.JavaUtils.obfuscateValue;

import java.util.Objects;

import com.amazonaws.auth.BasicAWSCredentials;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.hubspot.singularity.runner.base.jackson.Obfuscate;

public class SingularityS3Credentials {
  private final String accessKey;
  private final String secretKey;

  @JsonCreator
  public SingularityS3Credentials(@JsonProperty("accessKey") String accessKey,
                                  @JsonProperty("secretKey") String secretKey) {
    this.accessKey = accessKey;
    this.secretKey = secretKey;
  }

  @Obfuscate
  public String getAccessKey() {
    return accessKey;
  }

  @Obfuscate
  public String getSecretKey() {
    return secretKey;
  }

  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    SingularityS3Credentials that = (SingularityS3Credentials) o;
    return Objects.equals(accessKey, that.accessKey) &&
            Objects.equals(secretKey, that.secretKey);
  }

  @Override
  public int hashCode() {
    return Objects.hash(accessKey, secretKey);
  }

  @Override
  public String toString() {
    return "SingularityS3Credentials[" +
            "accessKey='" + obfuscateValue(accessKey) + '\'' +
            ", secretKey='" + obfuscateValue(secretKey) + '\'' +
            ']';
  }

  @JsonIgnore
  public BasicAWSCredentials toAWSCredentials() {
    return new BasicAWSCredentials(accessKey, secretKey);
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy