configuration

package
v10.0.1 Latest Latest
Warning

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

Go to latest
Published: Dec 12, 2023 License: Apache-2.0 Imports: 34 Imported by: 0

Documentation

Index

Constants

View Source
const LdapEndpoint = "access/api/v1/ldap/settings/"
View Source
const LdapGroupEndpoint = "access/api/v1/ldap/groups/"

Variables

This section is empty.

Functions

func FindConfigurationById

func FindConfigurationById[C Configuration](configurations []C, id string) *C

func NewBackupResource

func NewBackupResource() resource.Resource

func NewLdapGroupSettingResource

func NewLdapGroupSettingResource() resource.Resource

func NewLdapSettingResource

func NewLdapSettingResource() resource.Resource

func NewMailServerResource

func NewMailServerResource() resource.Resource

func ResourceArtifactoryGeneralSecurity

func ResourceArtifactoryGeneralSecurity() *schema.Resource

func ResourceArtifactoryLdapGroupSetting

func ResourceArtifactoryLdapGroupSetting() *schema.Resource

func ResourceArtifactoryLdapSetting

func ResourceArtifactoryLdapSetting() *schema.Resource

func ResourceArtifactoryOauthSettings

func ResourceArtifactoryOauthSettings() *schema.Resource

func ResourceArtifactoryPropertySet

func ResourceArtifactoryPropertySet() *schema.Resource

func ResourceArtifactoryProxy

func ResourceArtifactoryProxy() *schema.Resource

func ResourceArtifactoryRepositoryLayout

func ResourceArtifactoryRepositoryLayout() *schema.Resource

func ResourceArtifactorySamlSettings

func ResourceArtifactorySamlSettings() *schema.Resource

func SendConfigurationPatch

func SendConfigurationPatch(content []byte, m interface{}) error
SendConfigurationPatch updates system configuration using YAML data.

See https://www.jfrog.com/confluence/display/JFROG/Artifactory+YAML+Configuration

Types

type ArtifactoryLdapGroupSettingResource

type ArtifactoryLdapGroupSettingResource struct {
	ProviderData util.ProvderMetadata
	TypeName     string
}

func (*ArtifactoryLdapGroupSettingResource) Configure

func (*ArtifactoryLdapGroupSettingResource) Create

func (*ArtifactoryLdapGroupSettingResource) Delete

func (*ArtifactoryLdapGroupSettingResource) ImportState

ImportState imports the resource into the Terraform state.

func (*ArtifactoryLdapGroupSettingResource) Metadata

func (*ArtifactoryLdapGroupSettingResource) Read

func (*ArtifactoryLdapGroupSettingResource) Schema

func (*ArtifactoryLdapGroupSettingResource) Update

func (*ArtifactoryLdapGroupSettingResource) ValidateConfig

type ArtifactoryLdapGroupSettingResourceAPIModel

type ArtifactoryLdapGroupSettingResourceAPIModel struct {
	Name                 string `json:"name"`
	EnabledLdap          string `json:"enabled_ldap"`
	GroupBaseDn          string `json:"group_base_dn"`
	GroupNameAttribute   string `json:"group_name_attribute"`
	GroupMemberAttribute string `json:"group_member_attribute"`
	SubTree              bool   `json:"sub_tree"`
	ForceAttributeSearch bool   `json:"force_attribute_search"`
	Filter               string `json:"filter"`
	DescriptionAttribute string `json:"description_attribute"`
	Strategy             string `json:"strategy"`
}

ArtifactoryLdapGroupSettingResourceAPIModel describes the API data model.

type ArtifactoryLdapGroupSettingResourceModel

type ArtifactoryLdapGroupSettingResourceModel struct {
	Id                   types.String `tfsdk:"id"`
	Name                 types.String `tfsdk:"name"`
	EnabledLdap          types.String `tfsdk:"enabled_ldap"`
	GroupBaseDn          types.String `tfsdk:"group_base_dn"`
	GroupNameAttribute   types.String `tfsdk:"group_name_attribute"`
	GroupMemberAttribute types.String `tfsdk:"group_member_attribute"`
	SubTree              types.Bool   `tfsdk:"sub_tree"`
	ForceAttributeSearch types.Bool   `tfsdk:"force_attribute_search"`
	Filter               types.String `tfsdk:"filter"`
	DescriptionAttribute types.String `tfsdk:"description_attribute"`
	Strategy             types.String `tfsdk:"strategy"`
}

ArtifactoryLdapGroupSettingResourceModel describes the Terraform resource data model to match the resource schema.

func (*ArtifactoryLdapGroupSettingResourceModel) ToState

type ArtifactoryLdapSettingResource

type ArtifactoryLdapSettingResource struct {
	ProviderData util.ProvderMetadata
	TypeName     string
}

func (*ArtifactoryLdapSettingResource) Configure

func (*ArtifactoryLdapSettingResource) Create

func (*ArtifactoryLdapSettingResource) Delete

func (*ArtifactoryLdapSettingResource) ImportState

ImportState imports the resource into the Terraform state.

func (*ArtifactoryLdapSettingResource) Metadata

func (*ArtifactoryLdapSettingResource) Read

func (*ArtifactoryLdapSettingResource) Schema

func (*ArtifactoryLdapSettingResource) Update

func (*ArtifactoryLdapSettingResource) ValidateConfig

type ArtifactoryLdapSettingResourceAPIModel

type ArtifactoryLdapSettingResourceAPIModel struct {
	Key                      string             `json:"key"`
	Enabled                  bool               `json:"enabled"`
	LdapUrl                  string             `json:"ldap_url"`
	UserDnPattern            string             `json:"user_dn_pattern"`
	Search                   LdapSearchAPIModel `json:"search"`
	AutoCreateUser           bool               `json:"auto_create_user"`
	EmailAttribute           string             `json:"email_attribute"`
	LdapPoisoningProtection  bool               `json:"ldap_poisoning_protection"`
	AllowUserToAccessProfile bool               `json:"allow_user_to_access_profile"`
	PagingSupportEnabled     bool               `json:"paging_support_enabled"`
}

ArtifactoryLdapSettingResourceAPIModel describes the API data model.

type ArtifactoryLdapSettingResourceModel

type ArtifactoryLdapSettingResourceModel struct {
	Id                       types.String `tfsdk:"id"`
	Key                      types.String `tfsdk:"key"`
	Enabled                  types.Bool   `tfsdk:"enabled"`
	LdapUrl                  types.String `tfsdk:"ldap_url"`
	UserDnPattern            types.String `tfsdk:"user_dn_pattern"`
	EmailAttribute           types.String `tfsdk:"email_attribute"`
	AutoCreateUser           types.Bool   `tfsdk:"auto_create_user"`
	LdapPoisoningProtection  types.Bool   `tfsdk:"ldap_poisoning_protection"`
	AllowUserToAccessProfile types.Bool   `tfsdk:"allow_user_to_access_profile"`
	PagingSupportEnabled     types.Bool   `tfsdk:"paging_support_enabled"`
	SearchFilter             types.String `tfsdk:"search_filter"`
	SearchBase               types.String `tfsdk:"search_base"`
	SearchSubTree            types.Bool   `tfsdk:"search_sub_tree"`
	ManagerDn                types.String `tfsdk:"manager_dn"`
	ManagerPassword          types.String `tfsdk:"manager_password"`
}

ArtifactoryLdapSettingResourceModel describes the Terraform resource data model to match the resource schema.

func (*ArtifactoryLdapSettingResourceModel) ToState

type BackupAPIModel

type BackupAPIModel struct {
	Key                    string    `xml:"key" yaml:"key"`
	CronExp                string    `xml:"cronExp" yaml:"cronExp"`
	Enabled                bool      `xml:"enabled" yaml:"enabled"`
	RetentionPeriodHours   int64     `xml:"retentionPeriodHours" yaml:"retentionPeriodHours"`
	ExcludedRepositories   *[]string `xml:"excludedRepositories>repositoryRef" yaml:"excludedRepositories"`
	CreateArchive          bool      `xml:"createArchive" yaml:"createArchive"`
	ExcludeNewRepositories bool      `xml:"excludeNewRepositories" yaml:"excludeNewRepositories"`
	SendMailOnError        bool      `xml:"sendMailOnError" yaml:"sendMailOnError"`
	VerifyDiskSpace        bool      `xml:"precalculate" yaml:"precalculate"`
	ExportMissionControl   bool      `xml:"exportMissionControl" yaml:"exportMissionControl"`
}

func (BackupAPIModel) Id

func (m BackupAPIModel) Id() string

type BackupResource

type BackupResource struct {
	ProviderData util.ProvderMetadata
	TypeName     string
}

func (*BackupResource) Configure

func (*BackupResource) Create

func (*BackupResource) Delete

func (*BackupResource) ImportState

ImportState imports the resource into the Terraform state.

func (*BackupResource) Metadata

func (*BackupResource) Read

func (*BackupResource) Schema

func (*BackupResource) Update

type BackupResourceModel

type BackupResourceModel struct {
	Key                    types.String `tfsdk:"key"`
	Enabled                types.Bool   `tfsdk:"enabled"`
	CronExp                types.String `tfsdk:"cron_exp"`
	RetentionPeriodHours   types.Int64  `tfsdk:"retention_period_hours"`
	ExcludedRepositories   types.List   `tfsdk:"excluded_repositories"`
	CreateArchive          types.Bool   `tfsdk:"create_archive"`
	ExcludeNewRepositories types.Bool   `tfsdk:"exclude_new_repositories"`
	SendMailOnError        types.Bool   `tfsdk:"send_mail_on_error"`
	VerifyDiskSpace        types.Bool   `tfsdk:"verify_disk_space"`
	ExportMissionControl   types.Bool   `tfsdk:"export_mission_control"`
}

func (*BackupResourceModel) FromAPIModel

func (r *BackupResourceModel) FromAPIModel(ctx context.Context, backup *BackupAPIModel) diag.Diagnostics

type Backups

type Backups struct {
	BackupArr []BackupAPIModel `xml:"backups>backup" yaml:"backup"`
}

type Configuration

type Configuration interface {
	Id() string
}

type GeneralSecurity

type GeneralSecurity struct {
	GeneralSettings `yaml:"security" json:"security"`
}

type GeneralSettings

type GeneralSettings struct {
	AnonAccessEnabled bool `yaml:"anonAccessEnabled" json:"anonAccessEnabled"`
}

type Layout

type Layout struct {
	Name                             string `hcl:"name" xml:"name" yaml:"name"`
	ArtifactPathPattern              string `hcl:"artifact_path_pattern" xml:"artifactPathPattern" yaml:"artifactPathPattern"`
	DistinctiveDescriptorPathPattern bool   `hcl:"distinctive_descriptor_path_pattern" xml:"distinctiveDescriptorPathPattern" yaml:"distinctiveDescriptorPathPattern"`
	DescriptorPathPattern            string `hcl:"descriptor_path_pattern" xml:"descriptorPathPattern" yaml:"descriptorPathPattern"`
	FolderIntegrationRevisionRegExp  string `hcl:"folder_integration_revision_regexp" xml:"folderIntegrationRevisionRegExp" yaml:"folderIntegrationRevisionRegExp"`
	FileIntegrationRevisionRegExp    string `hcl:"file_integration_revision_regexp" xml:"fileIntegrationRevisionRegExp" yaml:"fileIntegrationRevisionRegExp"`
}

func (Layout) Id

func (l Layout) Id() string

type Layouts

type Layouts struct {
	Layouts []Layout `xml:"repoLayouts>repoLayout" yaml:"repoLayout"`
}

type LdapGroupSetting

type LdapGroupSetting struct {
	Name                 string `xml:"name" yaml:"name"`
	EnabledLdap          string `hcl:"ldap_setting_key" xml:"enabledLdap" yaml:"enabledLdap"`
	GroupBaseDn          string `xml:"groupBaseDn" yaml:"groupBaseDn"`
	GroupNameAttribute   string `xml:"groupNameAttribute" yaml:"groupNameAttribute"`
	GroupMemberAttribute string `xml:"groupMemberAttribute" yaml:"groupMemberAttribute"`
	SubTree              bool   `xml:"subTree" yaml:"subTree"`
	Filter               string `xml:"filter" yaml:"filter"`
	DescriptionAttribute string `xml:"descriptionAttribute" yaml:"descriptionAttribute"`
	Strategy             string `xml:"strategy" yaml:"strategy"`
}

func (LdapGroupSetting) Id

func (l LdapGroupSetting) Id() string

type LdapGroupSettings

type LdapGroupSettings struct {
	LdapGroupSettingArr []LdapGroupSetting `xml:"ldapGroupSetting" yaml:"ldapGroupSetting"`
}

type LdapSearchAPIModel

type LdapSearchAPIModel struct {
	SearchFilter    string `json:"search_filter,omitempty"`
	SearchBase      string `json:"search_base,omitempty"`
	SearchSubTree   bool   `json:"search_sub_tree"`
	ManagerDn       string `json:"manager_dn,omitempty"`
	ManagerPassword string `json:"manager_password,omitempty"`
}

type LdapSearchType

type LdapSearchType struct {
	SearchSubTree   bool   `xml:"searchSubTree" yaml:"searchSubTree" `
	SearchFilter    string `xml:"searchFilter" yaml:"searchFilter"`
	SearchBase      string `xml:"searchBase" yaml:"searchBase"`
	ManagerDn       string `xml:"managerDn" yaml:"managerDn"`
	ManagerPassword string `xml:"managerPassword" yaml:"managerPassword"`
}

type LdapSetting

type LdapSetting struct {
	Key                      string         `xml:"key" yaml:"key"`
	Enabled                  bool           `xml:"enabled" yaml:"enabled"`
	LdapUrl                  string         `xml:"ldapUrl" yaml:"ldapUrl"`
	UserDnPattern            string         `xml:"userDnPattern" yaml:"userDnPattern"`
	EmailAttribute           string         `xml:"emailAttribute" yaml:"emailAttribute"`
	AutoCreateUser           bool           `xml:"autoCreateUser" yaml:"autoCreateUser"`
	LdapPoisoningProtection  bool           `xml:"ldapPoisoningProtection" yaml:"ldapPoisoningProtection"`
	AllowUserToAccessProfile bool           `xml:"allowUserToAccessProfile" yaml:"allowUserToAccessProfile"`
	PagingSupportEnabled     bool           `xml:"pagingSupportEnabled" yaml:"pagingSupportEnabled"`
	Search                   LdapSearchType `xml:"search" yaml:"search"`
}

func (LdapSetting) Id

func (l LdapSetting) Id() string

type LdapSettings

type LdapSettings struct {
	LdapSettingArr []LdapSetting `xml:"ldapSetting" yaml:"ldapSetting"`
}

type MailServer

type MailServer struct {
	Server *MailServerAPIModel `xml:"mailServer"`
}

type MailServerAPIModel

type MailServerAPIModel struct {
	Enabled        bool   `xml:"enabled" yaml:"enabled"`
	ArtifactoryURL string `xml:"artifactoryUrl" yaml:"artifactoryUrl"`
	From           string `xml:"from" yaml:"from"`
	Host           string `xml:"host" yaml:"host"`
	Username       string `xml:"username" yaml:"username"`
	Password       string `xml:"password" yaml:"password"`
	Port           int64  `xml:"port" yaml:"port"`
	SubjectPrefix  string `xml:"subjectPrefix" yaml:"subjectPrefix"`
	UseSSL         bool   `xml:"ssl" yaml:"ssl"`
	UseTLS         bool   `xml:"tls" yaml:"tls"`
}

type MailServerResource

type MailServerResource struct {
	ProviderData util.ProvderMetadata
	TypeName     string
}

func (*MailServerResource) Configure

func (*MailServerResource) Create

func (*MailServerResource) Delete

func (*MailServerResource) ImportState

ImportState imports the resource into the Terraform state.

func (*MailServerResource) Metadata

func (*MailServerResource) Read

func (*MailServerResource) Schema

func (*MailServerResource) Update

type MailServerResourceModel

type MailServerResourceModel struct {
	Enabled        types.Bool   `tfsdk:"enabled"`
	ArtifactoryURL types.String `tfsdk:"artifactory_url"`
	From           types.String `tfsdk:"from"`
	Host           types.String `tfsdk:"host"`
	Username       types.String `tfsdk:"username"`
	Password       types.String `tfsdk:"password"`
	Port           types.Int64  `tfsdk:"port"`
	SubjectPrefix  types.String `tfsdk:"subject_prefix"`
	UseSSL         types.Bool   `tfsdk:"use_ssl"`
	UseTLS         types.Bool   `tfsdk:"use_tls"`
}

func (*MailServerResourceModel) FromAPIModel

func (r *MailServerResourceModel) FromAPIModel(ctx context.Context, mailServer *MailServerAPIModel) diag.Diagnostics

func (*MailServerResourceModel) ToAPIModel

type OauthProviderSettings

type OauthProviderSettings struct {
	Name         string `json:"name"`
	Enabled      bool   `yaml:"enabled" json:"enabled"`
	Type         string `yaml:"providerType" json:"providerType"`
	ClientId     string `yaml:"id" json:"id"`
	ClientSecret string `yaml:"secret" json:"secret"`
	ApiUrl       string `yaml:"apiUrl" json:"apiUrl"`
	AuthUrl      string `yaml:"authUrl" json:"authUrl"`
	TokenUrl     string `yaml:"tokenUrl" json:"tokenUrl"`
}

type OauthSecurity

type OauthSecurity struct {
	Oauth OauthSettingsWrapper `yaml:"security"`
}

type OauthSettings

type OauthSettings struct {
	EnableIntegration        bool                             `yaml:"enableIntegration" json:"enabled"`
	PersistUsers             bool                             `yaml:"persistUsers" json:"persistUsers"`
	AllowUserToAccessProfile bool                             `yaml:"allowUserToAccessProfile" json:"allowUserToAccessProfile"`
	OauthProvidersSettings   map[string]OauthProviderSettings `yaml:"oauthProvidersSettings"`
	AvailableTypes           []OauthType                      `json:"availableTypes"`
	Providers                []OauthProviderSettings          `json:"providers"`
}

type OauthSettingsWrapper

type OauthSettingsWrapper struct {
	Settings OauthSettings `yaml:"oauthSettings"`
}

type OauthType

type OauthType struct {
	DisplayName     string
	Type            string
	MandatoryFields []string
	FieldHolders    []string
	FieldValues     []string
}

type PredefinedValue

type PredefinedValue struct {
	Name         string `xml:"value" yaml:"-"`
	DefaultValue bool   `xml:"defaultValue" yaml:"defaultValue"`
}

type Property

type Property struct {
	Name                  string            `xml:"name" yaml:"-"`
	PredefinedValues      []PredefinedValue `xml:"predefinedValues>predefinedValue" yaml:"predefinedValues"`
	ClosedPredefinedValue bool              `xml:"closedPredefinedValues" yaml:"closedPredefinedValues"`
	MultipleChoice        bool              `xml:"multipleChoice" yaml:"multipleChoice"`
}

type PropertySet

type PropertySet struct {
	Name       string     `xml:"name" yaml:"-"`
	Visible    bool       `xml:"visible" yaml:"visible"`
	Properties []Property `xml:"properties>property" yaml:"properties"`
}

func (PropertySet) Id

func (p PropertySet) Id() string

type PropertySets

type PropertySets struct {
	PropertySets []PropertySet `xml:"propertySets>propertySet" yaml:"propertySet"`
}

type Proxies

type Proxies struct {
	Proxies []Proxy `xml:"proxies>proxy" yaml:"proxy"`
}

type Proxy

type Proxy struct {
	Key               string `xml:"key" yaml:"-"`
	Host              string `xml:"host" yaml:"host"`
	Port              int    `xml:"port" yaml:"port"`
	Username          string `xml:"username" yaml:"username"`
	Password          string `xml:"password" yaml:"password"`
	NtHost            string `xml:"ntHost" yaml:"ntHost"`
	NtDomain          string `xml:"domain" yaml:"domain"`
	PlatformDefault   bool   `xml:"platformDefault" yaml:"platformDefault"`
	RedirectedToHosts string `xml:"redirectedToHosts" yaml:"redirectedToHosts"`
	Services          string `xml:"services" yaml:"services"`
}

func (Proxy) Id

func (p Proxy) Id() string

type SamlSecurity

type SamlSecurity struct {
	Saml SamlSettingsWrapper `yaml:"security"`
}

type SamlSettings

type SamlSettings struct {
	EnableIntegration         bool   `yaml:"enableIntegration" json:"enableIntegration"`
	Certificate               string `yaml:"certificate" json:"certificate"`
	EmailAttribute            string `yaml:"emailAttribute" json:"emailAttribute"`
	GroupAttribute            string `yaml:"groupAttribute" json:"groupAttribute"`
	LoginUrl                  string `yaml:"loginUrl" json:"loginUrl"`
	LogoutUrl                 string `yaml:"logoutUrl" json:"logoutUrl"`
	NoAutoUserCreation        bool   `yaml:"noAutoUserCreation" json:"noAutoUserCreation"`
	ServiceProviderName       string `yaml:"serviceProviderName" json:"serviceProviderName"`
	AllowUserToAccessProfile  bool   `yaml:"allowUserToAccessProfile" json:"allowUserToAccessProfile"`
	AutoRedirect              bool   `yaml:"autoRedirect" json:"autoRedirect"`
	SyncGroups                bool   `yaml:"syncGroups" json:"syncGroups"`
	VerifyAudienceRestriction bool   `yaml:"verifyAudienceRestriction" json:"verifyAudienceRestriction"`
	UseEncryptedAssertion     bool   `yaml:"useEncryptedAssertion" json:"useEncryptedAssertion"`
}

type SamlSettingsWrapper

type SamlSettingsWrapper struct {
	Settings SamlSettings `yaml:"samlSettings"`
}

type SecurityLdapGroupSettings

type SecurityLdapGroupSettings struct {
	LdapGroupSettings LdapGroupSettings `xml:"ldapGroupSettings"`
}

type SecurityLdapSettings

type SecurityLdapSettings struct {
	LdapSettings LdapSettings `xml:"ldapSettings"`
}

type XmlLdapConfig

type XmlLdapConfig struct {
	XMLName  xml.Name             `xml:"config"`
	Security SecurityLdapSettings `xml:"security"`
}

type XmlLdapGroupConfig

type XmlLdapGroupConfig struct {
	XMLName  xml.Name                  `xml:"config"`
	Security SecurityLdapGroupSettings `xml:"security"`
}

Jump to

Keyboard shortcuts

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