func gitlabApplicationSettingsToUpdateOptions()

in internal/provider/sdk/schema_gitlab_application_settings.go [2604:3778]


func gitlabApplicationSettingsToUpdateOptions(d *schema.ResourceData) *gitlab.UpdateSettingsOptions {
	options := gitlab.UpdateSettingsOptions{}

	if d.HasChange("admin_mode") {
		options.AdminMode = gitlab.Ptr(d.Get("admin_mode").(bool))
	}

	if d.HasChange("abuse_notification_email") {
		options.AbuseNotificationEmail = gitlab.Ptr(d.Get("abuse_notification_email").(string))
	}

	if d.HasChange("after_sign_out_path") {
		options.AfterSignOutPath = gitlab.Ptr(d.Get("after_sign_out_path").(string))
	}

	if d.HasChange("after_sign_up_text") {
		options.AfterSignUpText = gitlab.Ptr(d.Get("after_sign_up_text").(string))
	}

	if d.HasChange("akismet_api_key") {
		options.AkismetAPIKey = gitlab.Ptr(d.Get("akismet_api_key").(string))
	}

	if d.HasChange("akismet_enabled") {
		options.AkismetEnabled = gitlab.Ptr(d.Get("akismet_enabled").(bool))
	}

	if d.HasChange("allow_account_deletion") {
		options.AllowAccountDeletion = gitlab.Ptr(d.Get("allow_account_deletion").(bool))
	}

	if d.HasChange("allow_group_owners_to_manage_ldap") {
		options.AllowGroupOwnersToManageLDAP = gitlab.Ptr(d.Get("allow_group_owners_to_manage_ldap").(bool))
	}

	if d.HasChange("allow_local_requests_from_system_hooks") {
		options.AllowLocalRequestsFromSystemHooks = gitlab.Ptr(d.Get("allow_local_requests_from_system_hooks").(bool))
	}

	if d.HasChange("allow_local_requests_from_web_hooks_and_services") {
		options.AllowLocalRequestsFromWebHooksAndServices = gitlab.Ptr(d.Get("allow_local_requests_from_web_hooks_and_services").(bool))
	}

	if d.HasChange("allow_project_creation_for_guest_and_below") {
		options.AllowProjectCreationForGuestAndBelow = gitlab.Ptr(d.Get("allow_project_creation_for_guest_and_below").(bool))
	}

	if d.HasChange("allow_runner_registration_token") {
		options.AllowRunnerRegistrationToken = gitlab.Ptr(d.Get("allow_runner_registration_token").(bool))
	}

	if d.HasChange("archive_builds_in_human_readable") {
		options.ArchiveBuildsInHumanReadable = gitlab.Ptr(d.Get("archive_builds_in_human_readable").(string))
	}

	if d.HasChange("asciidoc_max_includes") {
		options.ASCIIDocMaxIncludes = gitlab.Ptr(d.Get("asciidoc_max_includes").(int))
	}

	if d.HasChange("asset_proxy_enabled") {
		options.AssetProxyEnabled = gitlab.Ptr(d.Get("asset_proxy_enabled").(bool))
	}

	if d.HasChange("asset_proxy_secret_key") {
		options.AssetProxySecretKey = gitlab.Ptr(d.Get("asset_proxy_secret_key").(string))
	}

	if d.HasChange("asset_proxy_url") {
		options.AssetProxyURL = gitlab.Ptr(d.Get("asset_proxy_url").(string))
	}

	if d.HasChange("asset_proxy_allowlist") {
		options.AssetProxyAllowlist = stringListToStringSlice(d.Get("asset_proxy_allowlist").([]any))
	}

	if d.HasChange("authorized_keys_enabled") {
		options.AuthorizedKeysEnabled = gitlab.Ptr(d.Get("authorized_keys_enabled").(bool))
	}

	if d.HasChange("auto_ban_user_on_excessive_projects_download") {
		options.AutoBanUserOnExcessiveProjectsDownload = gitlab.Ptr(d.Get("auto_ban_user_on_excessive_projects_download").(bool))
	}

	if d.HasChange("auto_devops_domain") {
		options.AutoDevOpsDomain = gitlab.Ptr(d.Get("auto_devops_domain").(string))
	}

	if d.HasChange("auto_devops_enabled") {
		options.AutoDevOpsEnabled = gitlab.Ptr(d.Get("auto_devops_enabled").(bool))
	}

	if d.HasChange("automatic_purchased_storage_allocation") {
		options.AutomaticPurchasedStorageAllocation = gitlab.Ptr(d.Get("automatic_purchased_storage_allocation").(bool))
	}

	if d.HasChange("bulk_import_concurrent_pipeline_batch_limit") {
		options.BulkImportConcurrentPipelineBatchLimit = gitlab.Ptr(d.Get("bulk_import_concurrent_pipeline_batch_limit").(int))
	}

	if d.HasChange("bulk_import_enabled") {
		options.BulkImportEnabled = gitlab.Ptr(d.Get("bulk_import_enabled").(bool))
	}

	if d.HasChange("bulk_import_max_download_file_size") {
		options.BulkImportMaxDownloadFileSize = gitlab.Ptr(d.Get("bulk_import_max_download_file_size").(int))
	}

	if d.HasChange("can_create_group") {
		options.CanCreateGroup = gitlab.Ptr(d.Get("can_create_group").(bool))
	}

	if d.HasChange("check_namespace_plan") {
		options.CheckNamespacePlan = gitlab.Ptr(d.Get("check_namespace_plan").(bool))
	}

	if d.HasChange("ci_max_includes") {
		options.CIMaxIncludes = gitlab.Ptr(d.Get("ci_max_includes").(int))
	}

	if d.HasChange("ci_max_total_yaml_size_bytes") {
		options.CIMaxTotalYAMLSizeBytes = gitlab.Ptr(d.Get("ci_max_total_yaml_size_bytes").(int))
	}

	if d.HasChange("commit_email_hostname") {
		options.CommitEmailHostname = gitlab.Ptr(d.Get("commit_email_hostname").(string))
	}

	if d.HasChange("concurrent_bitbucket_import_jobs_limit") {
		options.ConcurrentBitbucketImportJobsLimit = gitlab.Ptr(d.Get("concurrent_bitbucket_import_jobs_limit").(int))
	}

	if d.HasChange("concurrent_bitbucket_server_import_jobs_limit") {
		options.ConcurrentBitbucketServerImportJobsLimit = gitlab.Ptr(d.Get("concurrent_bitbucket_server_import_jobs_limit").(int))
	}

	if d.HasChange("concurrent_github_import_jobs_limit") {
		options.ConcurrentGitHubImportJobsLimit = gitlab.Ptr(d.Get("concurrent_github_import_jobs_limit").(int))
	}

	if d.HasChange("container_expiration_policies_enable_historic_entries") {
		options.ContainerExpirationPoliciesEnableHistoricEntries = gitlab.Ptr(d.Get("container_expiration_policies_enable_historic_entries").(bool))
	}

	if d.HasChange("container_registry_cleanup_tags_service_max_list_size") {
		options.ContainerRegistryCleanupTagsServiceMaxListSize = gitlab.Ptr(d.Get("container_registry_cleanup_tags_service_max_list_size").(int))
	}

	if d.HasChange("container_registry_delete_tags_service_timeout") {
		options.ContainerRegistryDeleteTagsServiceTimeout = gitlab.Ptr(d.Get("container_registry_delete_tags_service_timeout").(int))
	}

	if d.HasChange("container_registry_expiration_policies_caching") {
		options.ContainerRegistryExpirationPoliciesCaching = gitlab.Ptr(d.Get("container_registry_expiration_policies_caching").(bool))
	}

	if d.HasChange("container_registry_expiration_policies_worker_capacity") {
		options.ContainerRegistryExpirationPoliciesWorkerCapacity = gitlab.Ptr(d.Get("container_registry_expiration_policies_worker_capacity").(int))
	}

	if d.HasChange("container_registry_token_expire_delay") {
		options.ContainerRegistryTokenExpireDelay = gitlab.Ptr(d.Get("container_registry_token_expire_delay").(int))
	}

	if d.HasChange("package_registry_cleanup_policies_worker_capacity") {
		options.PackageRegistryCleanupPoliciesWorkerCapacity = gitlab.Ptr(d.Get("package_registry_cleanup_policies_worker_capacity").(int))
	}

	if d.HasChange("deactivate_dormant_users") {
		options.DeactivateDormantUsers = gitlab.Ptr(d.Get("deactivate_dormant_users").(bool))
	}

	if d.HasChange("deactivate_dormant_users_period") {
		options.DeactivateDormantUsersPeriod = gitlab.Ptr(d.Get("deactivate_dormant_users_period").(int))
	}

	if d.HasChange("decompress_archive_file_timeout") {
		options.DecompressArchiveFileTimeout = gitlab.Ptr(d.Get("decompress_archive_file_timeout").(int))
	}

	if d.HasChange("default_artifacts_expire_in") {
		options.DefaultArtifactsExpireIn = gitlab.Ptr(d.Get("default_artifacts_expire_in").(string))
	}

	if d.HasChange("default_branch_name") {
		options.DefaultBranchName = gitlab.Ptr(d.Get("default_branch_name").(string))
	}

	if d.HasChange("default_branch_protection") {
		options.DefaultBranchProtection = gitlab.Ptr(d.Get("default_branch_protection").(int)) //nolint:staticcheck
	}

	if d.HasChange("default_branch_protection_defaults") {
		// only one struct is allowed here, so retrieve the first one.
		values := d.Get("default_branch_protection_defaults.0").(map[string]any)

		// Read the allowed to push and convert to []*gitlab.GroupAccessLevel
		allowedToPushList := values["allowed_to_push"].([]any)
		allowedToPush := make([]*gitlab.GroupAccessLevel, len(allowedToPushList))
		for k, v := range allowedToPushList {
			allowedToPush[k] = &gitlab.GroupAccessLevel{
				AccessLevel: gitlab.Ptr(gitlab.AccessLevelValue(v.(int))),
			}
		}

		// Read the allowed to merge and convert to []*gitlab.GroupAccessLevel
		allowedToMergeList := values["allowed_to_merge"].([]any)
		allowedToMerge := make([]*gitlab.GroupAccessLevel, len(allowedToMergeList))
		for k, v := range allowedToMergeList {
			allowedToMerge[k] = &gitlab.GroupAccessLevel{
				AccessLevel: gitlab.Ptr(gitlab.AccessLevelValue(v.(int))),
			}
		}

		branchProtectionDefault := &gitlab.DefaultBranchProtectionDefaultsOptions{
			DeveloperCanInitialPush: gitlab.Ptr(values["developer_can_initial_push"].(bool)),
			AllowForcePush:          gitlab.Ptr(values["allow_force_push"].(bool)),
			AllowedToPush:           &allowedToPush,
			AllowedToMerge:          &allowedToMerge,
		}
		options.DefaultBranchProtectionDefaults = branchProtectionDefault
	}

	if d.HasChange("default_ci_config_path") {
		options.DefaultCiConfigPath = gitlab.Ptr(d.Get("default_ci_config_path").(string))
	}

	if d.HasChange("default_group_visibility") {
		options.DefaultGroupVisibility = stringToVisibilityLevel(d.Get("default_group_visibility").(string))
	}

	if d.HasChange("default_preferred_language") {
		options.DefaultPreferredLanguage = gitlab.Ptr(d.Get("default_preferred_language").(string))
	}

	if d.HasChange("default_project_creation") {
		options.DefaultProjectCreation = gitlab.Ptr(d.Get("default_project_creation").(int))
	}

	if d.HasChange("default_project_visibility") {
		options.DefaultProjectVisibility = stringToVisibilityLevel(d.Get("default_project_visibility").(string))
	}

	if d.HasChange("default_projects_limit") {
		options.DefaultProjectsLimit = gitlab.Ptr(d.Get("default_projects_limit").(int))
	}

	if d.HasChange("default_snippet_visibility") {
		options.DefaultSnippetVisibility = stringToVisibilityLevel(d.Get("default_snippet_visibility").(string))
	}

	if d.HasChange("default_syntax_highlighting_theme") {
		options.DefaultSyntaxHighlightingTheme = gitlab.Ptr(d.Get("default_syntax_highlighting_theme").(int))
	}

	if d.HasChange("delete_inactive_projects") {
		options.DeleteInactiveProjects = gitlab.Ptr(d.Get("delete_inactive_projects").(bool))
	}

	if d.HasChange("delete_unconfirmed_users") {
		options.DeleteUnconfirmedUsers = gitlab.Ptr(d.Get("delete_unconfirmed_users").(bool))
	}

	if d.HasChange("deletion_adjourned_period") {
		options.DeletionAdjournedPeriod = gitlab.Ptr(d.Get("deletion_adjourned_period").(int))
	}

	if d.HasChange("diagramsnet_enabled") {
		options.DiagramsnetEnabled = gitlab.Ptr(d.Get("diagramsnet_enabled").(bool))
	}

	if d.HasChange("diagramsnet_url") {
		options.DiagramsnetURL = gitlab.Ptr(d.Get("diagramsnet_url").(string))
	}

	if d.HasChange("diff_max_patch_bytes") {
		options.DiffMaxPatchBytes = gitlab.Ptr(d.Get("diff_max_patch_bytes").(int))
	}

	if d.HasChange("diff_max_files") {
		options.DiffMaxFiles = gitlab.Ptr(d.Get("diff_max_files").(int))
	}

	if d.HasChange("diff_max_lines") {
		options.DiffMaxLines = gitlab.Ptr(d.Get("diff_max_lines").(int))
	}

	if d.HasChange("disable_admin_oauth_scopes") {
		options.DisableAdminOAuthScopes = gitlab.Ptr(d.Get("disable_admin_oauth_scopes").(bool))
	}

	if d.HasChange("disable_feed_token") {
		options.DisableFeedToken = gitlab.Ptr(d.Get("disable_feed_token").(bool))
	}

	if d.HasChange("disable_personal_access_tokens") {
		options.DisablePersonalAccessTokens = gitlab.Ptr(d.Get("disable_personal_access_tokens").(bool))
	}

	if d.HasChange("disabled_oauth_sign_in_sources") {
		options.DisabledOauthSignInSources = stringListToStringSlice(d.Get("disabled_oauth_sign_in_sources").([]any))
	}

	if d.HasChange("dns_rebinding_protection_enabled") {
		options.DNSRebindingProtectionEnabled = gitlab.Ptr(d.Get("dns_rebinding_protection_enabled").(bool))
	}

	if d.HasChange("domain_denylist_enabled") {
		options.DomainDenylistEnabled = gitlab.Ptr(d.Get("domain_denylist_enabled").(bool))
	}

	if d.HasChange("domain_denylist") {
		options.DomainDenylist = stringListToStringSlice(d.Get("domain_denylist").([]any))
	}

	if d.HasChange("domain_allowlist") {
		options.DomainAllowlist = stringListToStringSlice(d.Get("domain_allowlist").([]any))
	}

	if d.HasChange("downstream_pipeline_trigger_limit_per_project_user_sha") {
		options.DownstreamPipelineTriggerLimitPerProjectUserSHA = gitlab.Ptr(d.Get("downstream_pipeline_trigger_limit_per_project_user_sha").(int))
	}

	if d.HasChange("duo_features_enabled") {
		options.DuoFeaturesEnabled = gitlab.Ptr(d.Get("duo_features_enabled").(bool))
	}

	if d.HasChange("dsa_key_restriction") {
		options.DSAKeyRestriction = gitlab.Ptr(d.Get("dsa_key_restriction").(int))
	}

	if d.HasChange("ecdsa_key_restriction") {
		options.ECDSAKeyRestriction = gitlab.Ptr(d.Get("ecdsa_key_restriction").(int))
	}

	if d.HasChange("ecdsa_sk_key_restriction") {
		options.ECDSASKKeyRestriction = gitlab.Ptr(d.Get("ecdsa_sk_key_restriction").(int))
	}

	if d.HasChange("ed25519_key_restriction") {
		options.Ed25519KeyRestriction = gitlab.Ptr(d.Get("ed25519_key_restriction").(int))
	}

	if d.HasChange("ed25519_sk_key_restriction") {
		options.Ed25519SKKeyRestriction = gitlab.Ptr(d.Get("ed25519_sk_key_restriction").(int))
	}

	if d.HasChange("eks_access_key_id") {
		options.EKSAccessKeyID = gitlab.Ptr(d.Get("eks_access_key_id").(string))
	}

	if d.HasChange("eks_account_id") {
		options.EKSAccountID = gitlab.Ptr(d.Get("eks_account_id").(string))
	}

	if d.HasChange("eks_integration_enabled") {
		options.EKSIntegrationEnabled = gitlab.Ptr(d.Get("eks_integration_enabled").(bool))
	}

	if d.HasChange("eks_secret_access_key") {
		options.EKSSecretAccessKey = gitlab.Ptr(d.Get("eks_secret_access_key").(string))
	}

	if d.HasChange("elasticsearch_aws_access_key") {
		options.ElasticsearchAWSAccessKey = gitlab.Ptr(d.Get("elasticsearch_aws_access_key").(string))
	}

	if d.HasChange("elasticsearch_aws_region") {
		options.ElasticsearchAWSRegion = gitlab.Ptr(d.Get("elasticsearch_aws_region").(string))
	}

	if d.HasChange("elasticsearch_aws_secret_access_key") {
		options.ElasticsearchAWSSecretAccessKey = gitlab.Ptr(d.Get("elasticsearch_aws_secret_access_key").(string))
	}

	if d.HasChange("elasticsearch_aws") {
		options.ElasticsearchAWS = gitlab.Ptr(d.Get("elasticsearch_aws").(bool))
	}

	if d.HasChange("elasticsearch_indexed_field_length_limit") {
		options.ElasticsearchIndexedFieldLengthLimit = gitlab.Ptr(d.Get("elasticsearch_indexed_field_length_limit").(int))
	}

	if d.HasChange("elasticsearch_indexed_file_size_limit_kb") {
		options.ElasticsearchIndexedFileSizeLimitKB = gitlab.Ptr(d.Get("elasticsearch_indexed_file_size_limit_kb").(int))
	}

	if d.HasChange("elasticsearch_indexing") {
		options.ElasticsearchIndexing = gitlab.Ptr(d.Get("elasticsearch_indexing").(bool))
	}

	if d.HasChange("elasticsearch_limit_indexing") {
		options.ElasticsearchLimitIndexing = gitlab.Ptr(d.Get("elasticsearch_limit_indexing").(bool))
	}

	if d.HasChange("elasticsearch_max_bulk_concurrency") {
		options.ElasticsearchMaxBulkConcurrency = gitlab.Ptr(d.Get("elasticsearch_max_bulk_concurrency").(int))
	}

	if d.HasChange("elasticsearch_max_bulk_size_mb") {
		options.ElasticsearchMaxBulkSizeMB = gitlab.Ptr(d.Get("elasticsearch_max_bulk_size_mb").(int))
	}

	if d.HasChange("elasticsearch_namespace_ids") {
		options.ElasticsearchNamespaceIDs = intListToIntSlice(d.Get("elasticsearch_namespace_ids").([]any))
	}

	if d.HasChange("elasticsearch_project_ids") {
		options.ElasticsearchProjectIDs = intListToIntSlice(d.Get("elasticsearch_project_ids").([]any))
	}

	if d.HasChange("elasticsearch_search") {
		options.ElasticsearchSearch = gitlab.Ptr(d.Get("elasticsearch_search").(bool))
	}

	if d.HasChange("elasticsearch_url") {
		options.ElasticsearchURL = stringListToCommaSeparatedString(d.Get("elasticsearch_url").([]any))
	}

	if d.HasChange("elasticsearch_username") {
		options.ElasticsearchUsername = gitlab.Ptr(d.Get("elasticsearch_username").(string))
	}

	if d.HasChange("elasticsearch_password") {
		options.ElasticsearchPassword = gitlab.Ptr(d.Get("elasticsearch_password").(string))
	}

	if d.HasChange("email_additional_text") {
		options.EmailAdditionalText = gitlab.Ptr(d.Get("email_additional_text").(string))
	}

	if d.HasChange("email_author_in_body") {
		options.EmailAuthorInBody = gitlab.Ptr(d.Get("email_author_in_body").(bool))
	}

	if d.HasChange("enabled_git_access_protocol") {
		options.EnabledGitAccessProtocol = gitlab.Ptr(d.Get("enabled_git_access_protocol").(string))
	}

	if d.HasChange("enforce_namespace_storage_limit") {
		options.EnforceNamespaceStorageLimit = gitlab.Ptr(d.Get("enforce_namespace_storage_limit").(bool))
	}

	if d.HasChange("enforce_terms") {
		options.EnforceTerms = gitlab.Ptr(d.Get("enforce_terms").(bool))
	}

	if d.HasChange("external_auth_client_cert") {
		options.ExternalAuthClientCert = gitlab.Ptr(d.Get("external_auth_client_cert").(string))
	}

	if d.HasChange("external_auth_client_key_pass") {
		options.ExternalAuthClientKeyPass = gitlab.Ptr(d.Get("external_auth_client_key_pass").(string))
	}

	if d.HasChange("external_auth_client_key") {
		options.ExternalAuthClientKey = gitlab.Ptr(d.Get("external_auth_client_key").(string))
	}

	if d.HasChange("external_authorization_service_default_label") {
		options.ExternalAuthorizationServiceDefaultLabel = gitlab.Ptr(d.Get("external_authorization_service_default_label").(string))
	}

	if d.HasChange("external_authorization_service_enabled") {
		options.ExternalAuthorizationServiceEnabled = gitlab.Ptr(d.Get("external_authorization_service_enabled").(bool))
	}

	if d.HasChange("external_authorization_service_timeout") {
		gv := d.Get("external_authorization_service_timeout").(float64)
		options.ExternalAuthorizationServiceTimeout = &gv
	}

	if d.HasChange("external_authorization_service_url") {
		options.ExternalAuthorizationServiceURL = gitlab.Ptr(d.Get("external_authorization_service_url").(string))
	}

	if d.HasChange("external_pipeline_validation_service_url") {
		options.ExternalPipelineValidationServiceURL = gitlab.Ptr(d.Get("external_pipeline_validation_service_url").(string))
	}

	if d.HasChange("external_pipeline_validation_service_token") {
		options.ExternalPipelineValidationServiceToken = gitlab.Ptr(d.Get("external_pipeline_validation_service_token").(string))
	}

	if d.HasChange("external_pipeline_validation_service_timeout") {
		options.ExternalPipelineValidationServiceTimeout = gitlab.Ptr(d.Get("external_pipeline_validation_service_timeout").(int))
	}

	if d.HasChange("file_template_project_id") {
		options.FileTemplateProjectID = gitlab.Ptr(d.Get("file_template_project_id").(int))
	}

	if d.HasChange("first_day_of_week") {
		options.FirstDayOfWeek = gitlab.Ptr(d.Get("first_day_of_week").(int))
	}

	if d.HasChange("geo_node_allowed_ips") {
		options.GeoNodeAllowedIPs = gitlab.Ptr(d.Get("geo_node_allowed_ips").(string))
	}

	if d.HasChange("geo_status_timeout") {
		options.GeoStatusTimeout = gitlab.Ptr(d.Get("geo_status_timeout").(int))
	}

	if d.HasChange("git_two_factor_session_expiry") {
		options.GitTwoFactorSessionExpiry = gitlab.Ptr(d.Get("git_two_factor_session_expiry").(int))
	}

	if d.HasChange("gitaly_timeout_default") {
		options.GitalyTimeoutDefault = gitlab.Ptr(d.Get("gitaly_timeout_default").(int))
	}

	if d.HasChange("gitaly_timeout_fast") {
		options.GitalyTimeoutFast = gitlab.Ptr(d.Get("gitaly_timeout_fast").(int))
	}

	if d.HasChange("gitaly_timeout_medium") {
		options.GitalyTimeoutMedium = gitlab.Ptr(d.Get("gitaly_timeout_medium").(int))
	}

	if d.HasChange("grafana_enabled") {
		options.GrafanaEnabled = gitlab.Ptr(d.Get("grafana_enabled").(bool))
	}

	if d.HasChange("grafana_url") {
		options.GrafanaURL = gitlab.Ptr(d.Get("grafana_url").(string))
	}

	if d.HasChange("gravatar_enabled") {
		options.GravatarEnabled = gitlab.Ptr(d.Get("gravatar_enabled").(bool))
	}

	if d.HasChanges("group_owners_can_manage_default_branch_protection") {
		options.GroupOwnersCanManageDefaultBranchProtection = gitlab.Ptr(d.Get("group_owners_can_manage_default_branch_protection").(bool))
	}

	if d.HasChange("help_page_hide_commercial_content") {
		options.HelpPageHideCommercialContent = gitlab.Ptr(d.Get("help_page_hide_commercial_content").(bool))
	}

	if d.HasChange("help_page_support_url") {
		options.HelpPageSupportURL = gitlab.Ptr(d.Get("help_page_support_url").(string))
	}

	if d.HasChange("help_page_text") {
		options.HelpPageText = gitlab.Ptr(d.Get("help_page_text").(string))
	}

	if d.HasChange("help_text") {
		options.HelpText = gitlab.Ptr(d.Get("help_text").(string))
	}

	if d.HasChange("hide_third_party_offers") {
		options.HideThirdPartyOffers = gitlab.Ptr(d.Get("hide_third_party_offers").(bool))
	}

	if d.HasChange("home_page_url") {
		options.HomePageURL = gitlab.Ptr(d.Get("home_page_url").(string))
	}

	if d.HasChange("housekeeping_enabled") {
		options.HousekeepingEnabled = gitlab.Ptr(d.Get("housekeeping_enabled").(bool))
	}

	if d.HasChange("housekeeping_optimize_repository_period") {
		options.HousekeepingOptimizeRepositoryPeriod = gitlab.Ptr(d.Get("housekeeping_optimize_repository_period").(int))
	}

	if d.HasChange("html_emails_enabled") {
		options.HTMLEmailsEnabled = gitlab.Ptr(d.Get("html_emails_enabled").(bool))
	}

	if d.HasChange("import_sources") {
		options.ImportSources = stringListToStringSlice(d.Get("import_sources").([]any))
	}

	if d.HasChange("in_product_marketing_emails_enabled") {
		options.InProductMarketingEmailsEnabled = gitlab.Ptr(d.Get("in_product_marketing_emails_enabled").(bool))
	}

	if d.HasChange("inactive_projects_delete_after_months") {
		options.InactiveProjectsDeleteAfterMonths = gitlab.Ptr(d.Get("inactive_projects_delete_after_months").(int))
	}

	if d.HasChange("inactive_projects_min_size_mb") {
		options.InactiveProjectsMinSizeMB = gitlab.Ptr(d.Get("inactive_projects_min_size_mb").(int))
	}

	if d.HasChange("inactive_projects_send_warning_email_after_months") {
		options.InactiveProjectsSendWarningEmailAfterMonths = gitlab.Ptr(d.Get("inactive_projects_send_warning_email_after_months").(int))
	}

	if d.HasChange("invisible_captcha_enabled") {
		options.InvisibleCaptchaEnabled = gitlab.Ptr(d.Get("invisible_captcha_enabled").(bool))
	}

	if d.HasChange("issues_create_limit") {
		options.IssuesCreateLimit = gitlab.Ptr(d.Get("issues_create_limit").(int))
	}

	if d.HasChange("keep_latest_artifact") {
		options.KeepLatestArtifact = gitlab.Ptr(d.Get("keep_latest_artifact").(bool))
	}

	if d.HasChange("local_markdown_version") {
		options.LocalMarkdownVersion = gitlab.Ptr(d.Get("local_markdown_version").(int))
	}

	if d.HasChange("lock_memberships_to_ldap") {
		options.LockMembershipsToLDAP = gitlab.Ptr(d.Get("lock_memberships_to_ldap").(bool))
	}

	if d.HasChange("mailgun_signing_key") {
		options.MailgunSigningKey = gitlab.Ptr(d.Get("mailgun_signing_key").(string))
	}

	if d.HasChange("mailgun_events_enabled") {
		options.MailgunEventsEnabled = gitlab.Ptr(d.Get("mailgun_events_enabled").(bool))
	}

	if d.HasChange("maintenance_mode_message") {
		options.MaintenanceModeMessage = gitlab.Ptr(d.Get("maintenance_mode_message").(string))
	}

	if d.HasChange("maintenance_mode") {
		options.MaintenanceMode = gitlab.Ptr(d.Get("maintenance_mode").(bool))
	}

	if d.HasChange("max_artifacts_size") {
		options.MaxArtifactsSize = gitlab.Ptr(d.Get("max_artifacts_size").(int))
	}

	if d.HasChange("max_attachment_size") {
		options.MaxAttachmentSize = gitlab.Ptr(d.Get("max_attachment_size").(int))
	}

	if d.HasChange("max_export_size") {
		options.MaxExportSize = gitlab.Ptr(d.Get("max_export_size").(int))
	}

	if d.HasChange("max_import_size") {
		options.MaxImportSize = gitlab.Ptr(d.Get("max_import_size").(int))
	}

	if d.HasChange("max_pages_size") {
		options.MaxPagesSize = gitlab.Ptr(d.Get("max_pages_size").(int))
	}

	if d.HasChange("max_personal_access_token_lifetime") {
		options.MaxPersonalAccessTokenLifetime = gitlab.Ptr(d.Get("max_personal_access_token_lifetime").(int))
	}

	if d.HasChange("max_ssh_key_lifetime") {
		options.MaxSSHKeyLifetime = gitlab.Ptr(d.Get("max_ssh_key_lifetime").(int))
	}

	if d.HasChange("max_terraform_state_size_bytes") {
		options.MaxTerraformStateSizeBytes = gitlab.Ptr(d.Get("max_terraform_state_size_bytes").(int))
	}

	if d.HasChange("metrics_method_call_threshold") {
		options.MetricsMethodCallThreshold = gitlab.Ptr(d.Get("metrics_method_call_threshold").(int))
	}

	if d.HasChange("max_number_of_repository_downloads") {
		options.MaxNumberOfRepositoryDownloads = gitlab.Ptr(d.Get("max_number_of_repository_downloads").(int))
	}

	if d.HasChange("max_number_of_repository_downloads_within_time_period") {
		options.MaxNumberOfRepositoryDownloadsWithinTimePeriod = gitlab.Ptr(d.Get("max_number_of_repository_downloads_within_time_period").(int))
	}

	if d.HasChange("git_rate_limit_users_allowlist") {
		options.GitRateLimitUsersAllowlist = stringListToStringSlice(d.Get("git_rate_limit_users_allowlist").([]any))
	}

	if d.HasChange("mirror_available") {
		options.MirrorAvailable = gitlab.Ptr(d.Get("mirror_available").(bool))
	}

	if d.HasChange("mirror_capacity_threshold") {
		options.MirrorCapacityThreshold = gitlab.Ptr(d.Get("mirror_capacity_threshold").(int))
	}

	if d.HasChange("mirror_max_capacity") {
		options.MirrorMaxCapacity = gitlab.Ptr(d.Get("mirror_max_capacity").(int))
	}

	if d.HasChange("mirror_max_delay") {
		options.MirrorMaxDelay = gitlab.Ptr(d.Get("mirror_max_delay").(int))
	}

	if d.HasChange("npm_package_requests_forwarding") {
		options.NPMPackageRequestsForwarding = gitlab.Ptr(d.Get("npm_package_requests_forwarding").(bool))
	}

	if d.HasChange("pypi_package_requests_forwarding") {
		options.PyPIPackageRequestsForwarding = gitlab.Ptr(d.Get("pypi_package_requests_forwarding").(bool))
	}

	if d.HasChange("outbound_local_requests_whitelist") {
		options.OutboundLocalRequestsWhitelist = stringListToStringSlice(d.Get("outbound_local_requests_whitelist").([]any))
	}

	if d.HasChange("pages_domain_verification_enabled") {
		options.PagesDomainVerificationEnabled = gitlab.Ptr(d.Get("pages_domain_verification_enabled").(bool))
	}

	if d.HasChange("password_authentication_enabled_for_git") {
		options.PasswordAuthenticationEnabledForGit = gitlab.Ptr(d.Get("password_authentication_enabled_for_git").(bool))
	}

	if d.HasChange("password_authentication_enabled_for_web") {
		options.PasswordAuthenticationEnabledForWeb = gitlab.Ptr(d.Get("password_authentication_enabled_for_web").(bool))
	}

	if d.HasChange("minimum_password_length") {
		options.MinimumPasswordLength = gitlab.Ptr(d.Get("minimum_password_length").(int))
	}

	if d.HasChange("password_number_required") {
		options.PasswordNumberRequired = gitlab.Ptr(d.Get("password_number_required").(bool))
	}

	if d.HasChange("password_symbol_required") {
		options.PasswordSymbolRequired = gitlab.Ptr(d.Get("password_symbol_required").(bool))
	}

	if d.HasChange("password_uppercase_required") {
		options.PasswordUppercaseRequired = gitlab.Ptr(d.Get("password_uppercase_required").(bool))
	}

	if d.HasChange("password_lowercase_required") {
		options.PasswordLowercaseRequired = gitlab.Ptr(d.Get("password_lowercase_required").(bool))
	}

	if d.HasChange("performance_bar_allowed_group_path") {
		options.PerformanceBarAllowedGroupPath = gitlab.Ptr(d.Get("performance_bar_allowed_group_path").(string))
	}

	if d.HasChange("personal_access_token_prefix") {
		options.PersonalAccessTokenPrefix = gitlab.Ptr(d.Get("personal_access_token_prefix").(string))
	}

	if d.HasChange("pipeline_limit_per_project_user_sha") {
		options.PipelineLimitPerProjectUserSha = gitlab.Ptr(d.Get("pipeline_limit_per_project_user_sha").(int))
	}

	if d.HasChange("plantuml_enabled") {
		options.PlantumlEnabled = gitlab.Ptr(d.Get("plantuml_enabled").(bool))
	}

	if d.HasChange("plantuml_url") {
		options.PlantumlURL = gitlab.Ptr(d.Get("plantuml_url").(string))
	}

	if d.HasChange("polling_interval_multiplier") {
		gv := d.Get("polling_interval_multiplier").(float64)
		options.PollingIntervalMultiplier = &gv
	}

	if d.HasChange("project_export_enabled") {
		options.ProjectExportEnabled = gitlab.Ptr(d.Get("project_export_enabled").(bool))
	}

	if d.HasChange("project_jobs_api_rate_limit") {
		options.ProjectJobsAPIRateLimit = gitlab.Ptr(d.Get("project_jobs_api_rate_limit").(int))
	}

	if d.HasChange("projects_api_rate_limit_unauthenticated") {
		options.ProjectsAPIRateLimitUnauthenticated = gitlab.Ptr(d.Get("projects_api_rate_limit_unauthenticated").(int))
	}

	if d.HasChange("prometheus_metrics_enabled") {
		options.PrometheusMetricsEnabled = gitlab.Ptr(d.Get("prometheus_metrics_enabled").(bool))
	}

	if d.HasChange("protected_ci_variables") {
		options.ProtectedCIVariables = gitlab.Ptr(d.Get("protected_ci_variables").(bool))
	}

	if d.HasChange("push_event_activities_limit") {
		options.PushEventActivitiesLimit = gitlab.Ptr(d.Get("push_event_activities_limit").(int))
	}

	if d.HasChange("push_event_hooks_limit") {
		options.PushEventHooksLimit = gitlab.Ptr(d.Get("push_event_hooks_limit").(int))
	}

	if d.HasChange("rate_limiting_response_text") {
		options.RateLimitingResponseText = gitlab.Ptr(d.Get("rate_limiting_response_text").(string))
	}

	if d.HasChange("raw_blob_request_limit") {
		options.RawBlobRequestLimit = gitlab.Ptr(d.Get("raw_blob_request_limit").(int))
	}

	if d.HasChange("search_rate_limit") {
		options.SearchRateLimit = gitlab.Ptr(d.Get("search_rate_limit").(int))
	}

	if d.HasChange("search_rate_limit_unauthenticated") {
		options.SearchRateLimitUnauthenticated = gitlab.Ptr(d.Get("search_rate_limit_unauthenticated").(int))
	}

	if d.HasChange("recaptcha_enabled") {
		options.RecaptchaEnabled = gitlab.Ptr(d.Get("recaptcha_enabled").(bool))
	}

	if d.HasChange("recaptcha_private_key") {
		options.RecaptchaPrivateKey = gitlab.Ptr(d.Get("recaptcha_private_key").(string))
	}

	if d.HasChange("recaptcha_site_key") {
		options.RecaptchaSiteKey = gitlab.Ptr(d.Get("recaptcha_site_key").(string))
	}

	if d.HasChange("receive_max_input_size") {
		options.ReceiveMaxInputSize = gitlab.Ptr(d.Get("receive_max_input_size").(int))
	}

	if d.HasChange("receptive_cluster_agents_enabled") {
		options.ReceptiveClusterAgentsEnabled = gitlab.Ptr(d.Get("receptive_cluster_agents_enabled").(bool))
	}

	if d.HasChange("remember_me_enabled") {
		options.RememberMeEnabled = gitlab.Ptr(d.Get("remember_me_enabled").(bool))
	}

	if d.HasChange("repository_checks_enabled") {
		options.RepositoryChecksEnabled = gitlab.Ptr(d.Get("repository_checks_enabled").(bool))
	}

	if d.HasChange("repository_size_limit") {
		options.RepositorySizeLimit = gitlab.Ptr(d.Get("repository_size_limit").(int))
	}

	if d.HasChange("repository_storages_weighted") {
		gv := fromIntegerMap(d.Get("repository_storages_weighted"))
		options.RepositoryStoragesWeighted = &gv
	}

	if d.HasChange("require_admin_approval_after_user_signup") {
		options.RequireAdminApprovalAfterUserSignup = gitlab.Ptr(d.Get("require_admin_approval_after_user_signup").(bool))
	}

	if d.HasChange("require_admin_two_factor_authentication") {
		options.RequireAdminTwoFactorAuthentication = gitlab.Ptr(d.Get("require_admin_two_factor_authentication").(bool))
	}

	if d.HasChange("require_personal_access_token_expiry") {
		options.RequirePersonalAccessTokenExpiry = gitlab.Ptr(d.Get("require_personal_access_token_expiry").(bool))
	}

	if d.HasChange("require_two_factor_authentication") {
		options.RequireTwoFactorAuthentication = gitlab.Ptr(d.Get("require_two_factor_authentication").(bool))
	}

	if d.HasChange("restricted_visibility_levels") {
		options.RestrictedVisibilityLevels = stringListToVisibilityLevelSlice(d.Get("restricted_visibility_levels").([]any))
	}

	if d.HasChange("rsa_key_restriction") {
		options.RSAKeyRestriction = gitlab.Ptr(d.Get("rsa_key_restriction").(int))
	}

	if d.HasChange("security_approval_policies_limit") {
		options.SecurityApprovalPoliciesLimit = gitlab.Ptr(d.Get("security_approval_policies_limit").(int))
	}

	if d.HasChange("security_policy_global_group_approvers_enabled") {
		options.SecurityPolicyGlobalGroupApproversEnabled = gitlab.Ptr(d.Get("security_policy_global_group_approvers_enabled").(bool))
	}

	if d.HasChange("security_txt_content") {
		options.SecurityTXTContent = gitlab.Ptr(d.Get("security_txt_content").(string))
	}

	if d.HasChange("send_user_confirmation_email") {
		options.SendUserConfirmationEmail = gitlab.Ptr(d.Get("send_user_confirmation_email").(bool))
	}

	if d.HasChange("service_access_tokens_expiration_enforced") {
		options.ServiceAccessTokensExpirationEnforced = gitlab.Ptr(d.Get("service_access_tokens_expiration_enforced").(bool))
	}

	if d.HasChange("session_expire_delay") {
		options.SessionExpireDelay = gitlab.Ptr(d.Get("session_expire_delay").(int))
	}

	if d.HasChange("shared_runners_enabled") {
		options.SharedRunnersEnabled = gitlab.Ptr(d.Get("shared_runners_enabled").(bool))
	}

	if d.HasChange("shared_runners_minutes") {
		options.SharedRunnersMinutes = gitlab.Ptr(d.Get("shared_runners_minutes").(int))
	}

	if d.HasChange("shared_runners_text") {
		options.SharedRunnersText = gitlab.Ptr(d.Get("shared_runners_text").(string))
	}

	if d.HasChange("sidekiq_job_limiter_mode") {
		options.SidekiqJobLimiterMode = gitlab.Ptr(d.Get("sidekiq_job_limiter_mode").(string))
	}

	if d.HasChange("sidekiq_job_limiter_compression_threshold_bytes") {
		options.SidekiqJobLimiterCompressionThresholdBytes = gitlab.Ptr(d.Get("sidekiq_job_limiter_compression_threshold_bytes").(int))
	}

	if d.HasChange("sidekiq_job_limiter_limit_bytes") {
		options.SidekiqJobLimiterLimitBytes = gitlab.Ptr(d.Get("sidekiq_job_limiter_limit_bytes").(int))
	}

	if d.HasChange("sign_in_text") {
		options.SignInText = gitlab.Ptr(d.Get("sign_in_text").(string))
	}

	if d.HasChange("signup_enabled") {
		options.SignupEnabled = gitlab.Ptr(d.Get("signup_enabled").(bool))
	}

	if d.HasChange("silent_admin_exports_enabled") {
		options.SilentAdminExportsEnabled = gitlab.Ptr(d.Get("silent_admin_exports_enabled").(bool))
	}

	if d.HasChange("silent_mode_enabled") {
		options.SilentModeEnabled = gitlab.Ptr(d.Get("silent_mode_enabled").(bool))
	}

	if d.HasChange("slack_app_enabled") {
		options.SlackAppEnabled = gitlab.Ptr(d.Get("slack_app_enabled").(bool))
	}

	if d.HasChange("slack_app_id") {
		options.SlackAppID = gitlab.Ptr(d.Get("slack_app_id").(string))
	}

	if d.HasChange("slack_app_secret") {
		options.SlackAppSecret = gitlab.Ptr(d.Get("slack_app_secret").(string))
	}

	if d.HasChange("slack_app_signing_secret") {
		options.SlackAppSigningSecret = gitlab.Ptr(d.Get("slack_app_signing_secret").(string))
	}

	if d.HasChange("slack_app_verification_token") {
		options.SlackAppVerificationToken = gitlab.Ptr(d.Get("slack_app_verification_token").(string))
	}

	if d.HasChange("snippet_size_limit") {
		options.SnippetSizeLimit = gitlab.Ptr(d.Get("snippet_size_limit").(int))
	}

	if d.HasChange("snowplow_app_id") {
		options.SnowplowAppID = gitlab.Ptr(d.Get("snowplow_app_id").(string))
	}

	if d.HasChange("snowplow_collector_hostname") {
		options.SnowplowCollectorHostname = gitlab.Ptr(d.Get("snowplow_collector_hostname").(string))
	}

	if d.HasChange("snowplow_cookie_domain") {
		options.SnowplowCookieDomain = gitlab.Ptr(d.Get("snowplow_cookie_domain").(string))
	}

	if d.HasChange("snowplow_database_collector_hostname") {
		options.SnowplowDatabaseCollectorHostname = gitlab.Ptr(d.Get("snowplow_database_collector_hostname").(string))
	}

	if d.HasChange("snowplow_enabled") {
		options.SnowplowEnabled = gitlab.Ptr(d.Get("snowplow_enabled").(bool))
	}

	if d.HasChange("sourcegraph_enabled") {
		options.SourcegraphEnabled = gitlab.Ptr(d.Get("sourcegraph_enabled").(bool))
	}

	if d.HasChange("sourcegraph_public_only") {
		options.SourcegraphPublicOnly = gitlab.Ptr(d.Get("sourcegraph_public_only").(bool))
	}

	if d.HasChange("sourcegraph_url") {
		options.SourcegraphURL = gitlab.Ptr(d.Get("sourcegraph_url").(string))
	}

	if d.HasChange("spam_check_endpoint_enabled") {
		options.SpamCheckEndpointEnabled = gitlab.Ptr(d.Get("spam_check_endpoint_enabled").(bool))
	}

	if d.HasChange("spam_check_endpoint_url") {
		options.SpamCheckEndpointURL = gitlab.Ptr(d.Get("spam_check_endpoint_url").(string))
	}

	if d.HasChange("spam_check_api_key") {
		options.SpamCheckAPIKey = gitlab.Ptr(d.Get("spam_check_api_key").(string))
	}

	if d.HasChange("static_objects_external_storage_auth_token") {
		options.StaticObjectsExternalStorageAuthToken = gitlab.Ptr(d.Get("static_objects_external_storage_auth_token").(string))
	}

	if d.HasChange("static_objects_external_storage_url") {
		options.StaticObjectsExternalStorageURL = gitlab.Ptr(d.Get("static_objects_external_storage_url").(string))
	}

	if d.HasChange("suggest_pipeline_enabled") {
		options.SuggestPipelineEnabled = gitlab.Ptr(d.Get("suggest_pipeline_enabled").(bool))
	}

	if d.HasChange("terminal_max_session_time") {
		options.TerminalMaxSessionTime = gitlab.Ptr(d.Get("terminal_max_session_time").(int))
	}

	if d.HasChange("terms") {
		options.Terms = gitlab.Ptr(d.Get("terms").(string))
	}

	if d.HasChange("throttle_authenticated_api_enabled") {
		options.ThrottleAuthenticatedAPIEnabled = gitlab.Ptr(d.Get("throttle_authenticated_api_enabled").(bool))
	}

	if d.HasChange("throttle_authenticated_api_period_in_seconds") {
		options.ThrottleAuthenticatedAPIPeriodInSeconds = gitlab.Ptr(d.Get("throttle_authenticated_api_period_in_seconds").(int))
	}

	if d.HasChange("throttle_authenticated_api_requests_per_period") {
		options.ThrottleAuthenticatedAPIRequestsPerPeriod = gitlab.Ptr(d.Get("throttle_authenticated_api_requests_per_period").(int))
	}

	if d.HasChange("throttle_authenticated_packages_api_enabled") {
		options.ThrottleAuthenticatedPackagesAPIEnabled = gitlab.Ptr(d.Get("throttle_authenticated_packages_api_enabled").(bool))
	}

	if d.HasChange("throttle_authenticated_packages_api_period_in_seconds") {
		options.ThrottleAuthenticatedPackagesAPIPeriodInSeconds = gitlab.Ptr(d.Get("throttle_authenticated_packages_api_period_in_seconds").(int))
	}

	if d.HasChange("throttle_authenticated_packages_api_requests_per_period") {
		options.ThrottleAuthenticatedPackagesAPIRequestsPerPeriod = gitlab.Ptr(d.Get("throttle_authenticated_packages_api_requests_per_period").(int))
	}

	if d.HasChange("throttle_authenticated_web_enabled") {
		options.ThrottleAuthenticatedWebEnabled = gitlab.Ptr(d.Get("throttle_authenticated_web_enabled").(bool))
	}

	if d.HasChange("throttle_authenticated_web_period_in_seconds") {
		options.ThrottleAuthenticatedWebPeriodInSeconds = gitlab.Ptr(d.Get("throttle_authenticated_web_period_in_seconds").(int))
	}

	if d.HasChange("throttle_authenticated_web_requests_per_period") {
		options.ThrottleAuthenticatedWebRequestsPerPeriod = gitlab.Ptr(d.Get("throttle_authenticated_web_requests_per_period").(int))
	}

	if d.HasChange("throttle_unauthenticated_api_enabled") {
		options.ThrottleUnauthenticatedAPIEnabled = gitlab.Ptr(d.Get("throttle_unauthenticated_api_enabled").(bool))
	}

	if d.HasChange("throttle_unauthenticated_api_period_in_seconds") {
		options.ThrottleUnauthenticatedAPIPeriodInSeconds = gitlab.Ptr(d.Get("throttle_unauthenticated_api_period_in_seconds").(int))
	}

	if d.HasChange("throttle_unauthenticated_api_requests_per_period") {
		options.ThrottleUnauthenticatedAPIRequestsPerPeriod = gitlab.Ptr(d.Get("throttle_unauthenticated_api_requests_per_period").(int))
	}

	if d.HasChange("throttle_unauthenticated_packages_api_enabled") {
		options.ThrottleUnauthenticatedPackagesAPIEnabled = gitlab.Ptr(d.Get("throttle_unauthenticated_packages_api_enabled").(bool))
	}

	if d.HasChange("throttle_unauthenticated_packages_api_period_in_seconds") {
		options.ThrottleUnauthenticatedPackagesAPIPeriodInSeconds = gitlab.Ptr(d.Get("throttle_unauthenticated_packages_api_period_in_seconds").(int))
	}

	if d.HasChange("throttle_unauthenticated_packages_api_requests_per_period") {
		options.ThrottleUnauthenticatedPackagesAPIRequestsPerPeriod = gitlab.Ptr(d.Get("throttle_unauthenticated_packages_api_requests_per_period").(int))
	}

	if d.HasChange("throttle_unauthenticated_web_enabled") {
		options.ThrottleUnauthenticatedWebEnabled = gitlab.Ptr(d.Get("throttle_unauthenticated_web_enabled").(bool))
	}

	if d.HasChange("throttle_unauthenticated_web_period_in_seconds") {
		options.ThrottleUnauthenticatedWebPeriodInSeconds = gitlab.Ptr(d.Get("throttle_unauthenticated_web_period_in_seconds").(int))
	}

	if d.HasChange("throttle_unauthenticated_web_requests_per_period") {
		options.ThrottleUnauthenticatedWebRequestsPerPeriod = gitlab.Ptr(d.Get("throttle_unauthenticated_web_requests_per_period").(int))
	}

	if d.HasChange("time_tracking_limit_to_hours") {
		options.TimeTrackingLimitToHours = gitlab.Ptr(d.Get("time_tracking_limit_to_hours").(bool))
	}

	if d.HasChange("two_factor_grace_period") {
		options.TwoFactorGracePeriod = gitlab.Ptr(d.Get("two_factor_grace_period").(int))
	}

	if d.HasChange("unconfirmed_users_delete_after_days") {
		options.UnconfirmedUsersDeleteAfterDays = gitlab.Ptr(d.Get("unconfirmed_users_delete_after_days").(int))
	}

	if d.HasChange("unique_ips_limit_enabled") {
		options.UniqueIPsLimitEnabled = gitlab.Ptr(d.Get("unique_ips_limit_enabled").(bool))
	}

	if d.HasChange("unique_ips_limit_per_user") {
		options.UniqueIPsLimitPerUser = gitlab.Ptr(d.Get("unique_ips_limit_per_user").(int))
	}

	if d.HasChange("unique_ips_limit_time_window") {
		options.UniqueIPsLimitTimeWindow = gitlab.Ptr(d.Get("unique_ips_limit_time_window").(int))
	}

	if d.HasChange("update_runner_versions_enabled") {
		options.UpdateRunnerVersionsEnabled = gitlab.Ptr(d.Get("update_runner_versions_enabled").(bool))
	}

	if d.HasChange("usage_ping_enabled") {
		options.UsagePingEnabled = gitlab.Ptr(d.Get("usage_ping_enabled").(bool))
	}

	if d.HasChange("use_clickhouse_for_analytics") {
		options.UseClickhouseForAnalytics = gitlab.Ptr(d.Get("use_clickhouse_for_analytics").(bool))
	}

	if d.HasChange("user_deactivation_emails_enabled") {
		options.UserDeactivationEmailsEnabled = gitlab.Ptr(d.Get("user_deactivation_emails_enabled").(bool))
	}

	if d.HasChange("user_default_external") {
		options.UserDefaultExternal = gitlab.Ptr(d.Get("user_default_external").(bool))
	}

	if d.HasChange("user_default_internal_regex") {
		options.UserDefaultInternalRegex = gitlab.Ptr(d.Get("user_default_internal_regex").(string))
	}

	if d.HasChange("user_defaults_to_private_profile") {
		options.UserDefaultsToPrivateProfile = gitlab.Ptr(d.Get("user_defaults_to_private_profile").(bool))
	}

	if d.HasChange("user_oauth_applications") {
		options.UserOauthApplications = gitlab.Ptr(d.Get("user_oauth_applications").(bool))
	}

	if d.HasChange("user_show_add_ssh_key_message") {
		options.UserShowAddSSHKeyMessage = gitlab.Ptr(d.Get("user_show_add_ssh_key_message").(bool))
	}

	if d.HasChange("valid_runner_registrars") {
		v := d.Get("valid_runner_registrars").([]any)
		registrars := make([]string, len(v))
		for i, reg := range v {
			registrars[i] = reg.(string)
		}
		options.ValidRunnerRegistrars = &registrars
	}

	if d.HasChange("version_check_enabled") {
		options.VersionCheckEnabled = gitlab.Ptr(d.Get("version_check_enabled").(bool))
	}

	if d.HasChange("whats_new_variant") {
		options.WhatsNewVariant = gitlab.Ptr(d.Get("whats_new_variant").(string))
	}

	if d.HasChange("web_ide_clientside_preview_enabled") {
		options.WebIDEClientsidePreviewEnabled = gitlab.Ptr(d.Get("web_ide_clientside_preview_enabled").(bool))
	}

	if d.HasChange("wiki_page_max_content_bytes") {
		options.WikiPageMaxContentBytes = gitlab.Ptr(d.Get("wiki_page_max_content_bytes").(int))
	}
	return &options
}