remote

package
v12.8.3 Latest Latest
Warning

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

Go to latest
Published: Jan 28, 2025 License: Apache-2.0 Imports: 30 Imported by: 0

Documentation

Index

Constants

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

Variables

View Source
var BaseSchema = lo.Assign(
	repository.ProxySchemaSDKv2,
	map[string]*sdkv2_schema.Schema{
		"url": {
			Type:         sdkv2_schema.TypeString,
			Required:     true,
			ValidateFunc: sdkv2_validator.IsURLWithHTTPorHTTPS,
			Description:  "This is a URL to the remote registry. Consider using HTTPS to ensure a secure connection.",
		},
		"username": {
			Type:     sdkv2_schema.TypeString,
			Optional: true,
		},
		"password": {
			Type:      sdkv2_schema.TypeString,
			Optional:  true,
			Sensitive: true,
		},
		"description": {
			Type:     sdkv2_schema.TypeString,
			Optional: true,
			DiffSuppressFunc: func(_, old, new string, _ *sdkv2_schema.ResourceData) bool {

				return old == fmt.Sprintf("%s (local file cache)", new)
			},
			Description: "Public description.",
		},
		"remote_repo_layout_ref": {
			Type:        sdkv2_schema.TypeString,
			Optional:    true,
			Description: "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value.",
		},
		"hard_fail": {
			Type:     sdkv2_schema.TypeBool,
			Optional: true,
			Default:  false,
			Description: "When set, Artifactory will return an error to the client that causes the build to fail if there " +
				"is a failure to communicate with this repository.",
		},
		"offline": {
			Type:        sdkv2_schema.TypeBool,
			Optional:    true,
			Default:     false,
			Description: "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved.",
		},
		"blacked_out": {
			Type:        sdkv2_schema.TypeBool,
			Optional:    true,
			Default:     false,
			Description: "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution.",
		},
		"xray_index": {
			Type:     sdkv2_schema.TypeBool,
			Optional: true,
			Default:  false,
			Description: "Enable Indexing In Xray. Repository will be indexed with the default retention period. " +
				"You will be able to change it via Xray settings.",
		},
		"store_artifacts_locally": {
			Type:     sdkv2_schema.TypeBool,
			Optional: true,
			Default:  true,
			Description: "When set, the repository should store cached artifacts locally. When not set, artifacts are not " +
				"stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server " +
				"setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming " +
				"it directly to satellite pass-though Artifactory servers.",
		},
		"socket_timeout_millis": {
			Type:         sdkv2_schema.TypeInt,
			Optional:     true,
			Default:      15000,
			ValidateFunc: sdkv2_validator.IntAtLeast(0),
			Description: "Network timeout (in ms) to use when establishing a connection and for unanswered requests. " +
				"Timing out on a network operation is considered a retrieval failure.",
		},
		"local_address": {
			Type:     sdkv2_schema.TypeString,
			Optional: true,
			Description: "The local address to be used when creating connections. " +
				"Useful for specifying the interface to use on systems with multiple network interfaces.",
		},
		"retrieval_cache_period_seconds": {
			Type:         sdkv2_schema.TypeInt,
			Optional:     true,
			Default:      7200,
			ValidateFunc: sdkv2_validator.IntAtLeast(0),
			Description: "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache " +
				"metadata files before checking for newer versions on remote server. A value of 0 indicates no caching.",
		},
		"metadata_retrieval_timeout_secs": {
			Type:         sdkv2_schema.TypeInt,
			Optional:     true,
			Default:      60,
			ValidateFunc: sdkv2_validator.IntAtLeast(0),
			Description: "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait " +
				"for retrieval from the remote before serving locally cached artifact or fail the request.",
		},
		"missed_cache_period_seconds": {
			Type:         sdkv2_schema.TypeInt,
			Optional:     true,
			Default:      1800,
			ValidateFunc: sdkv2_validator.IntAtLeast(0),
			Description: "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval " +
				"misses (artifact not found). A value of 0 indicates no caching.",
		},
		"unused_artifacts_cleanup_period_hours": {
			Type:         sdkv2_schema.TypeInt,
			Optional:     true,
			Default:      0,
			ValidateFunc: sdkv2_validator.IntAtLeast(0),
			Description: "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is " +
				"deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled.",
		},
		"assumed_offline_period_secs": {
			Type:         sdkv2_schema.TypeInt,
			Optional:     true,
			Default:      300,
			ValidateFunc: sdkv2_validator.IntAtLeast(0),
			Description: "The number of seconds the repository stays in assumed offline state after a connection error. " +
				"At the end of this time, an online check is attempted in order to reset the offline status. " +
				"A value of 0 means the repository is never assumed offline.",
		},

		"share_configuration": {
			Type:     sdkv2_schema.TypeBool,
			Optional: true,
			Computed: true,
		},
		"synchronize_properties": {
			Type:        sdkv2_schema.TypeBool,
			Optional:    true,
			Default:     false,
			Description: "When set, remote artifacts are fetched along with their properties.",
		},

		"block_mismatching_mime_types": {
			Type:     sdkv2_schema.TypeBool,
			Optional: true,
			Default:  true,
			Description: "If set, artifacts will fail to download if a mismatch is detected between requested and received " +
				"mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. " +
				"You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'.",
		},
		"property_sets": {
			Type:        sdkv2_schema.TypeSet,
			Elem:        &sdkv2_schema.Schema{Type: sdkv2_schema.TypeString},
			Set:         sdkv2_schema.HashString,
			Optional:    true,
			Description: "List of property set names",
		},
		"allow_any_host_auth": {
			Type:        sdkv2_schema.TypeBool,
			Optional:    true,
			Default:     false,
			Description: "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host.",
		},
		"enable_cookie_management": {
			Type:        sdkv2_schema.TypeBool,
			Optional:    true,
			Default:     false,
			Description: "Enables cookie management if the remote repository uses cookies to manage client state.",
		},
		"bypass_head_requests": {
			Type:     sdkv2_schema.TypeBool,
			Optional: true,
			Default:  false,
			Description: "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. " +
				"In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the " +
				"artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request.",
		},
		"priority_resolution": {
			Type:     sdkv2_schema.TypeBool,
			Optional: true,
			Default:  false,
			Description: "Setting Priority Resolution takes precedence over the resolution order when resolving virtual " +
				"repositories. Setting repositories with priority will cause metadata to be merged only from repositories " +
				"set with a priority. If a package is not found in those repositories, Artifactory will merge from repositories marked as non-priority.",
		},
		"client_tls_certificate": {
			Type:        sdkv2_schema.TypeString,
			Optional:    true,
			Computed:    true,
			Description: "Client TLS certificate name.",
		},
		"content_synchronisation": {
			Type:     sdkv2_schema.TypeList,
			Optional: true,
			Computed: true,
			MaxItems: 1,
			Elem: &sdkv2_schema.Resource{
				Schema: map[string]*sdkv2_schema.Schema{
					"enabled": {
						Type:        sdkv2_schema.TypeBool,
						Optional:    true,
						Default:     false,
						Description: "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.",
					},
					"statistics_enabled": {
						Type:        sdkv2_schema.TypeBool,
						Optional:    true,
						Default:     false,
						Description: "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.",
					},
					"properties_enabled": {
						Type:        sdkv2_schema.TypeBool,
						Optional:    true,
						Default:     false,
						Description: "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.",
					},
					"source_origin_absence_detection": {
						Type:        sdkv2_schema.TypeBool,
						Optional:    true,
						Default:     false,
						Description: "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'",
					},
				},
			},
		},
		"query_params": {
			Type:     sdkv2_schema.TypeString,
			Optional: true,
			Description: "Custom HTTP query parameters that will be automatically included in all remote resource requests. " +
				"For example: `param1=val1&param2=val2&param3=val3`",
		},
		"list_remote_folder_items": {
			Type:     sdkv2_schema.TypeBool,
			Optional: true,
			Default:  false,
			Description: "Lists the items of remote folders in simple and list browsing. The remote content is cached " +
				"according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI.",
		},
		"mismatching_mime_types_override_list": {
			Type:             sdkv2_schema.TypeString,
			Optional:         true,
			ValidateDiagFunc: utilvalidator.CommaSeperatedList,
			StateFunc:        utilsdk.FormatCommaSeparatedString,
			Description: "The set of mime types that should override the block_mismatching_mime_types setting. " +
				"Eg: 'application/json,application/xml'. Default value is empty.",
		},
		"download_direct": {
			Type:     sdkv2_schema.TypeBool,
			Optional: true,
			Default:  false,
			Description: "When set, download requests to this repository will redirect the client to download the artifact " +
				"directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'.",
		},
		"cdn_redirect": {
			Type:        sdkv2_schema.TypeBool,
			Optional:    true,
			Default:     false,
			Description: "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'",
		},
		"disable_url_normalization": {
			Type:        sdkv2_schema.TypeBool,
			Optional:    true,
			Default:     false,
			Description: "Whether to disable URL normalization, default is `false`.",
		},
		"archive_browsing_enabled": {
			Type:        sdkv2_schema.TypeBool,
			Optional:    true,
			Default:     false,
			Description: "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks).",
		},
	},
)
View Source
var CurationAttributes = map[string]schema.Attribute{
	"curated": schema.BoolAttribute{
		Optional:            true,
		Computed:            true,
		Default:             booldefault.StaticBool(false),
		MarkdownDescription: "Enable repository to be protected by the Curation service.",
	},
}
View Source
var CurationRemoteRepoSchema = map[string]*sdkv2_schema.Schema{
	"curated": {
		Type:        sdkv2_schema.TypeBool,
		Optional:    true,
		Default:     false,
		Description: "Enable repository to be protected by the Curation service.",
	},
}
View Source
var GenericSchemaV4 = lo.Assign(
	genericSchemaV3,
	map[string]*sdkv2_schema.Schema{
		"retrieve_sha256_from_server": {
			Type:        sdkv2_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]*sdkv2_schema.Schema) map[int16]map[string]*sdkv2_schema.Schema {
	return map[int16]map[string]*sdkv2_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]*sdkv2_schema.Schema) map[int16]map[string]*sdkv2_schema.Schema {
	return map[int16]map[string]*sdkv2_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 MavenSchemas = map[int16]map[string]*sdkv2_schema.Schema{
	0: lo.Assign(
		baseSchemaV1,
		mavenSchemaV1,
	),
	1: lo.Assign(
		baseSchemaV1,
		mavenSchemaV1,
	),
	2: lo.Assign(
		baseSchemaV2,
		mavenSchemaV2,
	),
}
View Source
var RemoteAttributes = lo.Assign(
	local.LocalAttributes,
	map[string]schema.Attribute{
		"url": schema.StringAttribute{
			Required: true,
			Validators: []validator.String{
				validatorfw_string.IsURLHttpOrHttps(),
			},
			MarkdownDescription: "This is a URL to the remote registry. Consider using HTTPS to ensure a secure connection.",
		},
		"username": schema.StringAttribute{
			Optional: true,
			Computed: true,
			Default:  stringdefault.StaticString(""),
		},
		"password": schema.StringAttribute{
			Optional:  true,
			Sensitive: true,
		},
		"proxy": schema.StringAttribute{
			Optional:            true,
			Computed:            true,
			Default:             stringdefault.StaticString(""),
			MarkdownDescription: "Proxy key from Artifactory Proxies settings. Can't be set if `disable_proxy = true`.",
		},
		"disable_proxy": schema.BoolAttribute{
			Optional:            true,
			Computed:            true,
			Default:             booldefault.StaticBool(false),
			MarkdownDescription: "When set to `true`, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7.",
		},
		"remote_repo_layout_ref": schema.StringAttribute{
			Optional:            true,
			Computed:            true,
			Default:             stringdefault.StaticString(""),
			MarkdownDescription: "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value.",
		},
		"hard_fail": schema.BoolAttribute{
			Optional: true,
			Computed: true,
			Default:  booldefault.StaticBool(false),
			MarkdownDescription: "When set, Artifactory will return an error to the client that causes the build to fail if there " +
				"is a failure to communicate with this repository.",
		},
		"offline": schema.BoolAttribute{
			Optional:            true,
			Computed:            true,
			Default:             booldefault.StaticBool(false),
			MarkdownDescription: "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved.",
		},
		"blacked_out": schema.BoolAttribute{
			Optional:            true,
			Computed:            true,
			Default:             booldefault.StaticBool(false),
			MarkdownDescription: "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution.",
		},
		"store_artifacts_locally": schema.BoolAttribute{
			Optional: true,
			Computed: true,
			Default:  booldefault.StaticBool(true),
			MarkdownDescription: "When set, the repository should store cached artifacts locally. When not set, artifacts are not " +
				"stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server " +
				"setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming " +
				"it directly to satellite pass-though Artifactory servers.",
		},
		"socket_timeout_millis": schema.Int64Attribute{
			Optional: true,
			Computed: true,
			Default:  int64default.StaticInt64(15000),
			Validators: []validator.Int64{
				int64validator.AtLeast(0),
			},
			MarkdownDescription: "Network timeout (in ms) to use when establishing a connection and for unanswered requests. " +
				"Timing out on a network operation is considered a retrieval failure.",
		},
		"local_address": schema.StringAttribute{
			Optional: true,
			Computed: true,
			Default:  stringdefault.StaticString(""),
			MarkdownDescription: "The local address to be used when creating connections. " +
				"Useful for specifying the interface to use on systems with multiple network interfaces.",
		},
		"retrieval_cache_period_seconds": schema.Int64Attribute{
			Optional: true,
			Computed: true,
			Default:  int64default.StaticInt64(7200),
			Validators: []validator.Int64{
				int64validator.AtLeast(0),
			},
			MarkdownDescription: "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache " +
				"metadata files before checking for newer versions on remote server. A value of 0 indicates no caching.",
		},
		"metadata_retrieval_timeout_secs": schema.Int64Attribute{
			Optional: true,
			Computed: true,
			Default:  int64default.StaticInt64(60),
			Validators: []validator.Int64{
				int64validator.AtLeast(0),
			},
			MarkdownDescription: "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait " +
				"for retrieval from the remote before serving locally cached artifact or fail the request.",
		},
		"missed_cache_period_seconds": schema.Int64Attribute{
			Optional: true,
			Computed: true,
			Default:  int64default.StaticInt64(1800),
			Validators: []validator.Int64{
				int64validator.AtLeast(0),
			},
			MarkdownDescription: "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval " +
				"misses (artifact not found). A value of 0 indicates no caching.",
		},
		"unused_artifacts_cleanup_period_hours": schema.Int64Attribute{
			Optional: true,
			Computed: true,
			Default:  int64default.StaticInt64(0),
			Validators: []validator.Int64{
				int64validator.AtLeast(0),
			},
			MarkdownDescription: "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is " +
				"deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled.",
		},
		"assumed_offline_period_secs": schema.Int64Attribute{
			Optional: true,
			Computed: true,
			Default:  int64default.StaticInt64(300),
			Validators: []validator.Int64{
				int64validator.AtLeast(0),
			},
			MarkdownDescription: "The number of seconds the repository stays in assumed offline state after a connection error. " +
				"At the end of this time, an online check is attempted in order to reset the offline status. " +
				"A value of 0 means the repository is never assumed offline.",
		},
		"share_configuration": schema.BoolAttribute{
			Optional:           true,
			Computed:           true,
			Default:            booldefault.StaticBool(false),
			DeprecationMessage: "No longer supported",
		},
		"synchronize_properties": schema.BoolAttribute{
			Optional:            true,
			Computed:            true,
			Default:             booldefault.StaticBool(false),
			MarkdownDescription: "When set, remote artifacts are fetched along with their properties.",
		},
		"block_mismatching_mime_types": schema.BoolAttribute{
			Optional: true,
			Computed: true,
			Default:  booldefault.StaticBool(true),
			MarkdownDescription: "If set, artifacts will fail to download if a mismatch is detected between requested and received " +
				"mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. " +
				"You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'.",
		},
		"allow_any_host_auth": schema.BoolAttribute{
			Optional:            true,
			Computed:            true,
			Default:             booldefault.StaticBool(false),
			MarkdownDescription: "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host.",
		},
		"enable_cookie_management": schema.BoolAttribute{
			Optional:            true,
			Computed:            true,
			Default:             booldefault.StaticBool(false),
			MarkdownDescription: "Enables cookie management if the remote repository uses cookies to manage client state.",
		},
		"bypass_head_requests": schema.BoolAttribute{
			Optional: true,
			Computed: true,
			Default:  booldefault.StaticBool(false),
			MarkdownDescription: "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. " +
				"In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the " +
				"artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request.",
		},
		"client_tls_certificate": schema.StringAttribute{
			Optional:            true,
			MarkdownDescription: "Client TLS certificate name.",
		},
		"query_params": schema.StringAttribute{
			Optional: true,
			Computed: true,
			Default:  stringdefault.StaticString(""),
			MarkdownDescription: "Custom HTTP query parameters that will be automatically included in all remote resource requests. " +
				"For example: `param1=val1&param2=val2&param3=val3`",
		},
		"list_remote_folder_items": schema.BoolAttribute{
			Optional: true,
			Computed: true,
			Default:  booldefault.StaticBool(false),
			MarkdownDescription: "Lists the items of remote folders in simple and list browsing. The remote content is cached " +
				"according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI.",
		},
		"mismatching_mime_types_override_list": schema.StringAttribute{
			Optional: true,
			Computed: true,
			Default:  stringdefault.StaticString(""),
			Validators: []validator.String{
				stringvalidator.RegexMatches(regexp.MustCompile(`.+(?:,.+)*`), "must be comma separated string"),
			},
			MarkdownDescription: "The set of mime types that should override the block_mismatching_mime_types setting. " +
				"Eg: 'application/json,application/xml'. Default value is empty.",
		},
		"download_direct": schema.BoolAttribute{
			Optional: true,
			Computed: true,
			Default:  booldefault.StaticBool(false),
			MarkdownDescription: "When set, download requests to this repository will redirect the client to download the artifact " +
				"directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'.",
		},
		"cdn_redirect": schema.BoolAttribute{
			Optional:            true,
			Computed:            true,
			Default:             booldefault.StaticBool(false),
			MarkdownDescription: "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'",
		},
		"disable_url_normalization": schema.BoolAttribute{
			Optional:            true,
			Computed:            true,
			Default:             booldefault.StaticBool(false),
			MarkdownDescription: "Whether to disable URL normalization. Default is `false`.",
		},
	},
)
View Source
var SupportedGoVCSGitProviders = []string{
	"ARTIFACTORY",
	"BITBUCKET",
	"GITHUB",
	"GITHUBENTERPRISE",
	"GITLAB",
	"STASH",
}
View Source
var VcsRemoteRepoSchemaSDKv2 = map[string]*sdkv2_schema.Schema{
	"vcs_git_provider": {
		Type:             sdkv2_schema.TypeString,
		Optional:         true,
		Default:          "GITHUB",
		ValidateDiagFunc: sdkv2_validator.ToDiagFunc(sdkv2_validator.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:             sdkv2_schema.TypeString,
		Optional:         true,
		ValidateDiagFunc: sdkv2_validator.ToDiagFunc(sdkv2_validator.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]*sdkv2_schema.Schema

func NewAnsibleRemoteRepositoryResource added in v12.8.3

func NewAnsibleRemoteRepositoryResource() resource.Resource

func NewBasicLikeRemoteRepositoryResource added in v12.8.3

func NewBasicLikeRemoteRepositoryResource(packageType string) func() resource.Resource

func NewBowerRemoteRepositoryResource added in v12.8.3

func NewBowerRemoteRepositoryResource() resource.Resource

func NewCargoRemoteRepositoryResource added in v12.8.3

func NewCargoRemoteRepositoryResource() resource.Resource

func NewCocoapodsRemoteRepositoryResource added in v12.8.3

func NewCocoapodsRemoteRepositoryResource() resource.Resource

func NewComposerRemoteRepositoryResource added in v12.8.3

func NewComposerRemoteRepositoryResource() resource.Resource

func NewConanRemoteRepositoryResource added in v12.8.3

func NewConanRemoteRepositoryResource() resource.Resource

func NewDockerRemoteRepositoryResource added in v12.8.3

func NewDockerRemoteRepositoryResource() resource.Resource

func NewGemsRemoteRepositoryResource added in v12.8.3

func NewGemsRemoteRepositoryResource() resource.Resource

func NewGenericRemoteRepositoryResource added in v12.8.3

func NewGenericRemoteRepositoryResource() resource.Resource

func NewGoRemoteRepositoryResource added in v12.8.3

func NewGoRemoteRepositoryResource() resource.Resource

func NewGradleRemoteRepositoryResource added in v12.8.3

func NewGradleRemoteRepositoryResource() resource.Resource

func NewHelmOCIRemoteRepositoryResource added in v12.8.3

func NewHelmOCIRemoteRepositoryResource() resource.Resource

func NewHelmRemoteRepositoryResource added in v12.8.3

func NewHelmRemoteRepositoryResource() resource.Resource

func NewHuggingFaceMLRemoteRepositoryResource added in v12.8.3

func NewHuggingFaceMLRemoteRepositoryResource() resource.Resource

func NewJavaRemoteRepositoryResource added in v12.8.3

func NewJavaRemoteRepositoryResource(packageType string, suppressPOM bool) func() resource.Resource

func NewMavenRemoteRepositoryResource added in v12.8.3

func NewMavenRemoteRepositoryResource() resource.Resource

func NewNPMRemoteRepositoryResource added in v12.8.3

func NewNPMRemoteRepositoryResource() resource.Resource

func NewNugetRemoteRepositoryResource added in v12.8.3

func NewNugetRemoteRepositoryResource() resource.Resource

func NewOCIRemoteRepositoryResource added in v12.8.3

func NewOCIRemoteRepositoryResource() resource.Resource

func NewPyPIRemoteRepositoryResource added in v12.8.3

func NewPyPIRemoteRepositoryResource() resource.Resource

func NewRemoteRepositoryResource added in v12.8.3

func NewRemoteRepositoryResource(packageType, packageName string, resourceModelType, apiModelType reflect.Type) remoteResource

func NewTerraformRemoteRepositoryResource added in v12.8.3

func NewTerraformRemoteRepositoryResource() resource.Resource

func NewVCSRemoteRepositoryResource added in v12.8.3

func NewVCSRemoteRepositoryResource() resource.Resource

Types

type ContentSynchronisation added in v12.8.3

type ContentSynchronisation struct {
	Enabled    bool                             `json:"enabled"`
	Statistics ContentSynchronisationStatistics `json:"statistics"`
	Properties ContentSynchronisationProperties `json:"properties"`
	Source     ContentSynchronisationSource     `json:"source"`
}

SDKv2

type ContentSynchronisationProperties added in v12.8.3

type ContentSynchronisationProperties struct {
	Enabled bool `hcl:"properties_enabled" json:"enabled"`
}

type ContentSynchronisationSource added in v12.8.3

type ContentSynchronisationSource struct {
	OriginAbsenceDetection bool `hcl:"source_origin_absence_detection" json:"originAbsenceDetection"`
}

type ContentSynchronisationStatistics added in v12.8.3

type ContentSynchronisationStatistics struct {
	Enabled bool `hcl:"statistics_enabled" json:"enabled"`
}

type CurationAPIModel added in v12.8.3

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

type CurationResourceModel added in v12.8.3

type CurationResourceModel struct {
	Curated types.Bool `tfsdk:"curated"`
}

type GenericRemoteRepo

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

SDKv2

type GradleRemoteRepo added in v12.2.0

type GradleRemoteRepo struct {
	RepositoryCurationParams
	JavaRemoteRepo
}

type JavaAPIModel added in v12.8.3

type JavaAPIModel struct {
	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           int64  `json:"maxUniqueSnapshots"`
}

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 *sdkv2_schema.ResourceData, repoType string) JavaRemoteRepo

type JavaResourceModel added in v12.8.3

type JavaResourceModel struct {
	FetchJarsEagerly             types.Bool   `tfsdk:"fetch_jars_eagerly"`
	FetchSourcesEagerly          types.Bool   `tfsdk:"fetch_sources_eagerly"`
	RemoteRepoChecksumPolicyType types.String `tfsdk:"remote_repo_checksum_policy_type"`
	HandleReleases               types.Bool   `tfsdk:"handle_releases"`
	HandleSnapshots              types.Bool   `tfsdk:"handle_snapshots"`
	SuppressPomConsistencyChecks types.Bool   `tfsdk:"suppress_pom_consistency_checks"`
	RejectInvalidJars            types.Bool   `tfsdk:"reject_invalid_jars"`
	MaxUniqueSnapshots           types.Int64  `tfsdk:"max_unique_snapshots"`
}

type RemoteAPIModel added in v12.8.3

type RemoteAPIModel struct {
	local.LocalAPIModel
	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"`
	RemoteRepoLayoutRef               string                  `json:"remoteRepoLayoutRef"`
	HardFail                          *bool                   `json:"hardFail,omitempty"`
	Offline                           *bool                   `json:"offline,omitempty"`
	QueryParams                       string                  `json:"queryParams,omitempty"`
	StoreArtifactsLocally             *bool                   `json:"storeArtifactsLocally,omitempty"`
	SocketTimeoutMillis               int64                   `json:"socketTimeoutMillis"`
	LocalAddress                      string                  `json:"localAddress"`
	RetrievalCachePeriodSecs          int64                   `json:"retrievalCachePeriodSecs"`
	MissedRetrievalCachePeriodSecs    int64                   `json:"missedRetrievalCachePeriodSecs"`
	MetadataRetrievalTimeoutSecs      int64                   `json:"metadataRetrievalTimeoutSecs"`
	UnusedArtifactsCleanupPeriodHours int64                   `json:"unusedArtifactsCleanupPeriodHours"`
	AssumedOfflinePeriodSecs          int64                   `json:"assumedOfflinePeriodSecs"`
	ShareConfiguration                *bool                   `json:"shareConfiguration,omitempty"`
	SynchronizeProperties             *bool                   `json:"synchronizeProperties"`
	BlockMismatchingMimeTypes         *bool                   `json:"blockMismatchingMimeTypes"`
	AllowAnyHostAuth                  *bool                   `json:"allowAnyHostAuth,omitempty"`
	EnableCookieManagement            *bool                   `json:"enableCookieManagement,omitempty"`
	BypassHeadRequests                *bool                   `json:"bypassHeadRequests,omitempty"`
	ClientTLSCertificate              *string                 `json:"clientTlsCertificate,omitempty"`
	ContentSynchronisation            *ContentSynchronisation `json:"contentSynchronisation,omitempty"`
	MismatchingMimeTypeOverrideList   string                  `json:"mismatchingMimeTypesOverrideList"`
	ListRemoteFolderItems             bool                    `json:"listRemoteFolderItems"`
	CDNRedirect                       bool                    `json:"cdnRedirect"`
	DisableURLNormalization           bool                    `json:"disableUrlNormalization"`
}

type RemoteAnsibleAPIModel added in v12.8.3

type RemoteAnsibleAPIModel struct {
	RemoteAPIModel
}

type RemoteBasicAPIModel added in v12.8.3

type RemoteBasicAPIModel struct {
	RemoteAPIModel
}

type RemoteBasicResourceModel added in v12.8.3

type RemoteBasicResourceModel struct {
	RemoteResourceModel
}

func (*RemoteBasicResourceModel) FromAPIModel added in v12.8.3

func (r *RemoteBasicResourceModel) FromAPIModel(ctx context.Context, apiModel interface{}) diag.Diagnostics

func (*RemoteBasicResourceModel) GetCreateResourcePlanData added in v12.8.3

func (r *RemoteBasicResourceModel) GetCreateResourcePlanData(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)

func (*RemoteBasicResourceModel) GetReadResourceStateData added in v12.8.3

func (r *RemoteBasicResourceModel) GetReadResourceStateData(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)

func (*RemoteBasicResourceModel) GetUpdateResourcePlanData added in v12.8.3

func (r *RemoteBasicResourceModel) GetUpdateResourcePlanData(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)

func (*RemoteBasicResourceModel) GetUpdateResourceStateData added in v12.8.3

func (r *RemoteBasicResourceModel) GetUpdateResourceStateData(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)

func (RemoteBasicResourceModel) SetCreateResourceStateData added in v12.8.3

func (r RemoteBasicResourceModel) SetCreateResourceStateData(ctx context.Context, resp *resource.CreateResponse)

func (RemoteBasicResourceModel) SetReadResourceStateData added in v12.8.3

func (r RemoteBasicResourceModel) SetReadResourceStateData(ctx context.Context, resp *resource.ReadResponse)

func (RemoteBasicResourceModel) SetUpdateResourceStateData added in v12.8.3

func (r RemoteBasicResourceModel) SetUpdateResourceStateData(ctx context.Context, resp *resource.UpdateResponse)

func (RemoteBasicResourceModel) ToAPIModel added in v12.8.3

func (r RemoteBasicResourceModel) ToAPIModel(ctx context.Context, packageType string) (interface{}, diag.Diagnostics)

type RemoteBowerAPIModel added in v12.8.3

type RemoteBowerAPIModel struct {
	RemoteAPIModel

	BowerRegistryURL string `json:"bowerRegistryUrl"`
	// contains filtered or unexported fields
}

type RemoteCargoAPIModel added in v12.8.3

type RemoteCargoAPIModel struct {
	RemoteAPIModel
	GitRegistryURL    string `json:"gitRegistryUrl"`
	AnonymousAccess   bool   `json:"cargoAnonymousAccess"`
	EnableSparseIndex bool   `json:"cargoInternalIndex"`
}

type RemoteCocoapodsAPIModel added in v12.8.3

type RemoteCocoapodsAPIModel struct {
	RemoteAPIModel

	PodsSpecsRepoURL string `json:"podsSpecsRepoUrl"`
	// contains filtered or unexported fields
}

type RemoteComposerAPIModel added in v12.8.3

type RemoteComposerAPIModel struct {
	RemoteAPIModel

	ComposerRegistryUrl string `json:"composerRegistryUrl"`
	// contains filtered or unexported fields
}

type RemoteConanAPIModel added in v12.8.3

type RemoteConanAPIModel struct {
	RemoteAPIModel
	CurationAPIModel
	repository.ConanAPIModel
}

type RemoteDockerAPIModel added in v12.8.3

type RemoteDockerAPIModel struct {
	RemoteAPIModel
	CurationAPIModel
	ExternalDependenciesEnabled  bool     `json:"externalDependenciesEnabled"`
	ExternalDependenciesPatterns []string `json:"externalDependenciesPatterns,omitempty"`
	EnableTokenAuthentication    bool     `json:"enableTokenAuthentication"`
	BlockPushingSchema1          bool     `json:"blockPushingSchema1"`
	ProjectId                    string   `json:"dockerProjectId"`
}

type RemoteGemsAPIModel added in v12.8.3

type RemoteGemsAPIModel struct {
	RemoteGenericAPIModel
	CurationAPIModel
}

type RemoteGenericAPIModel added in v12.8.3

type RemoteGenericAPIModel struct {
	RemoteAPIModel
	PropagateQueryParams     bool `json:"propagateQueryParams"`
	RetrieveSha256FromServer bool `json:"retrieveSha256FromServer"`
}

type RemoteGenericResourceModelV2 added in v12.8.3

type RemoteGenericResourceModelV2 struct {
	RemoteResourceModel
}

type RemoteGenericResourceModelV3 added in v12.8.3

type RemoteGenericResourceModelV3 struct {
	RemoteGenericResourceModelV2
	PropagateQueryParams types.Bool `tfsdk:"propagate_query_params"`
}

type RemoteGenericResourceModelV4 added in v12.8.3

type RemoteGenericResourceModelV4 struct {
	RemoteGenericResourceModelV3
	RetrieveSha256FromServer types.Bool `tfsdk:"retrieve_sha256_from_server"`
}

func (*RemoteGenericResourceModelV4) FromAPIModel added in v12.8.3

func (r *RemoteGenericResourceModelV4) FromAPIModel(ctx context.Context, apiModel interface{}) diag.Diagnostics

func (*RemoteGenericResourceModelV4) GetCreateResourcePlanData added in v12.8.3

func (r *RemoteGenericResourceModelV4) GetCreateResourcePlanData(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)

func (*RemoteGenericResourceModelV4) GetReadResourceStateData added in v12.8.3

func (r *RemoteGenericResourceModelV4) GetReadResourceStateData(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)

func (*RemoteGenericResourceModelV4) GetUpdateResourcePlanData added in v12.8.3

func (r *RemoteGenericResourceModelV4) GetUpdateResourcePlanData(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)

func (*RemoteGenericResourceModelV4) GetUpdateResourceStateData added in v12.8.3

func (r *RemoteGenericResourceModelV4) GetUpdateResourceStateData(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)

func (*RemoteGenericResourceModelV4) SetCreateResourceStateData added in v12.8.3

func (r *RemoteGenericResourceModelV4) SetCreateResourceStateData(ctx context.Context, resp *resource.CreateResponse)

func (RemoteGenericResourceModelV4) SetReadResourceStateData added in v12.8.3

func (r RemoteGenericResourceModelV4) SetReadResourceStateData(ctx context.Context, resp *resource.ReadResponse)

func (RemoteGenericResourceModelV4) SetUpdateResourceStateData added in v12.8.3

func (r RemoteGenericResourceModelV4) SetUpdateResourceStateData(ctx context.Context, resp *resource.UpdateResponse)

func (RemoteGenericResourceModelV4) ToAPIModel added in v12.8.3

func (r RemoteGenericResourceModelV4) ToAPIModel(ctx context.Context, packageType string) (interface{}, diag.Diagnostics)

type RemoteGoAPIModel added in v12.8.3

type RemoteGoAPIModel struct {
	RemoteGenericAPIModel
	CurationAPIModel
	VCSGitProvider string `json:"vcsGitProvider"`
}

type RemoteGradleAPIModel added in v12.8.3

type RemoteGradleAPIModel struct {
	RemoteAPIModel
	CurationAPIModel
	JavaAPIModel
}

type RemoteHelmAPIModel added in v12.8.3

type RemoteHelmAPIModel struct {
	RemoteAPIModel
	HelmChartsBaseURL            string   `json:"chartsBaseUrl"`
	ExternalDependenciesEnabled  bool     `json:"externalDependenciesEnabled"`
	ExternalDependenciesPatterns []string `json:"externalDependenciesPatterns"`
}

type RemoteHelmOCIAPIModel added in v12.8.3

type RemoteHelmOCIAPIModel struct {
	RemoteAPIModel
	ExternalDependenciesEnabled  bool     `json:"externalDependenciesEnabled"`
	ExternalDependenciesPatterns []string `json:"externalDependenciesPatterns,omitempty"`
	EnableTokenAuthentication    bool     `json:"enableTokenAuthentication"`
	ProjectID                    string   `json:"dockerProjectId"`
}

type RemoteHuggingFaceMLAPIModel added in v12.8.3

type RemoteHuggingFaceMLAPIModel struct {
	RemoteAPIModel
	CurationAPIModel
}

type RemoteJavaAPIModel added in v12.8.3

type RemoteJavaAPIModel struct {
	RemoteAPIModel
	JavaAPIModel
}

type RemoteMavenAPIModel added in v12.8.3

type RemoteMavenAPIModel struct {
	RemoteAPIModel
	CurationAPIModel
	JavaAPIModel
}

type RemoteNPMAPIModel added in v12.8.3

type RemoteNPMAPIModel struct {
	RemoteAPIModel
	CurationAPIModel
}

type RemoteNugetAPIModel added in v12.8.3

type RemoteNugetAPIModel struct {
	RemoteAPIModel
	CurationAPIModel
	FeedContextPath          string `json:"feedContextPath"`
	DownloadContextPath      string `json:"downloadContextPath"`
	V3FeedURL                string `json:"v3FeedUrl"`
	ForceNugetAuthentication bool   `json:"forceNugetAuthentication"`
	SymbolServerURL          string `json:"symbolServerUrl"`
}

type RemoteOCIAPIModel added in v12.8.3

type RemoteOCIAPIModel struct {
	RemoteAPIModel
	ExternalDependenciesEnabled  bool     `json:"externalDependenciesEnabled"`
	ExternalDependenciesPatterns []string `json:"externalDependenciesPatterns,omitempty"`
	EnableTokenAuthentication    bool     `json:"enableTokenAuthentication"`
	ProjectID                    string   `json:"dockerProjectId"`
}

type RemotePyPIAPIModel added in v12.8.3

type RemotePyPIAPIModel struct {
	RemoteAPIModel
	CurationAPIModel
	PyPIRegistryURL      string `json:"pyPIRegistryUrl"`
	PyPIRepositorySuffix string `json:"pyPIRepositorySuffix"`
}

type RemoteResourceModel added in v12.8.3

type RemoteResourceModel struct {
	local.LocalResourceModel
	URL                               types.String `tfsdk:"url"`
	Username                          types.String `tfsdk:"username"`
	Password                          types.String `tfsdk:"password"`
	Proxy                             types.String `tfsdk:"proxy"`
	DisableProxy                      types.Bool   `tfsdk:"disable_proxy"`
	RemoteRepoLayoutRef               types.String `tfsdk:"remote_repo_layout_ref"`
	HardFail                          types.Bool   `tfsdk:"hard_fail"`
	Offline                           types.Bool   `tfsdk:"offline"`
	QueryParams                       types.String `tfsdk:"query_params"`
	StoreArtifactsLocally             types.Bool   `tfsdk:"store_artifacts_locally"`
	SocketTimeoutMillis               types.Int64  `tfsdk:"socket_timeout_millis"`
	LocalAddress                      types.String `tfsdk:"local_address"`
	RetrievalCachePeriodSecs          types.Int64  `tfsdk:"retrieval_cache_period_seconds"`
	MissedRetrievalCachePeriodSecs    types.Int64  `tfsdk:"missed_cache_period_seconds"`
	MetadataRetrievalTimeoutSecs      types.Int64  `tfsdk:"metadata_retrieval_timeout_secs"`
	UnusedArtifactsCleanupPeriodHours types.Int64  `tfsdk:"unused_artifacts_cleanup_period_hours"`
	AssumedOfflinePeriodSecs          types.Int64  `tfsdk:"assumed_offline_period_secs"`
	ShareConfiguration                types.Bool   `tfsdk:"share_configuration"`
	SynchronizeProperties             types.Bool   `tfsdk:"synchronize_properties"`
	BlockMismatchingMimeTypes         types.Bool   `tfsdk:"block_mismatching_mime_types"`
	AllowAnyHostAuth                  types.Bool   `tfsdk:"allow_any_host_auth"`
	EnableCookieManagement            types.Bool   `tfsdk:"enable_cookie_management"`
	BypassHeadRequests                types.Bool   `tfsdk:"bypass_head_requests"`
	ClientTLSCertificate              types.String `tfsdk:"client_tls_certificate"`
	ContentSynchronisation            types.List   `tfsdk:"content_synchronisation"`
	MismatchingMimeTypeOverrideList   types.String `tfsdk:"mismatching_mime_types_override_list"`
	ListRemoteFolderItems             types.Bool   `tfsdk:"list_remote_folder_items"`
	CDNRedirect                       types.Bool   `tfsdk:"cdn_redirect"`
	DisableURLNormalization           types.Bool   `tfsdk:"disable_url_normalization"`
}

func (*RemoteResourceModel) FromAPIModel added in v12.8.3

func (r *RemoteResourceModel) FromAPIModel(ctx context.Context, apiModel RemoteAPIModel) diag.Diagnostics

func (*RemoteResourceModel) GetCreateResourcePlanData added in v12.8.3

func (r *RemoteResourceModel) GetCreateResourcePlanData(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)

func (*RemoteResourceModel) GetReadResourceStateData added in v12.8.3

func (r *RemoteResourceModel) GetReadResourceStateData(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)

func (*RemoteResourceModel) GetUpdateResourcePlanData added in v12.8.3

func (r *RemoteResourceModel) GetUpdateResourcePlanData(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)

func (*RemoteResourceModel) GetUpdateResourceStateData added in v12.8.3

func (r *RemoteResourceModel) GetUpdateResourceStateData(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)

func (RemoteResourceModel) SetCreateResourceStateData added in v12.8.3

func (r RemoteResourceModel) SetCreateResourceStateData(ctx context.Context, resp *resource.CreateResponse)

func (RemoteResourceModel) SetReadResourceStateData added in v12.8.3

func (r RemoteResourceModel) SetReadResourceStateData(ctx context.Context, resp *resource.ReadResponse)

func (RemoteResourceModel) SetUpdateResourceStateData added in v12.8.3

func (r RemoteResourceModel) SetUpdateResourceStateData(ctx context.Context, resp *resource.UpdateResponse)

func (RemoteResourceModel) ToAPIModel added in v12.8.3

func (r RemoteResourceModel) ToAPIModel(ctx context.Context, packageType string) (RemoteAPIModel, diag.Diagnostics)

type RemoteTerraformAPIModel added in v12.8.3

type RemoteTerraformAPIModel struct {
	RemoteAPIModel
	TerraformRegistryURL  string `json:"terraformRegistryUrl"`
	TerraformProvidersURL string `json:"terraformProvidersUrl"`
}

type RemoteVCSAPIModel added in v12.8.3

type RemoteVCSAPIModel struct {
	RemoteAPIModel

	MaxUniqueSnapshots int64 `json:"maxUniqueSnapshots"`
	// contains filtered or unexported fields
}

type RepositoryCurationParams

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

SDKv2

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            *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 *sdkv2_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"`
}

Jump to

Keyboard shortcuts

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