remote

package
v12.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 16, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Rclass               = "remote"
	CurrentSchemaVersion = 3
)
View Source
const MavenCurrentSchemaVersion = 2

Variables

View Source
var AnsibleSchemas = GetSchemas(ansibleSchema)
View Source
var BasicSchema = func(packageType string) map[string]*schema.Schema {
	return lo.Assign(
		baseSchema,
		repository.RepoLayoutRefSchema(Rclass, packageType),
	)
}
View Source
var BowerSchemas = GetSchemas(bowerSchema)
View Source
var CargoSchemas = GetSchemas(cargoSchema)
View Source
var CocoapodsSchemas = GetSchemas(cocoapodsSchema)
View Source
var ComposerSchemas = GetSchemas(composerSchema)
View Source
var ConanSchemas = GetSchemas(conanSchema)
View Source
var CurationRemoteRepoSchema = map[string]*schema.Schema{
	"curated": {
		Type:        schema.TypeBool,
		Optional:    true,
		Default:     false,
		Description: "Enable repository to be protected by the Curation service.",
	},
}
View Source
var DockerSchemas = GetSchemas(dockerSchema)
View Source
var GemsSchemas = GetGenericSchemas(gemsSchemaV4)
View Source
var GenericSchemaV4 = lo.Assign(
	genericSchemaV3,
	map[string]*schema.Schema{
		"retrieve_sha256_from_server": {
			Type:        schema.TypeBool,
			Optional:    true,
			Default:     false,
			Description: "When set to `true`, Artifactory retrieves the SHA256 from the remote server if it is not cached in the remote repo.",
		},
	},
)
View Source
var GetGenericSchemas = func(s map[string]*schema.Schema) map[int16]map[string]*schema.Schema {
	return map[int16]map[string]*schema.Schema{
		0: lo.Assign(
			baseSchemaV1,
			genericSchemaV3,
		),
		1: lo.Assign(
			baseSchemaV1,
			genericSchemaV3,
		),
		2: lo.Assign(
			baseSchemaV2,
			genericSchemaV3,
		),
		3: lo.Assign(
			baseSchemaV3,
			genericSchemaV3,
		),
		4: lo.Assign(
			baseSchemaV3,
			s,
		),
	}
}
View Source
var GetSchemas = func(s map[string]*schema.Schema) map[int16]map[string]*schema.Schema {
	return map[int16]map[string]*schema.Schema{
		0: lo.Assign(
			baseSchemaV1,
			s,
		),
		1: lo.Assign(
			baseSchemaV1,
			s,
		),
		2: lo.Assign(
			baseSchemaV2,
			s,
		),
		3: lo.Assign(
			baseSchemaV3,
			s,
		),
	}
}
View Source
var GoSchema = lo.Assign(
	baseSchema,
	CurationRemoteRepoSchema,
	map[string]*schema.Schema{
		"vcs_git_provider": {
			Type:             schema.TypeString,
			Optional:         true,
			Default:          "ARTIFACTORY",
			ValidateDiagFunc: validation.ToDiagFunc(validation.StringInSlice([]string{"GITHUB", "ARTIFACTORY"}, false)),
			Description:      `Artifactory supports proxying the following Git providers out-of-the-box: GitHub or a remote Artifactory instance. Default value is "ARTIFACTORY".`,
		},
	},
	repository.RepoLayoutRefSchema(Rclass, repository.GoPackageType),
)
View Source
var GoSchemas = GetSchemas(GoSchema)
View Source
var HelmOCISchema = lo.Assign(
	baseSchema,
	map[string]*schema.Schema{
		"external_dependencies_enabled": {
			Type:        schema.TypeBool,
			Optional:    true,
			Default:     false,
			Description: "Also known as 'Foreign Layers Caching' on the UI, default is `false`.",
		},
		"enable_token_authentication": {
			Type:        schema.TypeBool,
			Optional:    true,
			Computed:    true,
			Description: "Enable token (Bearer) based authentication.",
		},

		"external_dependencies_patterns": {
			Type:     schema.TypeList,
			Optional: true,
			Elem: &schema.Schema{
				Type: schema.TypeString,
			},
			RequiredWith: []string{"external_dependencies_enabled"},
			Description: "Optional include patterns to match external URLs. Ant-style path expressions are supported (*, **, ?). " +
				"For example, specifying `**/github.com/**` will only allow downloading foreign layers from github.com host." +
				"By default, this is set to '**' in the UI, which means that foreign layers may be downloaded from any external host." +
				"Due to Terraform SDKv2 limitations, we can't set the default value for the list." +
				"This value must be assigned to the attribute manually, if user don't specify any other non-default values." +
				"This attribute must be set together with `external_dependencies_enabled = true`",
		},
		"project_id": {
			Type:     schema.TypeString,
			Optional: true,
			Description: "Use this attribute to enter your GCR, GAR Project Id to limit the scope of this remote repo to a specific " +
				"project in your third-party registry. When leaving this field blank or unset, remote repositories that support project id " +
				"will default to their default project as you have set up in your account.",
		},
	},
	repository.RepoLayoutRefSchema(Rclass, repository.HelmOCIPackageType),
)
View Source
var HelmOCISchemas = GetSchemas(HelmOCISchema)
View Source
var HelmSchema = lo.Assign(
	baseSchema,
	map[string]*schema.Schema{
		"helm_charts_base_url": {
			Type:     schema.TypeString,
			Optional: true,
			Default:  "",
			ValidateDiagFunc: validation.ToDiagFunc(
				validation.Any(
					validation.IsURLWithScheme([]string{"http", "https", "oci"}),
					validation.StringIsEmpty,
				),
			),
			Description: "Base URL for the translation of chart source URLs in the index.yaml of virtual repos. " +
				"Artifactory will only translate URLs matching the index.yamls hostname or URLs starting with this base url. " +
				"Support http/https/oci protocol scheme.",
		},
		"external_dependencies_enabled": {
			Type:        schema.TypeBool,
			Default:     false,
			Optional:    true,
			Description: "When set, external dependencies are rewritten. External Dependency Rewrite in the UI.",
		},

		"external_dependencies_patterns": {
			Type:     schema.TypeList,
			Optional: true,
			ForceNew: true,
			Elem: &schema.Schema{
				Type: schema.TypeString,
			},
			RequiredWith: []string{"external_dependencies_enabled"},
			Description: "An allow list of Ant-style path patterns that determine which remote VCS roots Artifactory will " +
				"follow to download remote modules from, when presented with 'go-import' meta tags in the remote repository response." +
				"Default value in UI is empty. This attribute must be set together with `external_dependencies_enabled = true`",
		},
	},
	repository.RepoLayoutRefSchema(Rclass, repository.HelmPackageType),
)
View Source
var HelmSchemas = GetSchemas(HelmSchema)
View Source
var HuggingFaceSchema = lo.Assign(
	baseSchema,
	CurationRemoteRepoSchema,
	map[string]*schema.Schema{
		"url": {
			Type:        schema.TypeString,
			Optional:    true,
			Default:     "https://huggingface.co",
			Description: "The remote repo URL. Default to 'https://huggingface.co'",
		},
	},
	repository.RepoLayoutRefSchema(Rclass, repository.HuggingFacePackageType),
)
View Source
var HuggingFaceSchemas = GetSchemas(HuggingFaceSchema)
View Source
var MavenSchemas = map[int16]map[string]*schema.Schema{
	0: lo.Assign(
		baseSchemaV1,
		mavenSchemaV1,
	),
	1: lo.Assign(
		baseSchemaV1,
		mavenSchemaV1,
	),
	2: lo.Assign(
		baseSchemaV2,
		mavenSchemaV2,
	),
}
View Source
var NPMSchemas = GetSchemas(NPMSchema)
View Source
var NugetSchema = lo.Assign(
	baseSchema,
	CurationRemoteRepoSchema,
	map[string]*schema.Schema{
		"feed_context_path": {
			Type:        schema.TypeString,
			Optional:    true,
			Default:     "api/v2",
			Description: `When proxying a remote NuGet repository, customize feed resource location using this attribute. Default value is 'api/v2'.`,
		},
		"download_context_path": {
			Type:             schema.TypeString,
			Optional:         true,
			Default:          "api/v2/package",
			ValidateDiagFunc: validation.ToDiagFunc(validation.StringIsNotEmpty),
			Description:      `The context path prefix through which NuGet downloads are served. Default value is 'api/v2/package'.`,
		},
		"v3_feed_url": {
			Type:             schema.TypeString,
			Optional:         true,
			Default:          "https://api.nuget.org/v3/index.json",
			ValidateDiagFunc: validation.ToDiagFunc(validation.Any(validation.IsURLWithHTTPorHTTPS, validation.StringIsEmpty)),
			Description:      `The URL to the NuGet v3 feed. Default value is 'https://api.nuget.org/v3/index.json'.`,
		},
		"force_nuget_authentication": {
			Type:        schema.TypeBool,
			Optional:    true,
			Default:     false,
			Description: `Force basic authentication credentials in order to use this repository. Default value is 'false'.`,
		},
		"symbol_server_url": {
			Type:             schema.TypeString,
			Optional:         true,
			Default:          "https://symbols.nuget.org/download/symbols",
			ValidateDiagFunc: validation.ToDiagFunc(validation.Any(validation.IsURLWithHTTPorHTTPS, validation.StringIsEmpty)),
			Description:      `NuGet symbol server URL.`,
		},
	}, repository.RepoLayoutRefSchema(Rclass, repository.NugetPackageType),
)
View Source
var NugetSchemas = GetSchemas(NugetSchema)
View Source
var OCISchema = lo.Assign(
	baseSchema,
	map[string]*schema.Schema{
		"external_dependencies_enabled": {
			Type:        schema.TypeBool,
			Optional:    true,
			Default:     false,
			Description: "Also known as 'Foreign Layers Caching' on the UI, default is `false`.",
		},
		"enable_token_authentication": {
			Type:        schema.TypeBool,
			Optional:    true,
			Computed:    true,
			Description: "Enable token (Bearer) based authentication.",
		},

		"external_dependencies_patterns": {
			Type:     schema.TypeList,
			Optional: true,
			Elem: &schema.Schema{
				Type: schema.TypeString,
			},
			RequiredWith: []string{"external_dependencies_enabled"},
			Description: "Optional include patterns to match external URLs. Ant-style path expressions are supported (*, **, ?). " +
				"For example, specifying `**/github.com/**` will only allow downloading foreign layers from github.com host." +
				"By default, this is set to '**' in the UI, which means that foreign layers may be downloaded from any external host." +
				"Due to Terraform SDKv2 limitations, we can't set the default value for the list." +
				"This value must be assigned to the attribute manually, if user don't specify any other non-default values." +
				"This attribute must be set together with `external_dependencies_enabled = true`",
		},
		"project_id": {
			Type:     schema.TypeString,
			Optional: true,
			Description: "Use this attribute to enter your GCR, GAR Project Id to limit the scope of this remote repo to a specific " +
				"project in your third-party registry. When leaving this field blank or unset, remote repositories that support project id " +
				"will default to their default project as you have set up in your account.",
		},
	},
	repository.RepoLayoutRefSchema(Rclass, repository.OCIPackageType),
)
View Source
var OCISchemas = GetSchemas(OCISchema)
View Source
var PyPiSchema = lo.Assign(
	baseSchema,
	CurationRemoteRepoSchema,
	map[string]*schema.Schema{
		"pypi_registry_url": {
			Type:             schema.TypeString,
			Optional:         true,
			Default:          "https://pypi.org",
			ValidateDiagFunc: validation.ToDiagFunc(validation.IsURLWithHTTPorHTTPS),
			Description:      "To configure the remote repo to proxy public external PyPI repository, or a PyPI repository hosted on another Artifactory server. See JFrog Pypi documentation for the usage details. Default value is 'https://pypi.org'.",
		},
		"pypi_repository_suffix": {
			Type:             schema.TypeString,
			Optional:         true,
			Default:          "simple",
			ValidateDiagFunc: validation.ToDiagFunc(validation.StringIsNotEmpty),
			Description:      "Usually should be left as a default for 'simple', unless the remote is a PyPI server that has custom registry suffix, like +simple in DevPI. Default value is 'simple'.",
		},
	},
	repository.RepoLayoutRefSchema(Rclass, repository.PyPiPackageType),
)
View Source
var PyPiSchemas = GetSchemas(PyPiSchema)
View Source
var TerraformSchema = lo.Assign(
	baseSchema,
	map[string]*schema.Schema{
		"terraform_registry_url": {
			Type:         schema.TypeString,
			Optional:     true,
			ValidateFunc: validation.IsURLWithHTTPorHTTPS,
			Default:      "https://registry.terraform.io",
			Description: "The base URL of the registry API. When using Smart Remote Repositories, set the URL to" +
				" <base_Artifactory_URL>/api/terraform/repokey. Default value in UI is https://registry.terraform.io",
		},
		"terraform_providers_url": {
			Type:         schema.TypeString,
			Optional:     true,
			ValidateFunc: validation.IsURLWithHTTPorHTTPS,
			Default:      "https://releases.hashicorp.com",
			Description: "The base URL of the Provider's storage API. When using Smart remote repositories, set " +
				"the URL to <base_Artifactory_URL>/api/terraform/repokey/providers. Default value in UI is https://releases.hashicorp.com",
		},
	},
	repository.RepoLayoutRefSchema(Rclass, repository.TerraformPackageType),
)
View Source
var TerraformSchemas = GetSchemas(TerraformSchema)
View Source
var VCSSchema = lo.Assign(
	baseSchema,
	VcsRemoteRepoSchema,
	map[string]*schema.Schema{
		"max_unique_snapshots": {
			Type:     schema.TypeInt,
			Optional: true,
			Default:  0,
			Description: "The maximum number of unique snapshots of a single artifact to store. Once the number of " +
				"snapshots exceeds this setting, older versions are removed. A value of 0 (default) indicates there is " +
				"no limit, and unique snapshots are not cleaned up.",
		},
	},
	repository.RepoLayoutRefSchema(Rclass, repository.VCSPackageType),
)
View Source
var VCSSchemas = GetSchemas(VCSSchema)
View Source
var VcsRemoteRepoSchema = map[string]*schema.Schema{
	"vcs_git_provider": {
		Type:             schema.TypeString,
		Optional:         true,
		Default:          "GITHUB",
		ValidateDiagFunc: validation.ToDiagFunc(validation.StringInSlice([]string{"GITHUB", "BITBUCKET", "OLDSTASH", "STASH", "ARTIFACTORY", "CUSTOM"}, false)),
		Description:      `Artifactory supports proxying the following Git providers out-of-the-box: GitHub or a remote Artifactory instance. Default value is "GITHUB".`,
	},
	"vcs_git_download_url": {
		Type:             schema.TypeString,
		Optional:         true,
		ValidateDiagFunc: validation.ToDiagFunc(validation.StringIsNotEmpty),
		Description:      `This attribute is used when vcs_git_provider is set to 'CUSTOM'. Provided URL will be used as proxy.`,
	},
}

Functions

func GenericResourceStateUpgradeV3 added in v12.2.0

func GenericResourceStateUpgradeV3(_ context.Context, rawState map[string]interface{}, _ interface{}) (map[string]interface{}, error)

func JavaSchema added in v12.1.0

func JavaSchema(packageType string, suppressPom bool) map[string]*schema.Schema

func ResourceArtifactoryRemoteAnsibleRepository

func ResourceArtifactoryRemoteAnsibleRepository() *schema.Resource

func ResourceArtifactoryRemoteBasicRepository

func ResourceArtifactoryRemoteBasicRepository(packageType string) *schema.Resource

func ResourceArtifactoryRemoteBowerRepository

func ResourceArtifactoryRemoteBowerRepository() *schema.Resource

func ResourceArtifactoryRemoteCargoRepository

func ResourceArtifactoryRemoteCargoRepository() *schema.Resource

func ResourceArtifactoryRemoteCocoapodsRepository

func ResourceArtifactoryRemoteCocoapodsRepository() *schema.Resource

func ResourceArtifactoryRemoteComposerRepository

func ResourceArtifactoryRemoteComposerRepository() *schema.Resource

func ResourceArtifactoryRemoteConanRepository

func ResourceArtifactoryRemoteConanRepository() *schema.Resource

func ResourceArtifactoryRemoteDockerRepository

func ResourceArtifactoryRemoteDockerRepository() *schema.Resource

func ResourceArtifactoryRemoteGemsRepository added in v12.2.0

func ResourceArtifactoryRemoteGemsRepository() *schema.Resource

func ResourceArtifactoryRemoteGenericRepository

func ResourceArtifactoryRemoteGenericRepository() *schema.Resource

func ResourceArtifactoryRemoteGoRepository

func ResourceArtifactoryRemoteGoRepository() *schema.Resource

func ResourceArtifactoryRemoteGradleRepository added in v12.2.0

func ResourceArtifactoryRemoteGradleRepository() *schema.Resource

func ResourceArtifactoryRemoteHelmOciRepository

func ResourceArtifactoryRemoteHelmOciRepository() *schema.Resource

func ResourceArtifactoryRemoteHelmRepository

func ResourceArtifactoryRemoteHelmRepository() *schema.Resource

func ResourceArtifactoryRemoteHuggingFaceRepository

func ResourceArtifactoryRemoteHuggingFaceRepository() *schema.Resource

func ResourceArtifactoryRemoteJavaRepository

func ResourceArtifactoryRemoteJavaRepository(packageType string, suppressPom bool) *schema.Resource

func ResourceArtifactoryRemoteMavenRepository

func ResourceArtifactoryRemoteMavenRepository() *schema.Resource

func ResourceArtifactoryRemoteNpmRepository

func ResourceArtifactoryRemoteNpmRepository() *schema.Resource

func ResourceArtifactoryRemoteNugetRepository

func ResourceArtifactoryRemoteNugetRepository() *schema.Resource

func ResourceArtifactoryRemoteOciRepository

func ResourceArtifactoryRemoteOciRepository() *schema.Resource

func ResourceArtifactoryRemotePypiRepository

func ResourceArtifactoryRemotePypiRepository() *schema.Resource

func ResourceArtifactoryRemoteTerraformRepository

func ResourceArtifactoryRemoteTerraformRepository() *schema.Resource

func ResourceArtifactoryRemoteVcsRepository

func ResourceArtifactoryRemoteVcsRepository() *schema.Resource

func ResourceMavenStateUpgradeV1

func ResourceMavenStateUpgradeV1(_ context.Context, rawState map[string]interface{}, _ interface{}) (map[string]interface{}, error)

func ResourceStateUpgradeV1

func ResourceStateUpgradeV1(_ context.Context, rawState map[string]interface{}, _ interface{}) (map[string]interface{}, error)

func ResourceStateUpgradeV2

func ResourceStateUpgradeV2(_ context.Context, rawState map[string]interface{}, _ interface{}) (map[string]interface{}, error)

Types

type AnsibleRepo

type AnsibleRepo struct {
	RepositoryRemoteBaseParams
}

type BowerRemoteRepo

type BowerRemoteRepo struct {
	RepositoryRemoteBaseParams
	RepositoryVcsParams
	BowerRegistryUrl string `json:"bowerRegistryUrl"`
}

type CargoRemoteRepo

type CargoRemoteRepo struct {
	RepositoryRemoteBaseParams
	RegistryUrl       string `hcl:"git_registry_url" json:"gitRegistryUrl"`
	AnonymousAccess   bool   `json:"cargoAnonymousAccess"`
	EnableSparseIndex bool   `json:"cargoInternalIndex"`
}

type CocoapodsRemoteRepo

type CocoapodsRemoteRepo struct {
	RepositoryRemoteBaseParams
	RepositoryVcsParams
	PodsSpecsRepoUrl string `json:"podsSpecsRepoUrl"`
}

type ComposerRemoteRepo

type ComposerRemoteRepo struct {
	RepositoryRemoteBaseParams
	RepositoryVcsParams
	ComposerRegistryUrl string `json:"composerRegistryUrl"`
}

type DockerRemoteRepo

type DockerRemoteRepo struct {
	RepositoryRemoteBaseParams
	RepositoryCurationParams
	ExternalDependenciesEnabled  bool     `json:"externalDependenciesEnabled"`
	ExternalDependenciesPatterns []string `json:"externalDependenciesPatterns,omitempty"`
	EnableTokenAuthentication    bool     `json:"enableTokenAuthentication"`
	BlockPushingSchema1          bool     `hcl:"block_pushing_schema1" json:"blockPushingSchema1"`
	ProjectId                    string   `json:"dockerProjectId"`
}

type GemsRemoteRepo added in v12.2.0

type GemsRemoteRepo struct {
	GenericRemoteRepo
	RepositoryCurationParams
}

type GenericRemoteRepo

type GenericRemoteRepo struct {
	RepositoryRemoteBaseParams
	PropagateQueryParams     bool `json:"propagateQueryParams"`
	RetrieveSha256FromServer bool `hcl:"retrieve_sha256_from_server" json:"retrieveSha256FromServer"`
}

type GoRemoteRepo

type GoRemoteRepo struct {
	RepositoryRemoteBaseParams
	RepositoryCurationParams
	VcsGitProvider string `json:"vcsGitProvider"`
}

type GradleRemoteRepo added in v12.2.0

type GradleRemoteRepo struct {
	RepositoryCurationParams
	JavaRemoteRepo
}

type HelmOciRemoteRepo

type HelmOciRemoteRepo struct {
	RepositoryRemoteBaseParams
	ExternalDependenciesEnabled  bool     `json:"externalDependenciesEnabled"`
	ExternalDependenciesPatterns []string `json:"externalDependenciesPatterns,omitempty"`
	EnableTokenAuthentication    bool     `json:"enableTokenAuthentication"`
	ProjectId                    string   `json:"dockerProjectId"`
}

type HelmRemoteRepo

type HelmRemoteRepo struct {
	RepositoryRemoteBaseParams
	HelmChartsBaseURL            string   `hcl:"helm_charts_base_url" json:"chartsBaseUrl"`
	ExternalDependenciesEnabled  bool     `json:"externalDependenciesEnabled"`
	ExternalDependenciesPatterns []string `json:"externalDependenciesPatterns"`
}

type JavaRemoteRepo

type JavaRemoteRepo struct {
	RepositoryRemoteBaseParams
	FetchJarsEagerly             bool   `json:"fetchJarsEagerly"`
	FetchSourcesEagerly          bool   `json:"fetchSourcesEagerly"`
	RemoteRepoChecksumPolicyType string `json:"remoteRepoChecksumPolicyType"`
	HandleReleases               bool   `json:"handleReleases"`
	HandleSnapshots              bool   `json:"handleSnapshots"`
	SuppressPomConsistencyChecks bool   `json:"suppressPomConsistencyChecks"`
	RejectInvalidJars            bool   `json:"rejectInvalidJars"`
	MaxUniqueSnapshots           int    `json:"maxUniqueSnapshots"`
}

func UnpackJavaRemoteRepo

func UnpackJavaRemoteRepo(s *schema.ResourceData, repoType string) JavaRemoteRepo

type MavenRemoteRepo

type MavenRemoteRepo struct {
	JavaRemoteRepo
	RepositoryCurationParams
}

type NugetRemoteRepo

type NugetRemoteRepo struct {
	RepositoryRemoteBaseParams
	RepositoryCurationParams
	FeedContextPath          string `json:"feedContextPath"`
	DownloadContextPath      string `json:"downloadContextPath"`
	V3FeedUrl                string `hcl:"v3_feed_url" json:"v3FeedUrl"` // Forced to specify hcl tag because predicate is not parsed by packer.Universal function.
	ForceNugetAuthentication bool   `json:"forceNugetAuthentication"`
	SymbolServerUrl          string `json:"symbolServerUrl"`
}

type OciRemoteRepo

type OciRemoteRepo struct {
	RepositoryRemoteBaseParams
	ExternalDependenciesEnabled  bool     `json:"externalDependenciesEnabled"`
	ExternalDependenciesPatterns []string `json:"externalDependenciesPatterns,omitempty"`
	EnableTokenAuthentication    bool     `json:"enableTokenAuthentication"`
	ProjectId                    string   `json:"dockerProjectId"`
}

type PypiRemoteRepo

type PypiRemoteRepo struct {
	RepositoryRemoteBaseParams
	RepositoryCurationParams
	PypiRegistryUrl      string `json:"pyPIRegistryUrl"`
	PypiRepositorySuffix string `json:"pyPIRepositorySuffix"`
}

type RepositoryCurationParams

type RepositoryCurationParams struct {
	Curated bool `json:"curated"`
}

type RepositoryRemoteBaseParams

type RepositoryRemoteBaseParams struct {
	Key                               string                             `json:"key,omitempty"`
	ProjectKey                        string                             `json:"projectKey"`
	ProjectEnvironments               []string                           `json:"environments"`
	Rclass                            string                             `json:"rclass"`
	PackageType                       string                             `json:"packageType,omitempty"`
	Url                               string                             `json:"url"`
	Username                          string                             `json:"username"`
	Password                          string                             `json:"password,omitempty"` // must have 'omitempty' to avoid sending an empty string on update, if attribute is ignored by the provider.
	Proxy                             string                             `json:"proxy"`
	DisableProxy                      bool                               `json:"disableProxy"`
	Description                       string                             `json:"description"`
	Notes                             string                             `json:"notes"`
	IncludesPattern                   string                             `json:"includesPattern"`
	ExcludesPattern                   string                             `json:"excludesPattern"`
	RepoLayoutRef                     string                             `json:"repoLayoutRef"`
	RemoteRepoLayoutRef               string                             `json:"remoteRepoLayoutRef"`
	HardFail                          *bool                              `json:"hardFail,omitempty"`
	Offline                           *bool                              `json:"offline,omitempty"`
	BlackedOut                        *bool                              `json:"blackedOut,omitempty"`
	XrayIndex                         bool                               `json:"xrayIndex"`
	QueryParams                       string                             `json:"queryParams,omitempty"`
	PriorityResolution                bool                               `json:"priorityResolution"`
	StoreArtifactsLocally             *bool                              `json:"storeArtifactsLocally,omitempty"`
	SocketTimeoutMillis               int                                `json:"socketTimeoutMillis"`
	LocalAddress                      string                             `json:"localAddress"`
	RetrievalCachePeriodSecs          int                                `hcl:"retrieval_cache_period_seconds" json:"retrievalCachePeriodSecs"`
	MissedRetrievalCachePeriodSecs    int                                `hcl:"missed_cache_period_seconds" json:"missedRetrievalCachePeriodSecs"`
	MetadataRetrievalTimeoutSecs      int                                `json:"metadataRetrievalTimeoutSecs"`
	UnusedArtifactsCleanupPeriodHours int                                `json:"unusedArtifactsCleanupPeriodHours"`
	AssumedOfflinePeriodSecs          int                                `hcl:"assumed_offline_period_secs" json:"assumedOfflinePeriodSecs"`
	ShareConfiguration                *bool                              `hcl:"share_configuration" json:"shareConfiguration,omitempty"`
	SynchronizeProperties             *bool                              `hcl:"synchronize_properties" json:"synchronizeProperties"`
	BlockMismatchingMimeTypes         *bool                              `hcl:"block_mismatching_mime_types" json:"blockMismatchingMimeTypes"`
	PropertySets                      []string                           `hcl:"property_sets" json:"propertySets,omitempty"`
	AllowAnyHostAuth                  *bool                              `hcl:"allow_any_host_auth" json:"allowAnyHostAuth,omitempty"`
	EnableCookieManagement            *bool                              `hcl:"enable_cookie_management" json:"enableCookieManagement,omitempty"`
	BypassHeadRequests                *bool                              `hcl:"bypass_head_requests" json:"bypassHeadRequests,omitempty"`
	ClientTlsCertificate              string                             `hcl:"client_tls_certificate" json:"clientTlsCertificate,omitempty"`
	ContentSynchronisation            *repository.ContentSynchronisation `hcl:"content_synchronisation" json:"contentSynchronisation,omitempty"`
	MismatchingMimeTypeOverrideList   string                             `hcl:"mismatching_mime_types_override_list" json:"mismatchingMimeTypesOverrideList"`
	ListRemoteFolderItems             bool                               `json:"listRemoteFolderItems"`
	DownloadRedirect                  bool                               `hcl:"download_direct" json:"downloadRedirect,omitempty"`
	CdnRedirect                       bool                               `json:"cdnRedirect"`
	DisableURLNormalization           bool                               `hcl:"disable_url_normalization" json:"disableUrlNormalization"`
	ArchiveBrowsingEnabled            *bool                              `json:"archiveBrowsingEnabled,omitempty"`
}

func UnpackBaseRemoteRepo

func UnpackBaseRemoteRepo(s *schema.ResourceData, packageType string) RepositoryRemoteBaseParams

func (RepositoryRemoteBaseParams) GetRclass

func (r RepositoryRemoteBaseParams) GetRclass() string

func (RepositoryRemoteBaseParams) Id

type RepositoryVcsParams

type RepositoryVcsParams struct {
	VcsGitProvider    string `json:"vcsGitProvider"`
	VcsGitDownloadUrl string `json:"vcsGitDownloadUrl"`
}

func UnpackVcsRemoteRepo

func UnpackVcsRemoteRepo(s *schema.ResourceData) RepositoryVcsParams

type TerraformRemoteRepo

type TerraformRemoteRepo struct {
	RepositoryRemoteBaseParams
	TerraformRegistryUrl  string `json:"terraformRegistryUrl"`
	TerraformProvidersUrl string `json:"terraformProvidersUrl"`
}

type VcsRemoteRepo

type VcsRemoteRepo struct {
	RepositoryRemoteBaseParams
	RepositoryVcsParams
	MaxUniqueSnapshots int `json:"maxUniqueSnapshots"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL