package keywhiz.api.automation.v2;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.auto.value.AutoValue;
import com.google.common.collect.ImmutableSet;
@AutoValue public abstract class SecretContentsRequestV2 {
SecretContentsRequestV2() {} // prevent sub-classing
public static Builder builder() {
return new AutoValue_SecretContentsRequestV2.Builder()
.secrets();
}
@AutoValue.Builder public abstract static class Builder {
// intended to be package-private
abstract SecretContentsRequestV2.Builder secrets(ImmutableSet<String> secrets);
public SecretContentsRequestV2.Builder secrets(String... secrets) {
return secrets(ImmutableSet.copyOf(secrets));
}
public abstract SecretContentsRequestV2 build();
}
/**
* Static factory method used by Jackson for deserialization
*/
@SuppressWarnings("unused")
@JsonCreator public static SecretContentsRequestV2 fromParts(
@JsonProperty("secrets") ImmutableSet<String> secrets) {
return builder().secrets(secrets).build();
}
@JsonProperty("secrets") public abstract ImmutableSet<String> secrets();
}