UNPKG

awscdk-resources-mongodbatlas

Version:

MongoDB Atlas CDK Construct Library for AWS CloudFormation Resources

193 lines (192 loc) 6.86 kB
import * as cdk from "aws-cdk-lib"; import * as constructs from "constructs"; /** * Retrieves or creates projects in any given Atlas organization. * * @schema CfnProjectProps */ export interface CfnProjectProps { /** * Name of the project to create. * * @schema CfnProjectProps#Name */ readonly name: string; /** * Unique identifier of the organization within which to create the project. * * @schema CfnProjectProps#OrgId */ readonly orgId: string; /** * Unique identifier of the organization within which to create the project. * * @schema CfnProjectProps#ProjectOwnerId */ readonly projectOwnerId?: string; /** * Flag that indicates whether to create the project with default alert settings. * * @schema CfnProjectProps#WithDefaultAlertsSettings */ readonly withDefaultAlertsSettings?: boolean; /** * @schema CfnProjectProps#ProjectSettings */ readonly projectSettings?: ProjectSettings; /** * Profile used to provide credentials information, (a secret with the cfn/atlas/profile/{Profile}, is required), if not provided default is used * * @schema CfnProjectProps#Profile */ readonly profile?: string; /** * Teams to which the authenticated user has access in the project specified using its unique 24-hexadecimal digit identifier. * * @schema CfnProjectProps#ProjectTeams */ readonly projectTeams?: ProjectTeam[]; /** * API keys that you assigned to the specified project. * * @schema CfnProjectProps#ProjectApiKeys */ readonly projectApiKeys?: ProjectApiKey[]; /** * Region usage restrictions that designate the project's AWS region.Enum: "GOV_REGIONS_ONLY" "COMMERCIAL_FEDRAMP_REGIONS_ONLY" "NONE" * * @schema CfnProjectProps#RegionUsageRestrictions */ readonly regionUsageRestrictions?: string; /** * @schema CfnProjectProps#Tags */ readonly tags?: any; } /** * Converts an object of type 'CfnProjectProps' to JSON representation. */ export declare function toJson_CfnProjectProps(obj: CfnProjectProps | undefined): Record<string, any> | undefined; /** * @schema projectSettings */ export interface ProjectSettings { /** * Flag that indicates whether to collect database-specific metrics for the specified project. * * @schema projectSettings#IsCollectDatabaseSpecificsStatisticsEnabled */ readonly isCollectDatabaseSpecificsStatisticsEnabled?: boolean; /** * Flag that indicates whether to enable the Data Explorer for the specified project. * * @schema projectSettings#IsDataExplorerEnabled */ readonly isDataExplorerEnabled?: boolean; /** * Flag that indicates whether to enable extended storage sizes for the specified project. * * @schema projectSettings#IsExtendedStorageSizesEnabled */ readonly isExtendedStorageSizesEnabled?: boolean; /** * Flag that indicates whether to enable the Performance Advisor and Profiler for the specified project. * * @schema projectSettings#IsPerformanceAdvisorEnabled */ readonly isPerformanceAdvisorEnabled?: boolean; /** * Flag that indicates whether to enable the Real Time Performance Panel for the specified project. * * @schema projectSettings#IsRealtimePerformancePanelEnabled */ readonly isRealtimePerformancePanelEnabled?: boolean; /** * Flag that indicates whether to enable the Schema Advisor for the specified project. * * @schema projectSettings#IsSchemaAdvisorEnabled */ readonly isSchemaAdvisorEnabled?: boolean; } /** * Converts an object of type 'ProjectSettings' to JSON representation. */ export declare function toJson_ProjectSettings(obj: ProjectSettings | undefined): Record<string, any> | undefined; /** * @schema projectTeam */ export interface ProjectTeam { /** * Unique 24-hexadecimal character string that identifies the team. string = 24 characters ^([a-f0-9]{24})$ * * @schema projectTeam#TeamId */ readonly teamId?: string; /** * One or more organization- or project-level roles to assign to the MongoDB Cloud user. tems Enum: "GROUP_CLUSTER_MANAGER" "GROUP_DATA_ACCESS_ADMIN" "GROUP_DATA_ACCESS_READ_ONLY" "GROUP_DATA_ACCESS_READ_WRITE" "GROUP_OWNER" "GROUP_READ_ONLY" * * @schema projectTeam#RoleNames */ readonly roleNames?: string[]; } /** * Converts an object of type 'ProjectTeam' to JSON representation. */ export declare function toJson_ProjectTeam(obj: ProjectTeam | undefined): Record<string, any> | undefined; /** * @schema projectApiKey */ export interface ProjectApiKey { /** * Unique 24-hexadecimal digit string that identifies this organization API key assigned to this project. * * @schema projectApiKey#Key */ readonly key?: string; /** * List of roles to grant this API key. If you provide this list, provide a minimum of one role and ensure each role applies to this project.Items Enum: "ORG_OWNER" "ORG_MEMBER" "ORG_GROUP_CREATOR" "ORG_BILLING_ADMIN" "ORG_READ_ONLY" "ORG_TEAM_MEMBERS_ADMIN" "GROUP_ATLAS_ADMIN" "GROUP_AUTOMATION_ADMIN" "GROUP_BACKUP_ADMIN" "GROUP_MONITORING_ADMIN" "GROUP_OWNER" "GROUP_READ_ONLY" "GROUP_USER_ADMIN" "GROUP_BILLING_ADMIN" "GROUP_DATA_ACCESS_ADMIN" "GROUP_DATA_ACCESS_READ_ONLY" "GROUP_DATA_ACCESS_READ_WRITE" "GROUP_CHARTS_ADMIN" "GROUP_CLUSTER_MANAGER" "GROUP_SEARCH_INDEX_EDITOR" * * @schema projectApiKey#RoleNames */ readonly roleNames?: string[]; } /** * Converts an object of type 'ProjectApiKey' to JSON representation. */ export declare function toJson_ProjectApiKey(obj: ProjectApiKey | undefined): Record<string, any> | undefined; /** * A CloudFormation `MongoDB::Atlas::Project` * * @cloudformationResource MongoDB::Atlas::Project * @stability external */ export declare class CfnProject extends cdk.CfnResource { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME = "MongoDB::Atlas::Project"; /** * Resource props. */ readonly props: CfnProjectProps; /** * Attribute `MongoDB::Atlas::Project.Id` */ readonly attrId: string; /** * Attribute `MongoDB::Atlas::Project.Created` */ readonly attrCreated: string; /** * Attribute `MongoDB::Atlas::Project.ClusterCount` */ readonly attrClusterCount: number; /** * Create a new `MongoDB::Atlas::Project`. * * @param scope - scope in which this resource is defined * @param id - scoped id of the resource * @param props - resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnProjectProps); }