/* * Copyright (C) 2015, Matthias Sohn * Copyright (C) 2015, Sasa Zivkov and others * * This program and the accompanying materials are made available under the * terms of the Eclipse Distribution License v. 1.0 which is available at * https://www.eclipse.org/org/documents/edl-v10.php. * * SPDX-License-Identifier: BSD-3-Clause */ package org.eclipse.jgit.lfs.server.s3; /** * Configuration for an Amazon AWS S3 bucket * * @since 4.3 */ public class S3Config { private final String hostname; private final String region; private final String bucket; private final String storageClass; private final String accessKey; private final String secretKey; private final int expirationSeconds; private final boolean disableSslVerify; /** *

* Constructor for S3Config. *

* * @param hostname * S3 API host * @param region * AWS region * @param bucket * S3 storage bucket * @param storageClass * S3 storage class * @param accessKey * access key for authenticating to AWS * @param secretKey * secret key for authenticating to AWS * @param expirationSeconds * period in seconds after which requests signed for this bucket * will expire * @param disableSslVerify * if {@code true} disable Amazon server certificate and hostname * verification * @since 5.8 */ public S3Config(String hostname, String region, String bucket, String storageClass, String accessKey, String secretKey, int expirationSeconds, boolean disableSslVerify) { this.hostname = hostname; this.region = region; this.bucket = bucket; this.storageClass = storageClass; this.accessKey = accessKey; this.secretKey = secretKey; this.expirationSeconds = expirationSeconds; this.disableSslVerify = disableSslVerify; } /** *

Constructor for S3Config.

* * @param region * AWS region * @param bucket * S3 storage bucket * @param storageClass * S3 storage class * @param accessKey * access key for authenticating to AWS * @param secretKey * secret key for authenticating to AWS * @param expirationSeconds * period in seconds after which requests signed for this bucket * will expire * @param disableSslVerify * if {@code true} disable Amazon server certificate and hostname * verification */ public S3Config(String region, String bucket, String storageClass, String accessKey, String secretKey, int expirationSeconds, boolean disableSslVerify) { this(String.format("s3-%s.amazonaws.com", region), region, bucket, //$NON-NLS-1$ storageClass, accessKey, secretKey, expirationSeconds, disableSslVerify); } /** * Get the hostname. * * @return Get the S3 API host * @since 5.8 */ public String getHostname() { return hostname; } /** * Get the region. * * @return Get name of AWS region this bucket resides in */ public String getRegion() { return region; } /** * Get the bucket. * * @return Get S3 storage bucket name */ public String getBucket() { return bucket; } /** * Get the storageClass. * * @return S3 storage class to use for objects stored in this bucket */ public String getStorageClass() { return storageClass; } /** * Get the accessKey. * * @return access key for authenticating to AWS */ public String getAccessKey() { return accessKey; } /** * Get the secretKey. * * @return secret key for authenticating to AWS */ public String getSecretKey() { return secretKey; } /** * Get the expirationSeconds. * * @return period in seconds after which requests signed for this bucket * will expire */ public int getExpirationSeconds() { return expirationSeconds; } /** * @return {@code true} if Amazon server certificate and hostname * verification is disabled */ boolean isDisableSslVerify() { return disableSslVerify; } }