import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Creates and manages an [Aiven for Apache FlinkĀ® service](https://aiven.io/docs/products/flink/concepts/flink-features). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aiven from "@pulumi/aiven"; * * const exampleFlink = new aiven.Flink("example_flink", { * flinkUserConfig: { * flinkVersion: "1.19", * }, * project: exampleProject.project, * cloudName: "google-europe-west1", * plan: "business-4", * serviceName: "example-flink-service", * maintenanceWindowDow: "monday", * maintenanceWindowTime: "10:00:00", * }); * ``` * * ## Import * * ```sh * $ pulumi import aiven:index/flink:Flink example_flink PROJECT/SERVICE_NAME * ``` */ export declare class Flink extends pulumi.CustomResource { /** * Get an existing Flink resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: FlinkState, opts?: pulumi.CustomResourceOptions): Flink; /** * Returns true if the given object is an instance of Flink. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Flink; /** * Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the `plan`. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes. */ readonly additionalDiskSpace: pulumi.Output; /** * The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation. */ readonly cloudName: pulumi.Output; /** * UUID of the Customer Managed Key (CMK) used to apply [bring your own key (BYOK) encryption](https://aiven.io/docs/platform/howto/bring-your-own-key) to this service's data at rest. You can register a CMK for an Aiven project using the `aiven.Cmk` resource. Removing this attribute doesn't remove the CMK association. To remove it from this service, set this attribute to the all-zero UUID `00000000-0000-0000-0000-000000000000`. */ readonly cmkId: pulumi.Output; /** * Service component information objects */ readonly components: pulumi.Output; /** * Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing. */ readonly diskSpace: pulumi.Output; /** * The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project. */ readonly diskSpaceCap: pulumi.Output; /** * The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for `diskSpace` */ readonly diskSpaceDefault: pulumi.Output; /** * The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. `diskSpace` needs to increment from `diskSpaceDefault` by increments of this size. */ readonly diskSpaceStep: pulumi.Output; /** * The disk space that the service is currently using. This is the sum of the `plan` default disk space and `additionalDiskSpace` in human-readable format (for example: `90GiB`). */ readonly diskSpaceUsed: pulumi.Output; /** * Values provided by the Flink server. */ readonly flink: pulumi.Output; /** * Flink user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ readonly flinkUserConfig: pulumi.Output; /** * Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc. */ readonly maintenanceWindowDow: pulumi.Output; /** * Indicates whether the maintenance window is currently enabled for this service. */ readonly maintenanceWindowEnabled: pulumi.Output; /** * Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format. */ readonly maintenanceWindowTime: pulumi.Output; /** * Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, `myPlan16`). 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 available options can be seen from the [Aiven pricing page](https://aiven.io/pricing). */ readonly plan: pulumi.Output; /** * The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource. */ readonly project: pulumi.Output; /** * Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data. */ readonly projectVpcId: pulumi.Output; /** * The hostname of the service. */ readonly serviceHost: pulumi.Output; /** * Service integrations to specify when creating a service. Not applied after initial service creation */ readonly serviceIntegrations: pulumi.Output; /** * 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. */ readonly serviceName: pulumi.Output; /** * Password used for connecting to the service, if applicable */ readonly servicePassword: pulumi.Output; /** * The port of the service */ readonly servicePort: pulumi.Output; /** * Aiven internal service type code */ readonly serviceType: pulumi.Output; /** * URI for connecting to the service. Service specific info is under "kafka", "pg", etc. */ readonly serviceUri: pulumi.Output; /** * Username used for connecting to the service, if applicable */ readonly serviceUsername: pulumi.Output; /** * Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle). */ readonly state: pulumi.Output; /** * Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again */ readonly staticIps: pulumi.Output; /** * Tags are key-value pairs that allow you to categorize services. */ readonly tags: pulumi.Output; /** * The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level. */ readonly techEmails: pulumi.Output; /** * 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. */ readonly terminationProtection: pulumi.Output; /** * Create a Flink resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: FlinkArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Flink resources. */ export interface FlinkState { /** * Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the `plan`. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes. */ additionalDiskSpace?: pulumi.Input; /** * The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation. */ cloudName?: pulumi.Input; /** * UUID of the Customer Managed Key (CMK) used to apply [bring your own key (BYOK) encryption](https://aiven.io/docs/platform/howto/bring-your-own-key) to this service's data at rest. You can register a CMK for an Aiven project using the `aiven.Cmk` resource. Removing this attribute doesn't remove the CMK association. To remove it from this service, set this attribute to the all-zero UUID `00000000-0000-0000-0000-000000000000`. */ cmkId?: pulumi.Input; /** * Service component information objects */ components?: pulumi.Input[] | undefined>; /** * Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing. */ diskSpace?: pulumi.Input; /** * The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project. */ diskSpaceCap?: pulumi.Input; /** * The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for `diskSpace` */ diskSpaceDefault?: pulumi.Input; /** * The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. `diskSpace` needs to increment from `diskSpaceDefault` by increments of this size. */ diskSpaceStep?: pulumi.Input; /** * The disk space that the service is currently using. This is the sum of the `plan` default disk space and `additionalDiskSpace` in human-readable format (for example: `90GiB`). */ diskSpaceUsed?: pulumi.Input; /** * Values provided by the Flink server. */ flink?: pulumi.Input; /** * Flink user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ flinkUserConfig?: pulumi.Input; /** * Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc. */ maintenanceWindowDow?: pulumi.Input; /** * Indicates whether the maintenance window is currently enabled for this service. */ maintenanceWindowEnabled?: pulumi.Input; /** * Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format. */ maintenanceWindowTime?: pulumi.Input; /** * Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, `myPlan16`). 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 available options can be seen from the [Aiven pricing page](https://aiven.io/pricing). */ plan?: pulumi.Input; /** * The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource. */ project?: pulumi.Input; /** * Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data. */ projectVpcId?: pulumi.Input; /** * The hostname of the service. */ serviceHost?: pulumi.Input; /** * Service integrations to specify when creating a service. Not applied after initial service creation */ serviceIntegrations?: pulumi.Input[] | undefined>; /** * 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. */ serviceName?: pulumi.Input; /** * Password used for connecting to the service, if applicable */ servicePassword?: pulumi.Input; /** * The port of the service */ servicePort?: pulumi.Input; /** * Aiven internal service type code */ serviceType?: pulumi.Input; /** * URI for connecting to the service. Service specific info is under "kafka", "pg", etc. */ serviceUri?: pulumi.Input; /** * Username used for connecting to the service, if applicable */ serviceUsername?: pulumi.Input; /** * Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle). */ state?: pulumi.Input; /** * Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again */ staticIps?: pulumi.Input[] | undefined>; /** * Tags are key-value pairs that allow you to categorize services. */ tags?: pulumi.Input[] | undefined>; /** * The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level. */ techEmails?: pulumi.Input[] | undefined>; /** * 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. */ terminationProtection?: pulumi.Input; } /** * The set of arguments for constructing a Flink resource. */ export interface FlinkArgs { /** * Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the `plan`. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes. */ additionalDiskSpace?: pulumi.Input; /** * The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation. */ cloudName?: pulumi.Input; /** * UUID of the Customer Managed Key (CMK) used to apply [bring your own key (BYOK) encryption](https://aiven.io/docs/platform/howto/bring-your-own-key) to this service's data at rest. You can register a CMK for an Aiven project using the `aiven.Cmk` resource. Removing this attribute doesn't remove the CMK association. To remove it from this service, set this attribute to the all-zero UUID `00000000-0000-0000-0000-000000000000`. */ cmkId?: pulumi.Input; /** * Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing. */ diskSpace?: pulumi.Input; /** * Values provided by the Flink server. */ flink?: pulumi.Input; /** * Flink user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later */ flinkUserConfig?: pulumi.Input; /** * Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc. */ maintenanceWindowDow?: pulumi.Input; /** * Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format. */ maintenanceWindowTime?: pulumi.Input; /** * Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, `myPlan16`). 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 available options can be seen from the [Aiven pricing page](https://aiven.io/pricing). */ plan: pulumi.Input; /** * The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource. */ project: pulumi.Input; /** * Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data. */ projectVpcId?: pulumi.Input; /** * Service integrations to specify when creating a service. Not applied after initial service creation */ serviceIntegrations?: pulumi.Input[] | undefined>; /** * 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. */ serviceName: pulumi.Input; /** * Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again */ staticIps?: pulumi.Input[] | undefined>; /** * Tags are key-value pairs that allow you to categorize services. */ tags?: pulumi.Input[] | undefined>; /** * The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level. */ techEmails?: pulumi.Input[] | undefined>; /** * 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. */ terminationProtection?: pulumi.Input; } //# sourceMappingURL=flink.d.ts.map