resources

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2024 License: Apache-2.0 Imports: 46 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AllowlistsSchema

func AllowlistsSchema() schema.Schema

func ApiKeySchema

func ApiKeySchema() schema.Schema

func AppServiceOnOffOnDemandSchema added in v1.1.0

func AppServiceOnOffOnDemandSchema() schema.Schema

func AppServiceSchema

func AppServiceSchema() schema.Schema

func AuditLogExportSchema added in v1.2.0

func AuditLogExportSchema() schema.Schema

func AuditLogSettingsSchema added in v1.2.0

func AuditLogSettingsSchema() schema.Schema

func BackupScheduleSchema

func BackupScheduleSchema() schema.Schema

func BackupSchema

func BackupSchema() schema.Schema

func BucketSchema

func BucketSchema() schema.Schema

func ClusterOnOffOnDemandSchema added in v1.1.0

func ClusterOnOffOnDemandSchema() schema.Schema

func ClusterSchema

func ClusterSchema() schema.Schema

func CollectionSchema added in v1.1.0

func CollectionSchema() schema.Schema

func DatabaseCredentialSchema

func DatabaseCredentialSchema() schema.Schema

DatabaseCredentialSchema defines the schema for the terraform provider resource - "DatabaseCredential". This terraform resource directly maps to the database credential created for a Capella cluster. DatabaseCredential resource supports Create, Destroy, Read, Import and List operations.

func NewAllowList

func NewAllowList() resource.Resource

func NewApiKey

func NewApiKey() resource.Resource

func NewAppService

func NewAppService() resource.Resource

NewAppService is a helper function to simplify the provider implementation.

func NewAppServiceOnOffOnDemand added in v1.1.0

func NewAppServiceOnOffOnDemand() resource.Resource

NewAppServiceOnOffOnDemand is a helper function to simplify the provider implementation.

func NewAuditLogExport added in v1.2.0

func NewAuditLogExport() resource.Resource

func NewAuditLogSettings added in v1.2.0

func NewAuditLogSettings() resource.Resource

func NewBackup

func NewBackup() resource.Resource

NewBackup is a helper function to simplify the provider implementation.

func NewBackupSchedule

func NewBackupSchedule() resource.Resource

NewBackupSchedule is a helper function to simplify the provider implementation.

func NewBucket

func NewBucket() resource.Resource

NewBucket is a helper function to simplify the provider implementation.

func NewCluster

func NewCluster() resource.Resource

NewCluster is a helper function to simplify the provider implementation.

func NewClusterOnOffOnDemand added in v1.1.0

func NewClusterOnOffOnDemand() resource.Resource

NewClusterOnOffOnDemand is a helper function to simplify the provider implementation.

func NewClusterOnOffSchedule added in v1.1.0

func NewClusterOnOffSchedule() resource.Resource

NewClusterOnOffSchedule is a helper function to simplify the provider implementation.

func NewCollection added in v1.1.0

func NewCollection() resource.Resource

NewCollection is a helper function to simplify the provider implementation.

func NewDatabaseCredential

func NewDatabaseCredential() resource.Resource

func NewProject

func NewProject() resource.Resource

func NewSampleBucket added in v1.1.0

func NewSampleBucket() resource.Resource

NewSampleBucket is a helper function to simplify the provider implementation.

func NewScope added in v1.1.0

func NewScope() resource.Resource

NewScope is a helper function to simplify the provider implementation.

func NewUser

func NewUser() resource.Resource

func OnOffScheduleSchema added in v1.1.0

func OnOffScheduleSchema() schema.Schema

func ProjectSchema

func ProjectSchema() schema.Schema

func SampleBucketSchema added in v1.1.0

func SampleBucketSchema() schema.Schema

func ScopeSchema added in v1.1.0

func ScopeSchema() schema.Schema

func UserSchema

func UserSchema() schema.Schema

Types

type AllowList

type AllowList struct {
	*providerschema.Data
}

AllowList is the AllowList resource implementation.

func (*AllowList) Configure

Configure set provider-defined data, clients, etc. that is passed to data sources or resources in the provider.

func (*AllowList) Create

Create creates a new allowlist.

func (*AllowList) Delete

Delete deletes the allow list.

func (*AllowList) ImportState

ImportState imports a remote allowlist that is not created by Terraform. Since Capella APIs may require multiple IDs, such as organizationId, projectId, clusterId, this function passes the root attribute which is a comma separated string of multiple IDs. example: id=cluster123,project_id=proj123,organization_id=org123 Unfortunately the terraform import CLI doesn't allow us to pass multiple IDs at this point and hence this workaround has been applied.

func (*AllowList) Metadata

Metadata returns the allowlist resource type name.

func (*AllowList) Read

Read reads project information.

func (*AllowList) Schema

Schema defines the schema for the allowlist resource.

func (*AllowList) Update

Update updates the allowlist.

type ApiKey

type ApiKey struct {
	*providerschema.Data
}

ApiKey is the ApiKey resource implementation.

func (*ApiKey) Configure

Configure adds the provider configured client to the apiKey resource.

func (*ApiKey) Create

func (a *ApiKey) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)

Create creates a new apiKey.

func (*ApiKey) Delete

func (a *ApiKey) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)

Delete deletes the ApiKey.

func (*ApiKey) ImportState

func (*ApiKey) Metadata

Metadata returns the apiKey resource type name.

func (*ApiKey) Read

func (a *ApiKey) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)

Read reads ApiKey information.

func (*ApiKey) Schema

Schema defines the schema for the apiKey resource.

func (*ApiKey) Update

func (a *ApiKey) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)

Update rotates the ApiKey.

type AppService

type AppService struct {
	*providerschema.Data
}

AppService is the AppService resource implementation.

func (*AppService) Configure

Configure adds the provider configured client to the app service resource.

func (*AppService) Create

Create creates a new AppService.

func (*AppService) Delete

Delete deletes the app service.

func (*AppService) ImportState

ImportState imports a remote app service that is not created by Terraform. Since Capella APIs may require multiple IDs, such as organizationId, projectId, clusterId, this function passes the root attribute which is a comma separated string of multiple IDs. example: id=appService123,organization_id=org123,project_id=proj123,cluster_id=cluster123 Unfortunately the terraform import CLI doesn't allow us to pass multiple IDs at this point and hence this workaround has been applied.

func (*AppService) Metadata

Metadata returns the AppService resource type name.

func (*AppService) Read

Read reads the app service project information.

func (*AppService) Schema

Schema defines the schema for the AppService resource.

func (*AppService) Update

Update updates the AppService.

type AppServiceOnOffOnDemand added in v1.1.0

type AppServiceOnOffOnDemand struct {
	*providerschema.Data
}

AppServiceOnOffOnDemand is the AppServiceOnOffOnDemand implementation.

func (*AppServiceOnOffOnDemand) Configure added in v1.1.0

Configure It adds the provider configured api to ClusterOnOff.

func (*AppServiceOnOffOnDemand) Create added in v1.1.0

Create allows to switch the cluster to ON or OFF state.

func (*AppServiceOnOffOnDemand) Delete added in v1.1.0

func (*AppServiceOnOffOnDemand) ImportState added in v1.1.0

ImportState imports a remote AppserviceOnOffOnDemand app service that is not created by Terraform.

func (*AppServiceOnOffOnDemand) Metadata added in v1.1.0

Metadata returns the AppServiceOnOffOnDemand cluster resource type name.

func (*AppServiceOnOffOnDemand) Read added in v1.1.0

Couchbase Capella's v4 does not support a GET endpoint for app service on/off. App service on/off can only access the POST and DELETE endpoint for switching the app service to on and off state respectively. https://docs.couchbase.com/cloud/management-api-reference/index.html#tag/appServices/operation/appServiceOn This read is calling the retrieveAppServiceOnOff func to verify the state with the cluster response.

func (*AppServiceOnOffOnDemand) Schema added in v1.1.0

Schema defines the schema for AppServiceOnOffOnDemand.

func (*AppServiceOnOffOnDemand) Update added in v1.1.0

Update allows to update the cluster to ON or OFF state.

type AuditLogExport added in v1.2.0

type AuditLogExport struct {
	*providerschema.Data
}

AuditLogExport is the resource implementation.

func (*AuditLogExport) Configure added in v1.2.0

Configure set provider-defined data, clients, etc. that is passed to data sources or resources in the provider.

func (*AuditLogExport) Create added in v1.2.0

Create creates a new audit log export job.

func (*AuditLogExport) Delete added in v1.2.0

Delete is not supported as audit log export API does not have delete endpoint.

func (*AuditLogExport) ImportState added in v1.2.0

func (*AuditLogExport) Metadata added in v1.2.0

Metadata returns the audit log export resource type name.

func (*AuditLogExport) Read added in v1.2.0

Read gets audit log export information.

func (*AuditLogExport) Schema added in v1.2.0

Schema defines the schema for the audit log export resource.

func (*AuditLogExport) Update added in v1.2.0

Update is not supported as audit log export API does not have update endpoint.

type AuditLogSettings added in v1.2.0

type AuditLogSettings struct {
	*providerschema.Data
}

AuditLogSettings is the audit log settings resource implementation.

func (*AuditLogSettings) Configure added in v1.2.0

Configure adds the provider configured client to the audit log settings resource.

func (*AuditLogSettings) Create added in v1.2.0

Audit Log API does not have create endpoint. so create is treated as an update.

func (*AuditLogSettings) Delete added in v1.2.0

AuditLogSettings does not have delete endpoint.

func (*AuditLogSettings) ImportState added in v1.2.0

func (*AuditLogSettings) Metadata added in v1.2.0

Metadata returns the audit log settings resource type name.

func (*AuditLogSettings) Read added in v1.2.0

Read retrieves audit log settings.

func (*AuditLogSettings) Schema added in v1.2.0

Schema defines the schema for the audit log settings resource.

func (*AuditLogSettings) Update added in v1.2.0

Update updates the audit log settings.

type Backup

type Backup struct {
	*providerschema.Data
}

Backup is the Backup resource implementation.

func (*Backup) Configure

Configure adds the provider configured api to the backup resource.

func (*Backup) Create

func (b *Backup) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)

Create creates a new Backup.

func (*Backup) Delete

func (b *Backup) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)

Delete deletes the backup.

func (*Backup) ImportState

ImportState imports a remote backup that is not created by Terraform.

func (*Backup) Metadata

Metadata returns the Backup resource type name.

func (*Backup) Read

func (b *Backup) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)

Read reads backup information.

func (*Backup) Schema

Schema defines the schema for the Backup resource.

func (*Backup) Update

func (b *Backup) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)

Update updates the Backup record.

type BackupSchedule

type BackupSchedule struct {
	*providerschema.Data
}

BackupSchedule is the BackupSchedule resource implementation.

func (*BackupSchedule) Configure

func (*BackupSchedule) Create

Create creates a new BackupSchedule.

func (*BackupSchedule) Delete

Delete deletes the BackupSchedule.

func (*BackupSchedule) ImportState

ImportState imports a remote backup schedule that is not created by Terraform. Since Capella APIs may require multiple IDs, such as organizationId, projectId, clusterId, and bucket_id, this function passes the root attribute which is a comma separated string of multiple IDs. example: "organization_id=<orgId>,project_id=<projId>,cluster_id=<clusterId>,bucket_id=<bucketId>

func (*BackupSchedule) Metadata

Metadata returns the BackupSchedule resource type name.

func (*BackupSchedule) Read

Read reads BackupSchedule information.

func (*BackupSchedule) Schema

Schema defines the schema for the BackupSchedule resource.

func (*BackupSchedule) Update

Update updates the BackupSchedule.

type Bucket

type Bucket struct {
	*providerschema.Data
}

Bucket is the bucket resource implementation.

func (*Bucket) Configure

Configure It adds the provider configured api to the project resource.

func (*Bucket) Create

func (c *Bucket) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)

Create creates a new Bucket.

func (*Bucket) Delete

func (r *Bucket) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)

Delete deletes the bucket.

func (*Bucket) ImportState

ImportState imports a remote cluster that is not created by Terraform.

func (*Bucket) Metadata

Metadata returns the Bucket resource type name.

func (*Bucket) Read

func (c *Bucket) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)

Read reads the bucket information.

func (*Bucket) Schema

Schema defines the schema for the Bucket resource.

func (*Bucket) Update

func (c *Bucket) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)

Update updates the bucket.

type Cluster

type Cluster struct {
	*providerschema.Data
}

Cluster is the Cluster resource implementation.

func (*Cluster) Configure

Configure adds the provider configured api to the project resource.

func (*Cluster) Create

Create creates a new Cluster.

func (*Cluster) Delete

Delete deletes the cluster.

func (*Cluster) ImportState

ImportState imports a remote cluster that is not created by Terraform.

func (*Cluster) Metadata

Metadata returns the Cluster resource type name.

func (*Cluster) Read

func (c *Cluster) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)

Read reads the cluster information.

func (*Cluster) Schema

Schema defines the schema for the Cluster resource.

func (*Cluster) Update

Update updates the Cluster.

type ClusterOnOffOnDemand added in v1.1.0

type ClusterOnOffOnDemand struct {
	*providerschema.Data
}

ClusterOnOffOnDemand is the onDemandClusterOnOff resource implementation.

func (*ClusterOnOffOnDemand) Configure added in v1.1.0

Configure It adds the provider configured api to ClusterOnOff.

func (*ClusterOnOffOnDemand) Create added in v1.1.0

Create allows to switch the cluster to ON or OFF state.

func (*ClusterOnOffOnDemand) Delete added in v1.1.0

func (*ClusterOnOffOnDemand) ImportState added in v1.1.0

ImportState imports a remote onDemandClusterOnOff cluster that is not created by Terraform.

func (*ClusterOnOffOnDemand) Metadata added in v1.1.0

Metadata returns the ClusterOnOffOnDemand cluster resource type name.

func (*ClusterOnOffOnDemand) Read added in v1.1.0

Couchbase Capella's v4 does not support a GET endpoint for cluster on/off. Cluster on/off can only access the POST and DELETE endpoint for switching the cluster to on and off state respectively. https://docs.couchbase.com/cloud/management-api-reference/index.html#tag/clusters/operation/clusterOn This read is calling the retrieveClusterOnOff func to verify the state with the cluster response.

func (*ClusterOnOffOnDemand) Schema added in v1.1.0

Schema defines the schema for ClusterOnOffOnDemand.

func (*ClusterOnOffOnDemand) Update added in v1.1.0

Update allows to update the cluster to ON or OFF state.

type ClusterOnOffSchedule added in v1.1.0

type ClusterOnOffSchedule struct {
	*providerschema.Data
}

ClusterOnOffSchedule is the cluster OnOffSchedule resource implementation.

func (*ClusterOnOffSchedule) Configure added in v1.1.0

Configure adds the provider configured client to the cluster on-off schedule resource.

func (*ClusterOnOffSchedule) Create added in v1.1.0

Create creates a new OnOffSchedule.

func (*ClusterOnOffSchedule) Delete added in v1.1.0

func (*ClusterOnOffSchedule) ImportState added in v1.1.0

ImportState imports an already existing cluster on-off schedule that is not created by Terraform. Since Capella APIs may require multiple IDs, such as organizationId, projectId, clusterId, this function passes the root attribute which is a comma separated string of multiple IDs. example: "organization_id=<orgId>,project_id=<projId>,cluster_id=<clusterId>

func (*ClusterOnOffSchedule) Metadata added in v1.1.0

Metadata returns the OnOffSchedule resource type name.

func (*ClusterOnOffSchedule) Read added in v1.1.0

func (*ClusterOnOffSchedule) Schema added in v1.1.0

Schema defines the schema for the OnOffSchedule resource.

func (*ClusterOnOffSchedule) Update added in v1.1.0

type Collection added in v1.1.0

type Collection struct {
	*providerschema.Data
}

Collection is the collection resource implementation.

func (*Collection) Configure added in v1.1.0

Configure It adds the provider configured api to the collection resource.

func (*Collection) Create added in v1.1.0

Create creates a new collection.

func (*Collection) Delete added in v1.1.0

Delete deletes the collection.

func (*Collection) ImportState added in v1.1.0

ImportState imports a remote collection that is not created by Terraform.

func (*Collection) Metadata added in v1.1.0

Metadata returns the Collection resource type name.

func (*Collection) Read added in v1.1.0

Read reads the collection information.

func (*Collection) Schema added in v1.1.0

Schema defines the schema for the Collection resource.

func (*Collection) Update added in v1.1.0

Update updates the collection. Only maxTTL value for the collection can be updated. This endpoint only applies for clusters with server version >= 7.6.0. Collections cannot be updated for clusters with server version < 7.6.0.

type DatabaseCredential

type DatabaseCredential struct {
	*providerschema.Data
}

DatabaseCredential is the database credential resource implementation.

func (*DatabaseCredential) Configure

Configure adds the provider configured client to the database credential resource.

func (*DatabaseCredential) Create

Create creates a new database credential. This function will validate the mandatory fields in the resource.CreateRequest before invoking the Capella V4 API.

func (*DatabaseCredential) Delete

Delete deletes the database credential.

func (*DatabaseCredential) ImportState

ImportState imports a remote database credential that is not created by Terraform. Since Capella APIs may require multiple IDs, such as organizationId, projectId, clusterId, this function passes the root attribute which is a comma separated string of multiple IDs. example: id=user123,organization_id=org123,project_id=proj123,cluster_id=cluster123 Unfortunately the terraform import CLI doesn't allow us to pass multiple IDs at this point and hence this workaround has been applied.

func (*DatabaseCredential) Metadata

Metadata returns the name that the database credential will follow in the terraform files. the name as per this function is capella_database_credential.

func (*DatabaseCredential) Read

Read reads database credential information.

func (*DatabaseCredential) Schema

Schema defines the schema for the database credential resource.

func (*DatabaseCredential) Update

Update updates the database credential.

type Project

type Project struct {
	*providerschema.Data
}

Project is the project resource implementation.

func (*Project) Configure

Configure adds the provider configured client to the project resource.

func (*Project) Create

Create creates a new project.

func (*Project) Delete

Delete deletes the project.

func (*Project) ImportState

ImportState imports a remote project that is not created by Terraform. Since Capella APIs may require multiple IDs, such as organizationId, projectId, clusterId, this function passes the root attribute which is a comma separated string of multiple IDs. example: id=proj123,organization_id=org123 Unfortunately the terraform import CLI doesn't allow us to pass multiple IDs at this point and hence this workaround has been applied.

func (*Project) Metadata

Metadata returns the project resource type name.

func (*Project) Read

func (r *Project) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)

Read reads project information.

func (*Project) Schema

Schema defines the schema for the project resource.

func (*Project) Update

Update updates the project.

type SampleBucket added in v1.1.0

type SampleBucket struct {
	*providerschema.Data
}

SampleBucket is the sample bucket resource implementation.

func (*SampleBucket) Configure added in v1.1.0

Configure adds the configured client to the SampleBucket resource.

func (*SampleBucket) Create added in v1.1.0

Create loads a new sample bucket.

func (*SampleBucket) Delete added in v1.1.0

Delete deletes the SampleBucket.

func (*SampleBucket) ImportState added in v1.1.0

ImportState imports a remote sample bucket that is not created by Terraform.

func (*SampleBucket) Metadata added in v1.1.0

Metadata returns the SampleBucket resource type name.

func (*SampleBucket) Read added in v1.1.0

Read reads SampleBucket information.

func (*SampleBucket) Schema added in v1.1.0

Schema defines the schema for the SampleBucket resource.

func (*SampleBucket) Update added in v1.1.0

type Scope added in v1.1.0

type Scope struct {
	*providerschema.Data
}

Scope is the scope resource implementation.

func (*Scope) Configure added in v1.1.0

Configure It adds the provider configured api to the scope resource.

func (*Scope) Create added in v1.1.0

func (s *Scope) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)

Create creates a new scope.

func (*Scope) Delete added in v1.1.0

func (s *Scope) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)

Delete deletes the scope.

func (*Scope) ImportState added in v1.1.0

ImportState imports a remote scope that is not created by Terraform.

func (*Scope) Metadata added in v1.1.0

Metadata returns the Scope resource type name.

func (*Scope) Read added in v1.1.0

func (s *Scope) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)

Read reads the scope information.

func (*Scope) Schema added in v1.1.0

Schema defines the schema for the Scope resource.

func (*Scope) Update added in v1.1.0

Update updates the scope.

type User

type User struct {
	*providerschema.Data
}

User is the User resource implementation.

func (*User) Configure

func (r *User) Configure(ctx context.Context, req resource.ConfigureRequest, resp *resource.ConfigureResponse)

Configure sets provider-defined data, clients, etc. that is passed to data sources or resources in the provider.

func (*User) Create

func (r *User) Create(ctx context.Context, req resource.CreateRequest, resp *resource.CreateResponse)

Create creates a new user.

func (*User) Delete

func (r *User) Delete(ctx context.Context, req resource.DeleteRequest, resp *resource.DeleteResponse)

Delete deletes the user.

func (*User) ImportState

ImportState imports a remote user that was not created by Terraform. Since Capella APIs may require multiple IDs, such as organizationId, projectId, clusterId, this function passes the root attribute which is a comma separated string of multiple IDs. example: id=cluster123,project_id=proj123,organization_id=org123 Unfortunately the terraform import CLI doesn't allow us to pass multiple IDs at this point and hence this workaround has been applied.

func (*User) Metadata

Metadata returns the users resource type name.

func (*User) Read

func (r *User) Read(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse)

Read reads user information.

func (*User) Schema

func (r *User) Schema(ctx context.Context, rsc resource.SchemaRequest, resp *resource.SchemaResponse)

Schema defines the schema for the user resource.

func (*User) Update

func (r *User) Update(ctx context.Context, req resource.UpdateRequest, resp *resource.UpdateResponse)

Update updates the user.

Jump to

Keyboard shortcuts

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