func()

in teamcity/role.go [42:151]


func (r *roleResource) Schema(_ context.Context, _ resource.SchemaRequest, resp *resource.SchemaResponse) {
	resp.Schema = schema.Schema{
		Description: "A role is a set of permissions that can be granted to a user in one or all projects thus controlling access to the projects and various features. More details [here](https://www.jetbrains.com/help/teamcity/managing-roles-and-permissions.html#Managing+Roles)",
		Attributes: map[string]schema.Attribute{
			"name": schema.StringAttribute{
				Required: true,
				PlanModifiers: []planmodifier.String{
					stringplanmodifier.RequiresReplace(),
				},
			},
			"id": schema.StringAttribute{
				Computed: true,
				PlanModifiers: []planmodifier.String{
					stringplanmodifier.UseStateForUnknown(),
				},
			},
			"included": schema.SetAttribute{
				ElementType: types.StringType,
				Optional:    true,
			},
			"permissions": schema.SetAttribute{
				ElementType: types.StringType,
				Optional:    true,
				Validators: []validator.Set{
					setvalidator.ValueStringsAre(stringvalidator.OneOf([]string{
						"administer_agent",
						"administer_agent_for_project",
						"archive_project",
						"assign_investigation",
						"assign_users_add_subgroups",
						"authorize_agent",
						"authorize_agent_for_project",
						"backup",
						"cancel_any_personal_build",
						"cancel_build",
						"change_agent_run_configuration_policy",
						"change_agent_run_configuration_policy_for_project",
						"change_cleanup_rules",
						"change_https_settings",
						//"change_own_profile",
						"change_server_settings",
						"change_user",
						"change_user_notifications",
						"change_user_notifications_in_project",
						"change_user_roles_in_project",
						"change_usergroup",
						"change_vcs_username_in_project",
						"clean_agent_sources",
						"clean_build_configuration_sources",
						"comment_build",
						"configure_server_data_cleanup",
						"connect_to_agent",
						"create_delete_vcs_root",
						"create_sub_project",
						"create_user",
						"create_usergroup",
						"customize_build_parameters",
						"customize_build_revisions",
						"delete_sub_project",
						"delete_user",
						"delete_usergroup",
						"edit_enforced_settings",
						"edit_project",
						"edit_vcs_modification",
						"edit_versioned_settings",
						"enable_disable_agent",
						"enable_disable_agent_for_project",
						"import_projects",
						"label_build",
						"manage_agent_clouds",
						"manage_agent_pools",
						"manage_agent_pools_for_project",
						//"manage_authentication_settings",
						"manage_build_problem_instances",
						"manage_build_problems",
						//"manage_custom_ssl_certificates",
						"manage_experimental_features",
						"manage_roles",
						//"manage_server_installation",
						"manage_server_licenses",
						"patch_build_sources",
						"pause_activate_build_configuration",
						"pin_unpin_build",
						"remove_agent",
						"remove_agent_for_project",
						"remove_build",
						"reorder_build_queue",
						"run_build",
						"start_stop_cloud_agent",
						"tag_build",
						"view_agent_clouds",
						"view_agent_details",
						"view_agent_details_for_project",
						"view_agent_usage_statistics",
						"view_all_users",
						"view_audit_log",
						"view_build_configuration_settings",
						"view_build_runtime_data",
						"view_file_content",
						"view_project",
						"view_server_errors",
						//"view_server_settings",
						"view_usage_statistics",
						"view_user_profile",
					}...)),
				},
			},
		},
	}
}