provider

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Feb 15, 2024 License: MPL-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DefaultTimeout = 30 * time.Second
)

Ensure the implementation satisfies the expected interfaces.

Functions

func New

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

New is a helper function to simplify provider server and testing implementation.

func NewRoleResource added in v0.2.0

func NewRoleResource() resource.Resource

func NewUserResource

func NewUserResource() resource.Resource

func NewUsersDataSource

func NewUsersDataSource() datasource.DataSource

Types

type PrivilegeResourceModel added in v0.2.0

type PrivilegeResourceModel struct {
	Resource ResourceResourceModel `tfsdk:"resource"`
	Actions  []types.String        `tfsdk:"actions"`
}

type ResourceResourceModel added in v0.2.0

type ResourceResourceModel struct {
	Cluster     types.Bool   `tfsdk:"cluster"`
	AnyResource types.Bool   `tfsdk:"any_resource"`
	DB          types.String `tfsdk:"db"`
	Collection  types.String `tfsdk:"collection"`
}

type RoleRefResourceModel added in v0.2.0

type RoleRefResourceModel struct {
	Role types.String `tfsdk:"role"`
	DB   types.String `tfsdk:"db"`
}

type RoleResource added in v0.2.0

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

RoleResource defines the resource implementation.

func (*RoleResource) Configure added in v0.2.0

func (*RoleResource) Create added in v0.2.0

func (*RoleResource) Delete added in v0.2.0

func (*RoleResource) ImportState added in v0.2.0

func (*RoleResource) Metadata added in v0.2.0

func (*RoleResource) Read added in v0.2.0

func (*RoleResource) Schema added in v0.2.0

func (*RoleResource) Update added in v0.2.0

type RoleResourceModel added in v0.2.0

type RoleResourceModel struct {
	ID         types.String             `tfsdk:"id"`
	Role       types.String             `tfsdk:"role"`
	DB         types.String             `tfsdk:"db"`
	Roles      []RoleRefResourceModel   `tfsdk:"roles"`
	Privileges []PrivilegeResourceModel `tfsdk:"privileges"`
	Timeouts   timeouts.Value           `tfsdk:"timeouts"`
}

RoleResourceModel describes the resource data model.

type UserDataSourceModel

type UserDataSourceModel struct {
	ID         types.String              `tfsdk:"id"`
	User       types.String              `tfsdk:"user"`
	DB         types.String              `tfsdk:"db"`
	CustomData map[string]types.String   `tfsdk:"custom_data"`
	Roles      []UserRoleDataSourceModel `tfsdk:"roles"`
	Mechanisms []types.String            `tfsdk:"mechanisms"`
}

type UserResource

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

UserResource defines the resource implementation.

func (*UserResource) Configure

func (*UserResource) Create

func (*UserResource) Delete

func (*UserResource) ImportState

func (*UserResource) Metadata

func (*UserResource) Read

func (*UserResource) Schema

func (*UserResource) Update

type UserResourceModel

type UserResourceModel struct {
	ID         types.String            `tfsdk:"id"`
	User       types.String            `tfsdk:"user"`
	DB         types.String            `tfsdk:"db"`
	Password   types.String            `tfsdk:"pwd"`
	CustomData map[string]types.String `tfsdk:"custom_data"`
	Roles      []RoleRefResourceModel  `tfsdk:"roles"`
	Mechanisms []types.String          `tfsdk:"mechanisms"`
	Timeouts   timeouts.Value          `tfsdk:"timeouts"`
}

UserResourceModel describes the resource data model.

type UserRoleDataSourceModel

type UserRoleDataSourceModel struct {
	Role types.String `tfsdk:"role"`
	DB   types.String `tfsdk:"db"`
}

type UsersDataSource

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

func (*UsersDataSource) Configure

Configure adds the provider configured client to the data source.

func (*UsersDataSource) Metadata

func (*UsersDataSource) Read

func (*UsersDataSource) Schema

type UsersDataSourceModel

type UsersDataSourceModel struct {
	DB    types.String          `tfsdk:"db"`
	Users []UserDataSourceModel `tfsdk:"users"`

	// MongoDB support more dynamic filters, but due to Terraform Plugin Framework
	// not supporting dynamic types, we have to settle on a simple map.
	// See: https://github.com/hashicorp/terraform-plugin-framework/issues/147
	Filter   map[string]string `tfsdk:"filter"`
	Timeouts timeouts.Value    `tfsdk:"timeouts"`
}

Jump to

Keyboard shortcuts

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