provider

package
v1.5.6 Latest Latest
Warning

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

Go to latest
Published: Jun 5, 2024 License: MIT Imports: 39 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ComputedAssignmentSchema = schema.ListNestedAttribute{
	Computed: true,
	NestedObject: schema.NestedAttributeObject{
		Attributes: map[string]schema.Attribute{
			"name": schema.StringAttribute{
				Computed: true,
			},
			"permission": schema.StringAttribute{
				Computed: true,
			},
		},
	},
}

Functions

func AssignmentSchema

func AssignmentSchema(permissions ...string) schema.ListNestedBlock

func ConfigureDataSource

func ConfigureDataSource(receiver ConfigurableReceiver, ctx context.Context, request datasource.ConfigureRequest, response *datasource.ConfigureResponse)

func ConfigureResource

func ConfigureResource(receiver ConfigurableReceiver, ctx context.Context, request resource.ConfigureRequest, response *resource.ConfigureResponse)

func CreateAttestation

func CreateAttestation(permissions *bitbucket.ObjectPermission, availablePermissions []string) (map[string][]string, map[string][]string)

func New

func New(Version string) func() provider.Provider

func NewProjectBranchRestrictionsResource

func NewProjectBranchRestrictionsResource() resource.Resource

func NewProjectMergeChecksResource

func NewProjectMergeChecksResource() resource.Resource

func NewProjectPermissionsDataSource

func NewProjectPermissionsDataSource() datasource.DataSource

func NewProjectPermissionsResource

func NewProjectPermissionsResource() resource.Resource

func NewProjectResource

func NewProjectResource() resource.Resource

func NewRepositoryBranchRestrictionsResource

func NewRepositoryBranchRestrictionsResource() resource.Resource

func NewRepositoryMergeChecksResource

func NewRepositoryMergeChecksResource() resource.Resource

func NewRepositoryPermissionsDataSource

func NewRepositoryPermissionsDataSource() datasource.DataSource

func NewRepositoryPermissionsResource

func NewRepositoryPermissionsResource() resource.Resource

func NewRepositoryResource

func NewRepositoryResource() resource.Resource

func RemoveAssignment

func RemoveAssignment(ctx context.Context,
	assignedPermissions *bitbucket.ObjectPermission, assignmentOrder AssignmentOrder,
	updateUserPermission UpdateUserPermissionFunc,
	updateGroupPermission UpdateGroupPermissionFunc) diag.Diagnostics

Types

type Assignment

type Assignment struct {
	Users      []string `tfsdk:"users"`
	Groups     []string `tfsdk:"groups"`
	Permission string   `tfsdk:"permission"`
	Priority   int64    `tfsdk:"priority"`
}

type AssignmentOrder

type AssignmentOrder struct {
	Users      map[string]string
	UserNames  []string
	Groups     map[string]string
	GroupNames []string
}

type AssignmentResult

type AssignmentResult struct {
	ComputedUsers  types.List
	ComputedGroups types.List
}

func ApplyNewAssignmentSet

func ApplyNewAssignmentSet(ctx context.Context, userService *bitbucket.UserService,
	assignmentOrder AssignmentOrder,
	updateUserPermission UpdateUserPermissionFunc,
	updateGroupPermission UpdateGroupPermissionFunc) (*AssignmentResult, diag.Diagnostics)

func ComputeAssignment

func ComputeAssignment(ctx context.Context,
	assignedPermissions *bitbucket.ObjectPermission, assignmentOrder AssignmentOrder) (*AssignmentResult, diag.Diagnostics)

func UpdateAssignment

func UpdateAssignment(ctx context.Context, userService *bitbucket.UserService,
	inStateAssignmentOrder AssignmentOrder,
	plannedAssignmentOrder AssignmentOrder,
	forceUpdate bool,
	updateUserPermission UpdateUserPermissionFunc,
	updateGroupPermission UpdateGroupPermissionFunc) (*AssignmentResult, diag.Diagnostics)

type Assignments

type Assignments []Assignment

func (Assignments) CreateAssignmentOrder

func (assignments Assignments) CreateAssignmentOrder(ctx context.Context) (*AssignmentOrder, diag.Diagnostics)

type Author

type Author struct {
	Name  types.String `tfsdk:"name"`
	Email types.String `tfsdk:"email"`
}

type BitbucketProvider

type BitbucketProvider struct {
	Version string
}

func (*BitbucketProvider) Configure

func (*BitbucketProvider) DataSources

func (p *BitbucketProvider) DataSources(ctx context.Context) []func() datasource.DataSource

func (*BitbucketProvider) Metadata

func (p *BitbucketProvider) Metadata(ctx context.Context, request provider.MetadataRequest, response *provider.MetadataResponse)

func (*BitbucketProvider) Resources

func (p *BitbucketProvider) Resources(ctx context.Context) []func() resource.Resource

func (*BitbucketProvider) Schema

func (p *BitbucketProvider) Schema(ctx context.Context, request provider.SchemaRequest, response *provider.SchemaResponse)

type BitbucketProviderConfig

type BitbucketProviderConfig struct {
	Bitbucket EndPoint `tfsdk:"bitbucket"`
	Author    Author   `tfsdk:"author"`
}

type BitbucketProviderData

type BitbucketProviderData struct {
	// contains filtered or unexported fields
}

type ComputedAssignment

type ComputedAssignment struct {
	Name       string `tfsdk:"name"`
	Permission string `tfsdk:"permission"`
}

type ConfigurableReceiver

type ConfigurableReceiver interface {
	// contains filtered or unexported methods
}

type EndPoint

type EndPoint struct {
	EndPoint types.String `tfsdk:"endpoint"`
	Username types.String `tfsdk:"username"`
	Password types.String `tfsdk:"password"`
	Token    types.String `tfsdk:"token"`
}

type ProjectBranchRestrictions

type ProjectBranchRestrictions struct {
	ID     types.Int64 `tfsdk:"id"`
	Type   string      `tfsdk:"type"`
	Users  []string    `tfsdk:"users"`
	Groups []string    `tfsdk:"groups"`
}

type ProjectBranchRestrictionsModel

type ProjectBranchRestrictionsModel struct {
	Project      string                      `tfsdk:"project"`
	Branch       string                      `tfsdk:"branch"`
	Restrictions []ProjectBranchRestrictions `tfsdk:"restriction"`
}

type ProjectBranchRestrictionsResource

type ProjectBranchRestrictionsResource struct {
	// contains filtered or unexported fields
}

func (*ProjectBranchRestrictionsResource) Configure

func (*ProjectBranchRestrictionsResource) Create

func (*ProjectBranchRestrictionsResource) Delete

func (*ProjectBranchRestrictionsResource) Metadata

func (*ProjectBranchRestrictionsResource) Read

func (*ProjectBranchRestrictionsResource) Schema

func (*ProjectBranchRestrictionsResource) Update

type ProjectMergeChecksModel

type ProjectMergeChecksModel struct {
	Project                string      `tfsdk:"project"`
	AllReviewerApproval    types.Bool  `tfsdk:"all_reviewer_approval"`
	MinimumApproval        types.Int64 `tfsdk:"minimum_approvals"`
	MinimumSuccessfulBuild types.Int64 `tfsdk:"minimum_successful_builds"`
}

type ProjectMergeChecksResource

type ProjectMergeChecksResource struct {
	// contains filtered or unexported fields
}

func (*ProjectMergeChecksResource) Configure

func (receiver *ProjectMergeChecksResource) Configure(ctx context.Context, request resource.ConfigureRequest, response *resource.ConfigureResponse)

func (*ProjectMergeChecksResource) Create

func (receiver *ProjectMergeChecksResource) Create(ctx context.Context, request resource.CreateRequest, response *resource.CreateResponse)

func (*ProjectMergeChecksResource) Delete

func (receiver *ProjectMergeChecksResource) Delete(ctx context.Context, request resource.DeleteRequest, response *resource.DeleteResponse)

func (*ProjectMergeChecksResource) Metadata

func (receiver *ProjectMergeChecksResource) Metadata(ctx context.Context, request resource.MetadataRequest, response *resource.MetadataResponse)

func (*ProjectMergeChecksResource) Read

func (receiver *ProjectMergeChecksResource) Read(ctx context.Context, request resource.ReadRequest, response *resource.ReadResponse)

func (*ProjectMergeChecksResource) Schema

func (receiver *ProjectMergeChecksResource) Schema(ctx context.Context, request resource.SchemaRequest, response *resource.SchemaResponse)

func (*ProjectMergeChecksResource) Update

func (receiver *ProjectMergeChecksResource) Update(ctx context.Context, request resource.UpdateRequest, response *resource.UpdateResponse)

type ProjectModel

type ProjectModel struct {
	RetainOnDelete    types.Bool   `tfsdk:"retain_on_delete"`
	ID                types.Int64  `tfsdk:"id"`
	Key               types.String `tfsdk:"key"`
	Name              types.String `tfsdk:"name"`
	Description       types.String `tfsdk:"description"`
	AssignmentVersion types.String `tfsdk:"assignment_version"`
	Assignments       types.List   `tfsdk:"assignments"`
	ComputedUsers     types.List   `tfsdk:"computed_users"`
	ComputedGroups    types.List   `tfsdk:"computed_groups"`
}

func NewProjectModel

func NewProjectModel(plan ProjectModel, project *bitbucket.Project, assignmentResult *AssignmentResult) *ProjectModel

type ProjectPermissionInterface

type ProjectPermissionInterface interface {
	// contains filtered or unexported methods
}

type ProjectPermissionsData

type ProjectPermissionsData struct {
	Key    string              `tfsdk:"key"`
	Users  map[string][]string `tfsdk:"users"`
	Groups map[string][]string `tfsdk:"groups"`
}

type ProjectPermissionsDataSource

type ProjectPermissionsDataSource struct {
	// contains filtered or unexported fields
}

func (*ProjectPermissionsDataSource) Configure

func (*ProjectPermissionsDataSource) Metadata

func (*ProjectPermissionsDataSource) Read

func (*ProjectPermissionsDataSource) Schema

type ProjectPermissionsModel

type ProjectPermissionsModel struct {
	RetainOnDelete    types.Bool   `tfsdk:"retain_on_delete"`
	Key               types.String `tfsdk:"key"`
	AssignmentVersion types.String `tfsdk:"assignment_version"`
	Assignments       types.List   `tfsdk:"assignments"`
	ComputedUsers     types.List   `tfsdk:"computed_users"`
	ComputedGroups    types.List   `tfsdk:"computed_groups"`
}

func NewProjectPermissionsModel

func NewProjectPermissionsModel(plan ProjectPermissionsModel, assignmentResult *AssignmentResult) *ProjectPermissionsModel

type ProjectPermissionsReceiver

type ProjectPermissionsReceiver interface {
	// contains filtered or unexported methods
}

type ProjectPermissionsResource

type ProjectPermissionsResource struct {
	// contains filtered or unexported fields
}

func (*ProjectPermissionsResource) Configure

func (receiver *ProjectPermissionsResource) Configure(ctx context.Context, request resource.ConfigureRequest, response *resource.ConfigureResponse)

func (*ProjectPermissionsResource) Create

func (receiver *ProjectPermissionsResource) Create(ctx context.Context, request resource.CreateRequest, response *resource.CreateResponse)

func (*ProjectPermissionsResource) Delete

func (receiver *ProjectPermissionsResource) Delete(ctx context.Context, request resource.DeleteRequest, response *resource.DeleteResponse)

func (*ProjectPermissionsResource) ImportState

func (receiver *ProjectPermissionsResource) ImportState(ctx context.Context, request resource.ImportStateRequest, response *resource.ImportStateResponse)

func (*ProjectPermissionsResource) Metadata

func (receiver *ProjectPermissionsResource) Metadata(ctx context.Context, request resource.MetadataRequest, response *resource.MetadataResponse)

func (*ProjectPermissionsResource) Read

func (receiver *ProjectPermissionsResource) Read(ctx context.Context, request resource.ReadRequest, response *resource.ReadResponse)

func (*ProjectPermissionsResource) Schema

func (receiver *ProjectPermissionsResource) Schema(ctx context.Context, request resource.SchemaRequest, response *resource.SchemaResponse)

func (*ProjectPermissionsResource) Update

func (receiver *ProjectPermissionsResource) Update(ctx context.Context, request resource.UpdateRequest, response *resource.UpdateResponse)

type ProjectResource

type ProjectResource struct {
	// contains filtered or unexported fields
}

func (*ProjectResource) Configure

func (receiver *ProjectResource) Configure(ctx context.Context, request resource.ConfigureRequest, response *resource.ConfigureResponse)

func (*ProjectResource) Create

func (receiver *ProjectResource) Create(ctx context.Context, request resource.CreateRequest, response *resource.CreateResponse)

func (*ProjectResource) Delete

func (receiver *ProjectResource) Delete(ctx context.Context, request resource.DeleteRequest, response *resource.DeleteResponse)

func (*ProjectResource) ImportState

func (receiver *ProjectResource) ImportState(ctx context.Context, request resource.ImportStateRequest, response *resource.ImportStateResponse)

func (*ProjectResource) Metadata

func (receiver *ProjectResource) Metadata(ctx context.Context, request resource.MetadataRequest, response *resource.MetadataResponse)

func (*ProjectResource) Read

func (receiver *ProjectResource) Read(ctx context.Context, request resource.ReadRequest, response *resource.ReadResponse)

func (*ProjectResource) Schema

func (receiver *ProjectResource) Schema(ctx context.Context, request resource.SchemaRequest, response *resource.SchemaResponse)

func (*ProjectResource) Update

func (receiver *ProjectResource) Update(ctx context.Context, request resource.UpdateRequest, response *resource.UpdateResponse)

type RepositoryBranchRestrictions

type RepositoryBranchRestrictions struct {
	ID     types.Int64 `tfsdk:"id"`
	Type   string      `tfsdk:"type"`
	Users  []string    `tfsdk:"users"`
	Groups []string    `tfsdk:"groups"`
}

type RepositoryBranchRestrictionsModel

type RepositoryBranchRestrictionsModel struct {
	Project      string                      `tfsdk:"project"`
	Repository   string                      `tfsdk:"repo"`
	Branch       string                      `tfsdk:"branch"`
	Restrictions []ProjectBranchRestrictions `tfsdk:"restriction"`
}

type RepositoryBranchRestrictionsResource

type RepositoryBranchRestrictionsResource struct {
	// contains filtered or unexported fields
}

func (*RepositoryBranchRestrictionsResource) Configure

func (*RepositoryBranchRestrictionsResource) Create

func (*RepositoryBranchRestrictionsResource) Delete

func (*RepositoryBranchRestrictionsResource) Metadata

func (*RepositoryBranchRestrictionsResource) Read

func (*RepositoryBranchRestrictionsResource) Schema

func (*RepositoryBranchRestrictionsResource) Update

type RepositoryMergeChecksModel

type RepositoryMergeChecksModel struct {
	Project                string      `tfsdk:"project"`
	Repo                   string      `tfsdk:"repo"`
	AllReviewerApproval    types.Bool  `tfsdk:"all_reviewer_approval"`
	MinimumApproval        types.Int64 `tfsdk:"minimum_approvals"`
	MinimumSuccessfulBuild types.Int64 `tfsdk:"minimum_successful_builds"`
}

type RepositoryMergeChecksResource

type RepositoryMergeChecksResource struct {
	// contains filtered or unexported fields
}

func (*RepositoryMergeChecksResource) Configure

func (*RepositoryMergeChecksResource) Create

func (*RepositoryMergeChecksResource) Delete

func (*RepositoryMergeChecksResource) Metadata

func (*RepositoryMergeChecksResource) Read

func (receiver *RepositoryMergeChecksResource) Read(ctx context.Context, request resource.ReadRequest, response *resource.ReadResponse)

func (*RepositoryMergeChecksResource) Schema

func (*RepositoryMergeChecksResource) Update

type RepositoryModel

type RepositoryModel struct {
	ID             types.String `tfsdk:"id"`
	RetainOnDelete types.Bool   `tfsdk:"retain_on_delete"`
	Project        types.String `tfsdk:"project"`
	Slug           types.String `tfsdk:"slug"`
	Name           types.String `tfsdk:"name"`
	Description    types.String `tfsdk:"description"`
	Readme         types.String `tfsdk:"readme"`
	Path           types.String `tfsdk:"path"`

	AssignmentVersion types.String `tfsdk:"assignment_version"`
	Assignments       types.List   `tfsdk:"assignments"`
	ComputedUsers     types.List   `tfsdk:"computed_users"`
	ComputedGroups    types.List   `tfsdk:"computed_groups"`
}

func NewRepositoryModel

func NewRepositoryModel(repository *bitbucket.Repository, plan RepositoryModel, assignmentResult *AssignmentResult) *RepositoryModel

type RepositoryPermissionInterface

type RepositoryPermissionInterface interface {
	// contains filtered or unexported methods
}

type RepositoryPermissionReceiver

type RepositoryPermissionReceiver interface {
	// contains filtered or unexported methods
}

type RepositoryPermissionsData

type RepositoryPermissionsData struct {
	Key    string              `tfsdk:"key"`
	Slug   string              `tfsdk:"slug"`
	Users  map[string][]string `tfsdk:"users"`
	Groups map[string][]string `tfsdk:"groups"`
}

type RepositoryPermissionsDataSource

type RepositoryPermissionsDataSource struct {
	// contains filtered or unexported fields
}

func (*RepositoryPermissionsDataSource) Configure

func (*RepositoryPermissionsDataSource) Metadata

func (*RepositoryPermissionsDataSource) Read

func (*RepositoryPermissionsDataSource) Schema

type RepositoryPermissionsModel

type RepositoryPermissionsModel struct {
	RetainOnDelete    types.Bool   `tfsdk:"retain_on_delete"`
	Project           types.String `tfsdk:"project"`
	Slug              types.String `tfsdk:"slug"`
	AssignmentVersion types.String `tfsdk:"assignment_version"`
	Assignments       types.List   `tfsdk:"assignments"`
	ComputedUsers     types.List   `tfsdk:"computed_users"`
	ComputedGroups    types.List   `tfsdk:"computed_groups"`
}

func NewRepositoryPermissionsModel

func NewRepositoryPermissionsModel(plan RepositoryPermissionsModel, assignmentResult *AssignmentResult) *RepositoryPermissionsModel

type RepositoryPermissionsResource

type RepositoryPermissionsResource struct {
	// contains filtered or unexported fields
}

func (*RepositoryPermissionsResource) Configure

func (*RepositoryPermissionsResource) Create

func (*RepositoryPermissionsResource) Delete

func (*RepositoryPermissionsResource) ImportState

func (*RepositoryPermissionsResource) Metadata

func (*RepositoryPermissionsResource) Read

func (receiver *RepositoryPermissionsResource) Read(ctx context.Context, request resource.ReadRequest, response *resource.ReadResponse)

func (*RepositoryPermissionsResource) Schema

func (*RepositoryPermissionsResource) Update

type RepositoryResource

type RepositoryResource struct {
	// contains filtered or unexported fields
}

func (*RepositoryResource) Configure

func (receiver *RepositoryResource) Configure(ctx context.Context, request resource.ConfigureRequest, response *resource.ConfigureResponse)

func (*RepositoryResource) Create

func (receiver *RepositoryResource) Create(ctx context.Context, request resource.CreateRequest, response *resource.CreateResponse)

func (*RepositoryResource) Delete

func (receiver *RepositoryResource) Delete(ctx context.Context, request resource.DeleteRequest, response *resource.DeleteResponse)

func (*RepositoryResource) ImportState

func (receiver *RepositoryResource) ImportState(ctx context.Context, request resource.ImportStateRequest, response *resource.ImportStateResponse)

func (*RepositoryResource) Metadata

func (receiver *RepositoryResource) Metadata(ctx context.Context, request resource.MetadataRequest, response *resource.MetadataResponse)

func (*RepositoryResource) Read

func (receiver *RepositoryResource) Read(ctx context.Context, request resource.ReadRequest, response *resource.ReadResponse)

func (*RepositoryResource) Schema

func (receiver *RepositoryResource) Schema(ctx context.Context, request resource.SchemaRequest, response *resource.SchemaResponse)

func (*RepositoryResource) Update

func (receiver *RepositoryResource) Update(ctx context.Context, request resource.UpdateRequest, response *resource.UpdateResponse)

type UpdateGroupPermissionFunc

type UpdateGroupPermissionFunc func(group string, requestedPermission string) error

type UpdateUserPermissionFunc

type UpdateUserPermissionFunc func(user string, requestedPermission string) error

Jump to

Keyboard shortcuts

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