M3Db

# M3 DB Resource

The M3 DB resource allows the creation and management of Aiven M3 services.

Example Usage

using Pulumi;
using Aiven = Pulumi.Aiven;

class MyStack : Stack
{
    public MyStack()
    {
        var m3 = new Aiven.M3Db("m3", new Aiven.M3DbArgs
        {
            Project = data.Aiven_project.Foo.Project,
            CloudName = "google-europe-west1",
            Plan = "business-8",
            ServiceName = "my-m3db",
            MaintenanceWindowDow = "monday",
            MaintenanceWindowTime = "10:00:00",
            M3dbUserConfig = new Aiven.Inputs.M3DbM3dbUserConfigArgs
            {
                M3dbVersion = "0.15",
                Namespaces = 
                {
                    new Aiven.Inputs.M3DbM3dbUserConfigNamespaceArgs
                    {
                        Name = "my-ns1",
                        Type = "unaggregated",
                    },
                },
            },
        });
    }

}
package main

import (
	"github.com/pulumi/pulumi-aiven/sdk/v4/go/aiven"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := aiven.NewM3Db(ctx, "m3", &aiven.M3DbArgs{
			Project:               pulumi.Any(data.Aiven_project.Foo.Project),
			CloudName:             pulumi.String("google-europe-west1"),
			Plan:                  pulumi.String("business-8"),
			ServiceName:           pulumi.String("my-m3db"),
			MaintenanceWindowDow:  pulumi.String("monday"),
			MaintenanceWindowTime: pulumi.String("10:00:00"),
			M3dbUserConfig: &aiven.M3DbM3dbUserConfigArgs{
				M3dbVersion: pulumi.String("0.15"),
				Namespaces: aiven.M3DbM3dbUserConfigNamespaceArray{
					&aiven.M3DbM3dbUserConfigNamespaceArgs{
						Name: pulumi.String("my-ns1"),
						Type: pulumi.String("unaggregated"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
import pulumi
import pulumi_aiven as aiven

m3 = aiven.M3Db("m3",
    project=data["aiven_project"]["foo"]["project"],
    cloud_name="google-europe-west1",
    plan="business-8",
    service_name="my-m3db",
    maintenance_window_dow="monday",
    maintenance_window_time="10:00:00",
    m3db_user_config=aiven.M3DbM3dbUserConfigArgs(
        m3db_version="0.15",
        namespaces=[aiven.M3DbM3dbUserConfigNamespaceArgs(
            name="my-ns1",
            type="unaggregated",
        )],
    ))
import * as pulumi from "@pulumi/pulumi";
import * as aiven from "@pulumi/aiven";

const m3 = new aiven.M3Db("m3", {
    project: data.aiven_project.foo.project,
    cloudName: "google-europe-west1",
    plan: "business-8",
    serviceName: "my-m3db",
    maintenanceWindowDow: "monday",
    maintenanceWindowTime: "10:00:00",
    m3dbUserConfig: {
        m3dbVersion: 0.15,
        namespaces: [{
            name: "my-ns1",
            type: "unaggregated",
        }],
    },
});

Create a M3Db Resource

new M3Db(name: string, args: M3DbArgs, opts?: CustomResourceOptions);
@overload
def M3Db(resource_name: str,
         opts: Optional[ResourceOptions] = None,
         cloud_name: Optional[str] = None,
         m3db: Optional[M3DbM3dbArgs] = None,
         m3db_user_config: Optional[M3DbM3dbUserConfigArgs] = None,
         maintenance_window_dow: Optional[str] = None,
         maintenance_window_time: Optional[str] = None,
         plan: Optional[str] = None,
         project: Optional[str] = None,
         project_vpc_id: Optional[str] = None,
         service_integrations: Optional[Sequence[M3DbServiceIntegrationArgs]] = None,
         service_name: Optional[str] = None,
         termination_protection: Optional[bool] = None)
@overload
def M3Db(resource_name: str,
         args: M3DbArgs,
         opts: Optional[ResourceOptions] = None)
func NewM3Db(ctx *Context, name string, args M3DbArgs, opts ...ResourceOption) (*M3Db, error)
public M3Db(string name, M3DbArgs args, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args M3DbArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args M3DbArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args M3DbArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args M3DbArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

M3Db Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model docs.

Inputs

The M3Db resource accepts the following input properties:

Project string
identifies the project the service belongs to. To set up proper dependency between the project and the service, refer to the project as shown in the above example. Project cannot be changed later without destroying and re-creating the service.
ServiceName string
specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.
CloudName string
defines where the cloud provider and region where the service is hosted in. This can be changed freely after service is created. Changing the value will trigger a potentially lengthy migration process for the service. Format is cloud provider name (aws, azure, do google, upcloud, etc.), dash, and the cloud provider specific region name. These are documented on each Cloud provider’s own support articles, like here for Google and here for AWS.
M3db M3DbM3dbArgs
M3 specific server provided values.
M3dbUserConfig M3DbM3dbUserConfigArgs
defines M3 specific additional configuration options. The following configuration options available:
MaintenanceWindowDow string
day of week when maintenance operations should be performed. On monday, tuesday, wednesday, etc.
MaintenanceWindowTime string
time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
Plan string
defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are hobbyist, startup-x, business-x and premium-x where x is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The exact options can be seen from the Aiven web console’s Create Service dialog.
ProjectVpcId string
optionally specifies the VPC the service should run in. If the value is not set the service is not run inside a VPC. When set, the value should be given as a reference as shown above to set up dependencies correctly and the VPC must be in the same cloud and region as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new servers so the operation can take significant amount of time to complete if the service has a lot of data.
ServiceIntegrations List<M3DbServiceIntegrationArgs>
Service integrations to specify when creating a service. Not applied after initial service creation
TerminationProtection bool
prevents the service from being deleted. It is recommended to set this to true for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.
Project string
identifies the project the service belongs to. To set up proper dependency between the project and the service, refer to the project as shown in the above example. Project cannot be changed later without destroying and re-creating the service.
ServiceName string
specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.
CloudName string
defines where the cloud provider and region where the service is hosted in. This can be changed freely after service is created. Changing the value will trigger a potentially lengthy migration process for the service. Format is cloud provider name (aws, azure, do google, upcloud, etc.), dash, and the cloud provider specific region name. These are documented on each Cloud provider’s own support articles, like here for Google and here for AWS.
M3db M3DbM3db
M3 specific server provided values.
M3dbUserConfig M3DbM3dbUserConfig
defines M3 specific additional configuration options. The following configuration options available:
MaintenanceWindowDow string
day of week when maintenance operations should be performed. On monday, tuesday, wednesday, etc.
MaintenanceWindowTime string
time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
Plan string
defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are hobbyist, startup-x, business-x and premium-x where x is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The exact options can be seen from the Aiven web console’s Create Service dialog.
ProjectVpcId string
optionally specifies the VPC the service should run in. If the value is not set the service is not run inside a VPC. When set, the value should be given as a reference as shown above to set up dependencies correctly and the VPC must be in the same cloud and region as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new servers so the operation can take significant amount of time to complete if the service has a lot of data.
ServiceIntegrations []M3DbServiceIntegration
Service integrations to specify when creating a service. Not applied after initial service creation
TerminationProtection bool
prevents the service from being deleted. It is recommended to set this to true for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.
project string
identifies the project the service belongs to. To set up proper dependency between the project and the service, refer to the project as shown in the above example. Project cannot be changed later without destroying and re-creating the service.
serviceName string
specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.
cloudName string
defines where the cloud provider and region where the service is hosted in. This can be changed freely after service is created. Changing the value will trigger a potentially lengthy migration process for the service. Format is cloud provider name (aws, azure, do google, upcloud, etc.), dash, and the cloud provider specific region name. These are documented on each Cloud provider’s own support articles, like here for Google and here for AWS.
m3db M3DbM3dbArgs
M3 specific server provided values.
m3dbUserConfig M3DbM3dbUserConfigArgs
defines M3 specific additional configuration options. The following configuration options available:
maintenanceWindowDow string
day of week when maintenance operations should be performed. On monday, tuesday, wednesday, etc.
maintenanceWindowTime string
time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
plan string
defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are hobbyist, startup-x, business-x and premium-x where x is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The exact options can be seen from the Aiven web console’s Create Service dialog.
projectVpcId string
optionally specifies the VPC the service should run in. If the value is not set the service is not run inside a VPC. When set, the value should be given as a reference as shown above to set up dependencies correctly and the VPC must be in the same cloud and region as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new servers so the operation can take significant amount of time to complete if the service has a lot of data.
serviceIntegrations M3DbServiceIntegrationArgs[]
Service integrations to specify when creating a service. Not applied after initial service creation
terminationProtection boolean
prevents the service from being deleted. It is recommended to set this to true for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.
project str
identifies the project the service belongs to. To set up proper dependency between the project and the service, refer to the project as shown in the above example. Project cannot be changed later without destroying and re-creating the service.
service_name str
specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.
cloud_name str
defines where the cloud provider and region where the service is hosted in. This can be changed freely after service is created. Changing the value will trigger a potentially lengthy migration process for the service. Format is cloud provider name (aws, azure, do google, upcloud, etc.), dash, and the cloud provider specific region name. These are documented on each Cloud provider’s own support articles, like here for Google and here for AWS.
m3db M3DbM3dbArgs
M3 specific server provided values.
m3db_user_config M3DbM3dbUserConfigArgs
defines M3 specific additional configuration options. The following configuration options available:
maintenance_window_dow str
day of week when maintenance operations should be performed. On monday, tuesday, wednesday, etc.
maintenance_window_time str
time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
plan str
defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are hobbyist, startup-x, business-x and premium-x where x is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The exact options can be seen from the Aiven web console’s Create Service dialog.
project_vpc_id str
optionally specifies the VPC the service should run in. If the value is not set the service is not run inside a VPC. When set, the value should be given as a reference as shown above to set up dependencies correctly and the VPC must be in the same cloud and region as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new servers so the operation can take significant amount of time to complete if the service has a lot of data.
service_integrations Sequence[M3DbServiceIntegrationArgs]
Service integrations to specify when creating a service. Not applied after initial service creation
termination_protection bool
prevents the service from being deleted. It is recommended to set this to true for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.

Outputs

All input properties are implicitly available as output properties. Additionally, the M3Db resource produces the following output properties:

Components List<M3DbComponent>
Service component information objects
Id string
The provider-assigned unique ID for this managed resource.
ServiceHost string
M3 hostname.
ServicePassword string
Password used for connecting to the M3 service, if applicable.
ServicePort int
M3 port.
ServiceType string
Aiven internal service type code
ServiceUri string
URI for connecting to the M3 service.
ServiceUsername string
Username used for connecting to the M3 service, if applicable.
State string
Service state.
Components []M3DbComponent
Service component information objects
Id string
The provider-assigned unique ID for this managed resource.
ServiceHost string
M3 hostname.
ServicePassword string
Password used for connecting to the M3 service, if applicable.
ServicePort int
M3 port.
ServiceType string
Aiven internal service type code
ServiceUri string
URI for connecting to the M3 service.
ServiceUsername string
Username used for connecting to the M3 service, if applicable.
State string
Service state.
components M3DbComponent[]
Service component information objects
id string
The provider-assigned unique ID for this managed resource.
serviceHost string
M3 hostname.
servicePassword string
Password used for connecting to the M3 service, if applicable.
servicePort number
M3 port.
serviceType string
Aiven internal service type code
serviceUri string
URI for connecting to the M3 service.
serviceUsername string
Username used for connecting to the M3 service, if applicable.
state string
Service state.
components Sequence[M3DbComponent]
Service component information objects
id str
The provider-assigned unique ID for this managed resource.
service_host str
M3 hostname.
service_password str
Password used for connecting to the M3 service, if applicable.
service_port int
M3 port.
service_type str
Aiven internal service type code
service_uri str
URI for connecting to the M3 service.
service_username str
Username used for connecting to the M3 service, if applicable.
state str
Service state.

Look up an Existing M3Db Resource

Get an existing M3Db resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: M3DbState, opts?: CustomResourceOptions): M3Db
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        cloud_name: Optional[str] = None,
        components: Optional[Sequence[M3DbComponentArgs]] = None,
        m3db: Optional[M3DbM3dbArgs] = None,
        m3db_user_config: Optional[M3DbM3dbUserConfigArgs] = None,
        maintenance_window_dow: Optional[str] = None,
        maintenance_window_time: Optional[str] = None,
        plan: Optional[str] = None,
        project: Optional[str] = None,
        project_vpc_id: Optional[str] = None,
        service_host: Optional[str] = None,
        service_integrations: Optional[Sequence[M3DbServiceIntegrationArgs]] = None,
        service_name: Optional[str] = None,
        service_password: Optional[str] = None,
        service_port: Optional[int] = None,
        service_type: Optional[str] = None,
        service_uri: Optional[str] = None,
        service_username: Optional[str] = None,
        state: Optional[str] = None,
        termination_protection: Optional[bool] = None) -> M3Db
func GetM3Db(ctx *Context, name string, id IDInput, state *M3DbState, opts ...ResourceOption) (*M3Db, error)
public static M3Db Get(string name, Input<string> id, M3DbState? state, CustomResourceOptions? opts = null)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

CloudName string
defines where the cloud provider and region where the service is hosted in. This can be changed freely after service is created. Changing the value will trigger a potentially lengthy migration process for the service. Format is cloud provider name (aws, azure, do google, upcloud, etc.), dash, and the cloud provider specific region name. These are documented on each Cloud provider’s own support articles, like here for Google and here for AWS.
Components List<M3DbComponentArgs>
Service component information objects
M3db M3DbM3dbArgs
M3 specific server provided values.
M3dbUserConfig M3DbM3dbUserConfigArgs
defines M3 specific additional configuration options. The following configuration options available:
MaintenanceWindowDow string
day of week when maintenance operations should be performed. On monday, tuesday, wednesday, etc.
MaintenanceWindowTime string
time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
Plan string
defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are hobbyist, startup-x, business-x and premium-x where x is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The exact options can be seen from the Aiven web console’s Create Service dialog.
Project string
identifies the project the service belongs to. To set up proper dependency between the project and the service, refer to the project as shown in the above example. Project cannot be changed later without destroying and re-creating the service.
ProjectVpcId string
optionally specifies the VPC the service should run in. If the value is not set the service is not run inside a VPC. When set, the value should be given as a reference as shown above to set up dependencies correctly and the VPC must be in the same cloud and region as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new servers so the operation can take significant amount of time to complete if the service has a lot of data.
ServiceHost string
M3 hostname.
ServiceIntegrations List<M3DbServiceIntegrationArgs>
Service integrations to specify when creating a service. Not applied after initial service creation
ServiceName string
specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.
ServicePassword string
Password used for connecting to the M3 service, if applicable.
ServicePort int
M3 port.
ServiceType string
Aiven internal service type code
ServiceUri string
URI for connecting to the M3 service.
ServiceUsername string
Username used for connecting to the M3 service, if applicable.
State string
Service state.
TerminationProtection bool
prevents the service from being deleted. It is recommended to set this to true for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.
CloudName string
defines where the cloud provider and region where the service is hosted in. This can be changed freely after service is created. Changing the value will trigger a potentially lengthy migration process for the service. Format is cloud provider name (aws, azure, do google, upcloud, etc.), dash, and the cloud provider specific region name. These are documented on each Cloud provider’s own support articles, like here for Google and here for AWS.
Components []M3DbComponent
Service component information objects
M3db M3DbM3db
M3 specific server provided values.
M3dbUserConfig M3DbM3dbUserConfig
defines M3 specific additional configuration options. The following configuration options available:
MaintenanceWindowDow string
day of week when maintenance operations should be performed. On monday, tuesday, wednesday, etc.
MaintenanceWindowTime string
time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
Plan string
defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are hobbyist, startup-x, business-x and premium-x where x is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The exact options can be seen from the Aiven web console’s Create Service dialog.
Project string
identifies the project the service belongs to. To set up proper dependency between the project and the service, refer to the project as shown in the above example. Project cannot be changed later without destroying and re-creating the service.
ProjectVpcId string
optionally specifies the VPC the service should run in. If the value is not set the service is not run inside a VPC. When set, the value should be given as a reference as shown above to set up dependencies correctly and the VPC must be in the same cloud and region as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new servers so the operation can take significant amount of time to complete if the service has a lot of data.
ServiceHost string
M3 hostname.
ServiceIntegrations []M3DbServiceIntegration
Service integrations to specify when creating a service. Not applied after initial service creation
ServiceName string
specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.
ServicePassword string
Password used for connecting to the M3 service, if applicable.
ServicePort int
M3 port.
ServiceType string
Aiven internal service type code
ServiceUri string
URI for connecting to the M3 service.
ServiceUsername string
Username used for connecting to the M3 service, if applicable.
State string
Service state.
TerminationProtection bool
prevents the service from being deleted. It is recommended to set this to true for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.
cloudName string
defines where the cloud provider and region where the service is hosted in. This can be changed freely after service is created. Changing the value will trigger a potentially lengthy migration process for the service. Format is cloud provider name (aws, azure, do google, upcloud, etc.), dash, and the cloud provider specific region name. These are documented on each Cloud provider’s own support articles, like here for Google and here for AWS.
components M3DbComponentArgs[]
Service component information objects
m3db M3DbM3dbArgs
M3 specific server provided values.
m3dbUserConfig M3DbM3dbUserConfigArgs
defines M3 specific additional configuration options. The following configuration options available:
maintenanceWindowDow string
day of week when maintenance operations should be performed. On monday, tuesday, wednesday, etc.
maintenanceWindowTime string
time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
plan string
defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are hobbyist, startup-x, business-x and premium-x where x is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The exact options can be seen from the Aiven web console’s Create Service dialog.
project string
identifies the project the service belongs to. To set up proper dependency between the project and the service, refer to the project as shown in the above example. Project cannot be changed later without destroying and re-creating the service.
projectVpcId string
optionally specifies the VPC the service should run in. If the value is not set the service is not run inside a VPC. When set, the value should be given as a reference as shown above to set up dependencies correctly and the VPC must be in the same cloud and region as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new servers so the operation can take significant amount of time to complete if the service has a lot of data.
serviceHost string
M3 hostname.
serviceIntegrations M3DbServiceIntegrationArgs[]
Service integrations to specify when creating a service. Not applied after initial service creation
serviceName string
specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.
servicePassword string
Password used for connecting to the M3 service, if applicable.
servicePort number
M3 port.
serviceType string
Aiven internal service type code
serviceUri string
URI for connecting to the M3 service.
serviceUsername string
Username used for connecting to the M3 service, if applicable.
state string
Service state.
terminationProtection boolean
prevents the service from being deleted. It is recommended to set this to true for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.
cloud_name str
defines where the cloud provider and region where the service is hosted in. This can be changed freely after service is created. Changing the value will trigger a potentially lengthy migration process for the service. Format is cloud provider name (aws, azure, do google, upcloud, etc.), dash, and the cloud provider specific region name. These are documented on each Cloud provider’s own support articles, like here for Google and here for AWS.
components Sequence[M3DbComponentArgs]
Service component information objects
m3db M3DbM3dbArgs
M3 specific server provided values.
m3db_user_config M3DbM3dbUserConfigArgs
defines M3 specific additional configuration options. The following configuration options available:
maintenance_window_dow str
day of week when maintenance operations should be performed. On monday, tuesday, wednesday, etc.
maintenance_window_time str
time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
plan str
defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are hobbyist, startup-x, business-x and premium-x where x is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The exact options can be seen from the Aiven web console’s Create Service dialog.
project str
identifies the project the service belongs to. To set up proper dependency between the project and the service, refer to the project as shown in the above example. Project cannot be changed later without destroying and re-creating the service.
project_vpc_id str
optionally specifies the VPC the service should run in. If the value is not set the service is not run inside a VPC. When set, the value should be given as a reference as shown above to set up dependencies correctly and the VPC must be in the same cloud and region as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new servers so the operation can take significant amount of time to complete if the service has a lot of data.
service_host str
M3 hostname.
service_integrations Sequence[M3DbServiceIntegrationArgs]
Service integrations to specify when creating a service. Not applied after initial service creation
service_name str
specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.
service_password str
Password used for connecting to the M3 service, if applicable.
service_port int
M3 port.
service_type str
Aiven internal service type code
service_uri str
URI for connecting to the M3 service.
service_username str
Username used for connecting to the M3 service, if applicable.
state str
Service state.
termination_protection bool
prevents the service from being deleted. It is recommended to set this to true for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.

Supporting Types

M3DbComponent

Component string
Host string
KafkaAuthenticationMethod string
Port int
Route string
Ssl bool
Usage string
Component string
Host string
KafkaAuthenticationMethod string
Port int
Route string
Ssl bool
Usage string
component string
host string
kafkaAuthenticationMethod string
port number
route string
ssl boolean
usage string

M3DbM3dbUserConfig

CustomDomain string
Serve the web frontend using a custom CNAME pointing to the Aiven DNS name.
IpFilters List<string>
Allow incoming connections from CIDR address block, e.g. ‘10.20.0.0/16’
Limits M3DbM3dbUserConfigLimitsArgs
M3 limits
M3Version string
M3coordinatorEnableGraphiteCarbonIngest string
Enables access to Graphite Carbon plaintext metrics ingestion. It can be enabled only for services inside VPCs. The metrics are written to aggregated namespaces only.
M3dbVersion string
M3 major version
Namespaces List<M3DbM3dbUserConfigNamespaceArgs>
List of M3 namespaces
PrivateAccess M3DbM3dbUserConfigPrivateAccessArgs
Allow access to selected service ports from private networks.
ProjectToForkFrom string
Name of another project to fork a service from. This has effect only when a new service is being created.
PublicAccess M3DbM3dbUserConfigPublicAccessArgs
Allow access to selected service ports from the public Internet.
Rules M3DbM3dbUserConfigRulesArgs
Mapping rules allow more granular use of aggregation, not simply sending everything to a namespace. If mapping rules exist that target a namespace, only data matching mapping rules will be sent to it and nothing else.
ServiceToForkFrom string
Name of another service to fork from. This has effect only when a new service is being created.
CustomDomain string
Serve the web frontend using a custom CNAME pointing to the Aiven DNS name.
IpFilters []string
Allow incoming connections from CIDR address block, e.g. ‘10.20.0.0/16’
Limits M3DbM3dbUserConfigLimits
M3 limits
M3Version string
M3coordinatorEnableGraphiteCarbonIngest string
Enables access to Graphite Carbon plaintext metrics ingestion. It can be enabled only for services inside VPCs. The metrics are written to aggregated namespaces only.
M3dbVersion string
M3 major version
Namespaces []M3DbM3dbUserConfigNamespace
List of M3 namespaces
PrivateAccess M3DbM3dbUserConfigPrivateAccess
Allow access to selected service ports from private networks.
ProjectToForkFrom string
Name of another project to fork a service from. This has effect only when a new service is being created.
PublicAccess M3DbM3dbUserConfigPublicAccess
Allow access to selected service ports from the public Internet.
Rules M3DbM3dbUserConfigRules
Mapping rules allow more granular use of aggregation, not simply sending everything to a namespace. If mapping rules exist that target a namespace, only data matching mapping rules will be sent to it and nothing else.
ServiceToForkFrom string
Name of another service to fork from. This has effect only when a new service is being created.
customDomain string
Serve the web frontend using a custom CNAME pointing to the Aiven DNS name.
ipFilters string[]
Allow incoming connections from CIDR address block, e.g. ‘10.20.0.0/16’
limits M3DbM3dbUserConfigLimitsArgs
M3 limits
m3Version string
m3coordinatorEnableGraphiteCarbonIngest string
Enables access to Graphite Carbon plaintext metrics ingestion. It can be enabled only for services inside VPCs. The metrics are written to aggregated namespaces only.
m3dbVersion string
M3 major version
namespaces M3DbM3dbUserConfigNamespaceArgs[]
List of M3 namespaces
privateAccess M3DbM3dbUserConfigPrivateAccessArgs
Allow access to selected service ports from private networks.
projectToForkFrom string
Name of another project to fork a service from. This has effect only when a new service is being created.
publicAccess M3DbM3dbUserConfigPublicAccessArgs
Allow access to selected service ports from the public Internet.
rules M3DbM3dbUserConfigRulesArgs
Mapping rules allow more granular use of aggregation, not simply sending everything to a namespace. If mapping rules exist that target a namespace, only data matching mapping rules will be sent to it and nothing else.
serviceToForkFrom string
Name of another service to fork from. This has effect only when a new service is being created.
custom_domain str
Serve the web frontend using a custom CNAME pointing to the Aiven DNS name.
ip_filters Sequence[str]
Allow incoming connections from CIDR address block, e.g. ‘10.20.0.0/16’
limits M3DbM3dbUserConfigLimitsArgs
M3 limits
m3_version str
m3coordinator_enable_graphite_carbon_ingest str
Enables access to Graphite Carbon plaintext metrics ingestion. It can be enabled only for services inside VPCs. The metrics are written to aggregated namespaces only.
m3db_version str
M3 major version
namespaces Sequence[M3DbM3dbUserConfigNamespaceArgs]
List of M3 namespaces
private_access M3DbM3dbUserConfigPrivateAccessArgs
Allow access to selected service ports from private networks.
project_to_fork_from str
Name of another project to fork a service from. This has effect only when a new service is being created.
public_access M3DbM3dbUserConfigPublicAccessArgs
Allow access to selected service ports from the public Internet.
rules M3DbM3dbUserConfigRulesArgs
Mapping rules allow more granular use of aggregation, not simply sending everything to a namespace. If mapping rules exist that target a namespace, only data matching mapping rules will be sent to it and nothing else.
service_to_fork_from str
Name of another service to fork from. This has effect only when a new service is being created.

M3DbM3dbUserConfigLimits

GlobalDatapoints string
The maximum number of data points fetched during request
QueryDatapoints string
The maximum number of data points fetched in single query
QueryRequireExhaustive string
When query limits are exceeded, whether to return error (if True) or return partial results (False)
QuerySeries string
The maximum number of series fetched in single query
GlobalDatapoints string
The maximum number of data points fetched during request
QueryDatapoints string
The maximum number of data points fetched in single query
QueryRequireExhaustive string
When query limits are exceeded, whether to return error (if True) or return partial results (False)
QuerySeries string
The maximum number of series fetched in single query
globalDatapoints string
The maximum number of data points fetched during request
queryDatapoints string
The maximum number of data points fetched in single query
queryRequireExhaustive string
When query limits are exceeded, whether to return error (if True) or return partial results (False)
querySeries string
The maximum number of series fetched in single query
global_datapoints str
The maximum number of data points fetched during request
query_datapoints str
The maximum number of data points fetched in single query
query_require_exhaustive str
When query limits are exceeded, whether to return error (if True) or return partial results (False)
query_series str
The maximum number of series fetched in single query

M3DbM3dbUserConfigNamespace

Name string
The name of the namespace
Options M3DbM3dbUserConfigNamespaceOptionsArgs
Namespace options
Resolution string
The resolution for an aggregated namespace
Type string
The type of aggregation (aggregated/unaggregated)
Name string
The name of the namespace
Options M3DbM3dbUserConfigNamespaceOptions
Namespace options
Resolution string
The resolution for an aggregated namespace
Type string
The type of aggregation (aggregated/unaggregated)
name string
The name of the namespace
options M3DbM3dbUserConfigNamespaceOptionsArgs
Namespace options
resolution string
The resolution for an aggregated namespace
type string
The type of aggregation (aggregated/unaggregated)
name str
The name of the namespace
options M3DbM3dbUserConfigNamespaceOptionsArgs
Namespace options
resolution str
The resolution for an aggregated namespace
type str
The type of aggregation (aggregated/unaggregated)

M3DbM3dbUserConfigNamespaceOptions

RetentionOptions M3DbM3dbUserConfigNamespaceOptionsRetentionOptionsArgs
Retention options
SnapshotEnabled string
Controls whether M3DB will create snapshot files for this namespace
WritesToCommitlog string
Controls whether M3DB will include writes to this namespace in the commitlog.
RetentionOptions M3DbM3dbUserConfigNamespaceOptionsRetentionOptions
Retention options
SnapshotEnabled string
Controls whether M3DB will create snapshot files for this namespace
WritesToCommitlog string
Controls whether M3DB will include writes to this namespace in the commitlog.
retentionOptions M3DbM3dbUserConfigNamespaceOptionsRetentionOptionsArgs
Retention options
snapshotEnabled string
Controls whether M3DB will create snapshot files for this namespace
writesToCommitlog string
Controls whether M3DB will include writes to this namespace in the commitlog.
retention_options M3DbM3dbUserConfigNamespaceOptionsRetentionOptionsArgs
Retention options
snapshot_enabled str
Controls whether M3DB will create snapshot files for this namespace
writes_to_commitlog str
Controls whether M3DB will include writes to this namespace in the commitlog.

M3DbM3dbUserConfigNamespaceOptionsRetentionOptions

BlockDataExpiryDuration string
Controls how long we wait before expiring stale data
BlocksizeDuration string
Controls how long to keep a block in memory before flushing to a fileset on disk
BufferFutureDuration string
Controls how far into the future writes to the namespace will be accepted
BufferPastDuration string
Controls how far into the past writes to the namespace will be accepted
RetentionPeriodDuration string
Controls the duration of time that M3DB will retain data for the namespace
BlockDataExpiryDuration string
Controls how long we wait before expiring stale data
BlocksizeDuration string
Controls how long to keep a block in memory before flushing to a fileset on disk
BufferFutureDuration string
Controls how far into the future writes to the namespace will be accepted
BufferPastDuration string
Controls how far into the past writes to the namespace will be accepted
RetentionPeriodDuration string
Controls the duration of time that M3DB will retain data for the namespace
blockDataExpiryDuration string
Controls how long we wait before expiring stale data
blocksizeDuration string
Controls how long to keep a block in memory before flushing to a fileset on disk
bufferFutureDuration string
Controls how far into the future writes to the namespace will be accepted
bufferPastDuration string
Controls how far into the past writes to the namespace will be accepted
retentionPeriodDuration string
Controls the duration of time that M3DB will retain data for the namespace
block_data_expiry_duration str
Controls how long we wait before expiring stale data
blocksize_duration str
Controls how long to keep a block in memory before flushing to a fileset on disk
buffer_future_duration str
Controls how far into the future writes to the namespace will be accepted
buffer_past_duration str
Controls how far into the past writes to the namespace will be accepted
retention_period_duration str
Controls the duration of time that M3DB will retain data for the namespace

M3DbM3dbUserConfigPrivateAccess

M3coordinator string
Allow clients to connect to m3coordinator from the public internet for service nodes that are in a project VPC or another type of private network.
M3coordinator string
Allow clients to connect to m3coordinator from the public internet for service nodes that are in a project VPC or another type of private network.
m3coordinator string
Allow clients to connect to m3coordinator from the public internet for service nodes that are in a project VPC or another type of private network.
m3coordinator str
Allow clients to connect to m3coordinator from the public internet for service nodes that are in a project VPC or another type of private network.

M3DbM3dbUserConfigPublicAccess

M3coordinator string
Allow clients to connect to m3coordinator from the public internet for service nodes that are in a project VPC or another type of private network.
M3coordinator string
Allow clients to connect to m3coordinator from the public internet for service nodes that are in a project VPC or another type of private network.
m3coordinator string
Allow clients to connect to m3coordinator from the public internet for service nodes that are in a project VPC or another type of private network.
m3coordinator str
Allow clients to connect to m3coordinator from the public internet for service nodes that are in a project VPC or another type of private network.

M3DbM3dbUserConfigRules

M3DbM3dbUserConfigRulesMapping

Aggregations List<string>
List of aggregations to be applied
Drop string
Drop the matching metric; Only store the derived metric (as specified in the roll-up rules), if any.
Filter string
The metrics to be used with this particular rule; Matching metric names with wildcards (using name:wildcard) or matching tags and their (optionally wildcarded) values. For value, ! can be used at start of value for negation, and multiple filters can be supplied using space as separator.
Name string
The name of the namespace
Tags List<M3DbM3dbUserConfigRulesMappingTagArgs>
List of tags to be appended to matching metrics.
Aggregations []string
List of aggregations to be applied
Drop string
Drop the matching metric; Only store the derived metric (as specified in the roll-up rules), if any.
Filter string
The metrics to be used with this particular rule; Matching metric names with wildcards (using name:wildcard) or matching tags and their (optionally wildcarded) values. For value, ! can be used at start of value for negation, and multiple filters can be supplied using space as separator.
Name string
The name of the namespace
Tags []M3DbM3dbUserConfigRulesMappingTag
List of tags to be appended to matching metrics.
aggregations string[]
List of aggregations to be applied
drop string
Drop the matching metric; Only store the derived metric (as specified in the roll-up rules), if any.
filter string
The metrics to be used with this particular rule; Matching metric names with wildcards (using name:wildcard) or matching tags and their (optionally wildcarded) values. For value, ! can be used at start of value for negation, and multiple filters can be supplied using space as separator.
name string
The name of the namespace
tags M3DbM3dbUserConfigRulesMappingTagArgs[]
List of tags to be appended to matching metrics.
aggregations Sequence[str]
List of aggregations to be applied
drop str
Drop the matching metric; Only store the derived metric (as specified in the roll-up rules), if any.
filter str
The metrics to be used with this particular rule; Matching metric names with wildcards (using name:wildcard) or matching tags and their (optionally wildcarded) values. For value, ! can be used at start of value for negation, and multiple filters can be supplied using space as separator.
name str
The name of the namespace
tags Sequence[M3DbM3dbUserConfigRulesMappingTagArgs]
List of tags to be appended to matching metrics.

M3DbM3dbUserConfigRulesMappingTag

Name string
The name of the namespace
Value string
Value of the tag.
Name string
The name of the namespace
Value string
Value of the tag.
name string
The name of the namespace
value string
Value of the tag.
name str
The name of the namespace
value str
Value of the tag.

M3DbServiceIntegration

Package Details

Repository
https://github.com/pulumi/pulumi-aiven
License
Apache-2.0
Notes
This Pulumi package is based on the aiven Terraform Provider.