@Data public static class Client { private String clientId; @Secret private String clientSecret; private String accessTokenUri; private String userAuthorizationUri; private String clientAuthenticationScheme; private String scope; private String preEstablishedRedirectUri; private Boolean useCurrentUri; }
@Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Slf4j public class DatadogCanaryAccount extends AbstractCanaryAccount implements Cloneable { private Endpoint endpoint; @Secret private String apiKey; @Secret private String applicationKey; private Set<AbstractCanaryServiceIntegration.SupportedTypes> supportedTypes = Collections.singleton(AbstractCanaryServiceIntegration.SupportedTypes.METRICS_STORE); @Data public static class Endpoint { private String baseUrl; } }
@EqualsAndHashCode(callSuper = true) @Data public class WerckerMaster extends Master { @Override public NodeIterator getChildren() { return NodeIteratorFactory.makeEmptyIterator(); } private String address; private String user; @Secret private String token; }
@Data @EqualsAndHashCode(callSuper = true) public class SlackNotification extends Notification { String botName; @Secret String token; @Override @JsonIgnore public NotificationType getNotificationType() { return NotificationType.SLACK; } }
@EqualsAndHashCode(callSuper = true) @Data public class JenkinsMaster extends Master { @Override public NodeIterator getChildren() { return NodeIteratorFactory.makeEmptyIterator(); } private String address; private String username; @Secret private String password; private Boolean csrf; }
@Data @EqualsAndHashCode(callSuper = false) public class AzsPersistentStore extends PersistentStore { private String storageAccountName; //TODO - cli out of date? @Secret private String storageAccountKey; private String storageContainerName; @Override public PersistentStoreType persistentStoreType() { return PersistentStoreType.AZS; } }
@Data @EqualsAndHashCode(callSuper = true) public class S3ArtifactAccount extends ArtifactAccount { public String name; public String apiEndpoint; public String apiRegion; public String region; public String awsAccessKeyId; @Secret public String awsSecretAccessKey; }
@EqualsAndHashCode(callSuper = true) @Data public class AwsBakeryDefaults extends BakeryDefaults<AwsBaseImage> { private String awsAccessKey; @Secret private String awsSecretKey; private String awsSubnetId; private String awsVpcId; private Boolean awsAssociatePublicIpAddress; private AwsBaseImage.AwsVirtualizationSettings.VmType defaultVirtualizationType; }
@EqualsAndHashCode(callSuper = true) @Data public class TravisMaster extends Master { @Override public NodeIterator getChildren() { return NodeIteratorFactory.makeEmptyIterator(); } private String address; private String baseUrl; @Secret private String githubToken; private Integer numberOfRepositories; }
@Data @EqualsAndHashCode(callSuper = true) public class AzureAccount extends Account { private String clientId; @Secret private String appKey; private String tenantId; private String subscriptionId; private String objectId; private String defaultResourceGroup; private String defaultKeyVault; private String packerResourceGroup; private String packerStorageAccount; private List<String> regions = new ArrayList<>(); }
@Data @EqualsAndHashCode(callSuper = false) public class S3PersistentStore extends PersistentStore { private String bucket; private String rootFolder = "front50"; private String region; private String endpoint; private String accessKeyId; @Secret private String secretAccessKey; @Override public PersistentStoreType persistentStoreType() { return PersistentStoreType.S3; } }
@EqualsAndHashCode(callSuper = true) @Data public class LdapRoleProvider extends RoleProvider { private final GroupMembership.RoleProviderType roleProviderType = GroupMembership.RoleProviderType.LDAP; private final String nodeName = "ldap"; URI url; String managerDn; @Secret String managerPassword; String userDnPattern; String userSearchBase; String groupSearchBase; String userSearchFilter; String groupSearchFilter; String groupRoleAttributes; }
@Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Slf4j public class SignalfxCanaryAccount extends AbstractCanaryAccount implements Cloneable { @Secret private String accessToken; private Set<AbstractCanaryServiceIntegration.SupportedTypes> supportedTypes = Collections.singleton(AbstractCanaryServiceIntegration.SupportedTypes.METRICS_STORE); }
@Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Slf4j public class AwsCanaryAccount extends AbstractCanaryAccount implements Cloneable { private String bucket; private String region; private String rootFolder = "kayenta"; private String profileName; private String endpoint; private String accessKeyId; @Secret private String secretAccessKey; private SortedSet<AbstractCanaryServiceIntegration.SupportedTypes> supportedTypes = new TreeSet<>(); }
@Data @EqualsAndHashCode(callSuper = true) public class BitbucketArtifactAccount extends ArtifactAccount { String name; String username; @Secret String password; @LocalFile @SecretFile String usernamePasswordFile; }
@Data @EqualsAndHashCode(callSuper = true) public class HelmArtifactAccount extends ArtifactAccount { String name; String repository; String username; @Secret String password; @LocalFile @SecretFile String usernamePasswordFile; }
@Data @EqualsAndHashCode(callSuper = true) public class OracleArtifactAccount extends ArtifactAccount { private String name; private String namespace; private String region; private String userId; private String fingerprint; @LocalFile @SecretFile private String sshPrivateKeyFilePath; @Secret private String privateKeyPassphrase; private String tenancyId; }
@Data @EqualsAndHashCode(callSuper = true) public class HttpArtifactAccount extends ArtifactAccount { String name; String username; @Secret String password; @LocalFile @SecretFile String usernamePasswordFile; }
@Data @EqualsAndHashCode(callSuper = true) public class OracleAccount extends Account { private String compartmentId; private String userId; private String fingerprint; @LocalFile @SecretFile private String sshPrivateKeyFilePath; @Secret private String privateKeyPassphrase; private String tenancyId; private String region; }