import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Creates and manages an [Aiven project](https://aiven.io/docs/platform/concepts/orgs-units-projects#projects). You should create projects in organizations or organizational units using the `parentId` field. In a future release, this resource will be replaced by `aiven.OrganizationProject` resource, which requires the `parentId` field. * * ## Import * * ```sh * $ pulumi import aiven:index/project:Project example_project PROJECT * ``` */ export declare class Project extends pulumi.CustomResource { /** * Get an existing Project 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?: ProjectState, opts?: pulumi.CustomResourceOptions): Project; /** * Returns true if the given object is an instance of Project. 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 Project; /** * Link a project to an existing account using its account ID. This field is deprecated. Use `parentId` instead. To set up proper dependencies please refer to this variable as a reference. * * @deprecated Use parentId instead. This field will be removed in the next major release. */ readonly accountId: pulumi.Output; /** * If parentId is set, grant account owner team admin access to the new project. The default value is `true`. * * @deprecated This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. */ readonly addAccountOwnersAdminAccess: pulumi.Output; /** * The number of trial or promotional credits remaining for this project. * * @deprecated This field is deprecated on the resource and is no longer populated. Use the `aiven.Project` data source to read this value. It will be removed in the next major release. */ readonly availableCredits: pulumi.Output; /** * The ID of the billing group this project is assigned to. To set up proper dependencies please refer to this variable as a reference. */ readonly billingGroup: pulumi.Output; /** * The CA certificate for the project. This is required for configuring clients that connect to certain services like Kafka. */ readonly caCert: pulumi.Output; /** * The name of the project to copy billing information, technical contacts, and some other project attributes from. This is most useful to set up the same billing method when you use bank transfers to pay invoices for other projects. You can only do this when creating a project. You can't set the billing over the API for an existing. To set up proper dependencies please refer to this variable as a reference. */ readonly copyFromProject: pulumi.Output; /** * Default cloud provider and region where services are hosted. This can be changed after the project is created and will not affect existing services. */ readonly defaultCloud: pulumi.Output; /** * The monthly running estimate for this project for the current billing period. * * @deprecated This field is deprecated on the resource and is no longer populated. Use the `aiven.Project` data source to read this value. It will be removed in the next major release. */ readonly estimatedBalance: pulumi.Output; /** * Link a project to an [organization or organizational unit](https://aiven.io/docs/platform/concepts/orgs-units-projects) by using its ID. To set up proper dependencies please refer to this variable as a reference. */ readonly parentId: pulumi.Output; /** * The payment type used for this project. For example,`card`. */ readonly paymentMethod: pulumi.Output; /** * The name of the project. Names must be globally unique among all Aiven customers and cannot be changed later without destroying and re-creating the project, including all sub-resources. */ readonly project: pulumi.Output; /** * Tags are key-value pairs that allow you to categorize projects. */ readonly tags: pulumi.Output; /** * The email addresses for [project contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this project and its services. You can also set email contacts at the service level. It's good practice to keep these up-to-date to be aware of any potential issues with your project. */ readonly technicalEmails: pulumi.Output; /** * Use the same billing group that is used in source project. * * @deprecated This field is deprecated and will be removed in the next major release. */ readonly useSourceProjectBillingGroup: pulumi.Output; /** * Create a Project 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: ProjectArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Project resources. */ export interface ProjectState { /** * Link a project to an existing account using its account ID. This field is deprecated. Use `parentId` instead. To set up proper dependencies please refer to this variable as a reference. * * @deprecated Use parentId instead. This field will be removed in the next major release. */ accountId?: pulumi.Input; /** * If parentId is set, grant account owner team admin access to the new project. The default value is `true`. * * @deprecated This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. */ addAccountOwnersAdminAccess?: pulumi.Input; /** * The number of trial or promotional credits remaining for this project. * * @deprecated This field is deprecated on the resource and is no longer populated. Use the `aiven.Project` data source to read this value. It will be removed in the next major release. */ availableCredits?: pulumi.Input; /** * The ID of the billing group this project is assigned to. To set up proper dependencies please refer to this variable as a reference. */ billingGroup?: pulumi.Input; /** * The CA certificate for the project. This is required for configuring clients that connect to certain services like Kafka. */ caCert?: pulumi.Input; /** * The name of the project to copy billing information, technical contacts, and some other project attributes from. This is most useful to set up the same billing method when you use bank transfers to pay invoices for other projects. You can only do this when creating a project. You can't set the billing over the API for an existing. To set up proper dependencies please refer to this variable as a reference. */ copyFromProject?: pulumi.Input; /** * Default cloud provider and region where services are hosted. This can be changed after the project is created and will not affect existing services. */ defaultCloud?: pulumi.Input; /** * The monthly running estimate for this project for the current billing period. * * @deprecated This field is deprecated on the resource and is no longer populated. Use the `aiven.Project` data source to read this value. It will be removed in the next major release. */ estimatedBalance?: pulumi.Input; /** * Link a project to an [organization or organizational unit](https://aiven.io/docs/platform/concepts/orgs-units-projects) by using its ID. To set up proper dependencies please refer to this variable as a reference. */ parentId?: pulumi.Input; /** * The payment type used for this project. For example,`card`. */ paymentMethod?: pulumi.Input; /** * The name of the project. Names must be globally unique among all Aiven customers and cannot be changed later without destroying and re-creating the project, including all sub-resources. */ project?: pulumi.Input; /** * Tags are key-value pairs that allow you to categorize projects. */ tags?: pulumi.Input[] | undefined>; /** * The email addresses for [project contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this project and its services. You can also set email contacts at the service level. It's good practice to keep these up-to-date to be aware of any potential issues with your project. */ technicalEmails?: pulumi.Input[] | undefined>; /** * Use the same billing group that is used in source project. * * @deprecated This field is deprecated and will be removed in the next major release. */ useSourceProjectBillingGroup?: pulumi.Input; } /** * The set of arguments for constructing a Project resource. */ export interface ProjectArgs { /** * Link a project to an existing account using its account ID. This field is deprecated. Use `parentId` instead. To set up proper dependencies please refer to this variable as a reference. * * @deprecated Use parentId instead. This field will be removed in the next major release. */ accountId?: pulumi.Input; /** * If parentId is set, grant account owner team admin access to the new project. The default value is `true`. * * @deprecated This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest. */ addAccountOwnersAdminAccess?: pulumi.Input; /** * The ID of the billing group this project is assigned to. To set up proper dependencies please refer to this variable as a reference. */ billingGroup?: pulumi.Input; /** * The name of the project to copy billing information, technical contacts, and some other project attributes from. This is most useful to set up the same billing method when you use bank transfers to pay invoices for other projects. You can only do this when creating a project. You can't set the billing over the API for an existing. To set up proper dependencies please refer to this variable as a reference. */ copyFromProject?: pulumi.Input; /** * Default cloud provider and region where services are hosted. This can be changed after the project is created and will not affect existing services. */ defaultCloud?: pulumi.Input; /** * Link a project to an [organization or organizational unit](https://aiven.io/docs/platform/concepts/orgs-units-projects) by using its ID. To set up proper dependencies please refer to this variable as a reference. */ parentId?: pulumi.Input; /** * The name of the project. Names must be globally unique among all Aiven customers and cannot be changed later without destroying and re-creating the project, including all sub-resources. */ project: pulumi.Input; /** * Tags are key-value pairs that allow you to categorize projects. */ tags?: pulumi.Input[] | undefined>; /** * The email addresses for [project contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this project and its services. You can also set email contacts at the service level. It's good practice to keep these up-to-date to be aware of any potential issues with your project. */ technicalEmails?: pulumi.Input[] | undefined>; /** * Use the same billing group that is used in source project. * * @deprecated This field is deprecated and will be removed in the next major release. */ useSourceProjectBillingGroup?: pulumi.Input; } //# sourceMappingURL=project.d.ts.map