Skip to content

Commit

Permalink
Add support for Terraform package type jfrog#354
Browse files Browse the repository at this point in the history
 - Changes based on PR jfrog#380 feedback
  • Loading branch information
nevenr committed Nov 7, 2023
1 parent d787f27 commit a81140d
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 34 deletions.
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
package org.jfrog.artifactory.client.model.repository.settings;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.jfrog.artifactory.client.model.repository.settings.vcs.VcsGitProvider;
import org.jfrog.artifactory.client.model.repository.settings.vcs.VcsType;

@JsonIgnoreProperties(ignoreUnknown = true)
public interface TerraformRepositorySettings extends RepositorySettings{

// local and federated settings
// Local and federated settings
enum TerraformType {
module,
provider
}

// local and federated settings
TerraformType getTerraformType();

// remote settings

// url is already declared in RemoteRepo
// Remote settings
// Url is already declared in RemoteRepo

VcsType getVcsType();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,38 +19,36 @@ class TerraformPackageTypeRepositoryTests extends BaseRepositoryTests {

@Override
RepositorySettings getRepositorySettings(RepositoryType repositoryType) {

if (repositoryType == RepositoryTypeImpl.REMOTE) {
def settings = new TerraformRepositorySettingsImpl()
settings.with {
repoLayout = defaultLayout
vcsType = VcsType.GIT
vcsGitProvider = VcsGitProvider.GITHUB
terraformRegistryUrl = "https://registry.terraform.io"
terraformProvidersUrl = "https://releases.hashicorp.com"
remoteRepoLayoutRef = defaultLayout
}
return settings
}

if (repositoryType == RepositoryTypeImpl.VIRTUAL) {
def settings = new TerraformRepositorySettingsImpl()
settings.with {
repoLayout = moduleLayout
}
return settings
def settings = new TerraformRepositorySettingsImpl()

switch (repositoryType) {
case RepositoryTypeImpl.REMOTE:
settings.with {
repoLayout = defaultLayout
vcsType = VcsType.GIT
vcsGitProvider = VcsGitProvider.GITHUB
terraformRegistryUrl = "https://registry.terraform.io"
terraformProvidersUrl = "https://releases.hashicorp.com"
remoteRepoLayoutRef = defaultLayout
}
break
case RepositoryTypeImpl.VIRTUAL:
settings.with {
repoLayout = moduleLayout
}
break
case RepositoryTypeImpl.FEDERATED:
settings.with {
terraformType = TerraformRepositorySettings.TerraformType.module
repoLayout = moduleLayout
}
break
default:
settings = null
}

if (repositoryType == RepositoryTypeImpl.FEDERATED) {
def settings = new TerraformRepositorySettingsImpl()
settings.with {
terraformType = TerraformRepositorySettings.TerraformType.module
repoLayout = moduleLayout
}
return settings
}
return settings

return null
}

@BeforeMethod
Expand Down

0 comments on commit a81140d

Please sign in to comment.