func()

in internal/provider/datasource_gitlab_group_provisioned_users.go [80:225]


func (d *gitlabGroupProvisionedUsersDataSource) Schema(_ context.Context, _ datasource.SchemaRequest, resp *datasource.SchemaResponse) {
	resp.Schema = schema.Schema{
		MarkdownDescription: `The ` + "`gitlab_group_provisioned_users`" + ` data source allows details of the provisioned users of a given group.

**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/groups/#list-provisioned-users)`,
		Attributes: map[string]schema.Attribute{
			"id": schema.StringAttribute{
				MarkdownDescription: "The ID or URL-encoded path of the group.",
				Required:            true,
			},
			"username": schema.StringAttribute{
				MarkdownDescription: "The username of the provisioned user.",
				Optional:            true,
			},
			"search": schema.StringAttribute{
				MarkdownDescription: "The search query to filter the provisioned users.",
				Optional:            true,
			},
			"active": schema.BoolAttribute{
				MarkdownDescription: "Return only active provisioned users.",
				Optional:            true,
			},
			"blocked": schema.BoolAttribute{
				MarkdownDescription: "Return only blocked provisioned users.",
				Optional:            true,
			},
			"created_after": schema.StringAttribute{
				MarkdownDescription: "Return only provisioned users created on or after the specified date. Expected in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).",
				Optional:            true,
			},
			"created_before": schema.StringAttribute{
				MarkdownDescription: "Return only provisioned users created on or before the specified date. Expected in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).",
				Optional:            true,
			},
		},
		Blocks: map[string]schema.Block{
			"provisioned_users": schema.ListNestedBlock{
				MarkdownDescription: "The list of provisioned users.",
				NestedObject: schema.NestedBlockObject{
					Attributes: map[string]schema.Attribute{
						"id": schema.StringAttribute{
							MarkdownDescription: "The ID of the provisioned user.",
							Computed:            true,
						},
						"name": schema.StringAttribute{
							MarkdownDescription: "The name of the provisioned user.",
							Computed:            true,
						},
						"username": schema.StringAttribute{
							MarkdownDescription: "The username of the provisioned user.",
							Computed:            true,
						},
						"state": schema.StringAttribute{
							MarkdownDescription: "The state of the provisioned user.",
							Computed:            true,
						},
						"avatar_url": schema.StringAttribute{
							MarkdownDescription: "The avatar URL of the provisioned user.",
							Computed:            true,
						},
						"web_url": schema.StringAttribute{
							MarkdownDescription: "The web URL of the provisioned user.",
							Computed:            true,
						},
						"created_at": schema.StringAttribute{
							MarkdownDescription: "The creation date of the provisioned user.",
							Computed:            true,
						},
						"bio": schema.StringAttribute{
							MarkdownDescription: "The bio of the provisioned user.",
							Computed:            true,
						},
						"location": schema.StringAttribute{
							MarkdownDescription: "The location of the provisioned user.",
							Computed:            true,
						},
						"public_email": schema.StringAttribute{
							MarkdownDescription: "The public email of the provisioned user.",
							Computed:            true,
						},
						"skype": schema.StringAttribute{
							MarkdownDescription: "The Skype ID of the provisioned user.",
							Computed:            true,
						},
						"linkedin": schema.StringAttribute{
							MarkdownDescription: "The LinkedIn ID of the provisioned user.",
							Computed:            true,
						},
						"twitter": schema.StringAttribute{
							MarkdownDescription: "The Twitter ID of the provisioned user.",
							Computed:            true,
						},
						"website_url": schema.StringAttribute{
							MarkdownDescription: "The website URL of the provisioned user.",
							Computed:            true,
						},
						"organization": schema.StringAttribute{
							MarkdownDescription: "The organization of the provisioned user.",
							Computed:            true,
						},
						"job_title": schema.StringAttribute{
							MarkdownDescription: "The job title of the provisioned user.",
							Computed:            true,
						},
						"pronouns": schema.StringAttribute{
							MarkdownDescription: "The pronouns of the provisioned user.",
							Computed:            true,
						},
						"bot": schema.BoolAttribute{
							MarkdownDescription: "Whether the provisioned user is a bot.",
							Computed:            true,
						},
						"last_sign_in_at": schema.StringAttribute{
							MarkdownDescription: "The last sign-in date of the provisioned user.",
							Computed:            true,
						},
						"confirmed_at": schema.StringAttribute{
							MarkdownDescription: "The confirmation date of the provisioned user.",
							Computed:            true,
						},
						"last_activity_on": schema.StringAttribute{
							MarkdownDescription: "The last activity date of the provisioned user.",
							Computed:            true,
						},
						"email": schema.StringAttribute{
							MarkdownDescription: "The email of the provisioned user.",
							Computed:            true,
						},
						"two_factor_enabled": schema.BoolAttribute{
							MarkdownDescription: "Whether two-factor authentication is enabled for the provisioned user.",
							Computed:            true,
						},
						"external": schema.BoolAttribute{
							MarkdownDescription: "Whether the provisioned user is external.",
							Computed:            true,
						},
						"private_profile": schema.BoolAttribute{
							MarkdownDescription: "Whether the provisioned user has a private profile.",
							Computed:            true,
						},
					},
				},
			},
		},
	}
}