import { Opaque } from 'type-fest'; export declare type AccountId = string; export declare type NeptuneClusterId = Opaque; export declare type NeptuneClusterName = Opaque; export declare type NeptuneClusterArn = Opaque; /** * The `NeptuneClusterSpec` describes how data is stored in the cluster. * This allows the data storage mechanism to be revised over time. */ export declare type NeptuneClusterSpec = { /** * Are properties in this cluster prefixed with `|` ? * * For example, with _accountId prefixing: * { * "j1dev|_type": "aws_instance" * ... * } * * For example, without _accountId prefixing: * { * "_type": "aws_instance" * ... * } */ useAccountIdPropertyPrefix: boolean; /** * Is this cluster hosted in AWS? */ isAws: boolean; }; /** * Configuration info for a single Neptune cluster. */ export declare type NeptuneClusterInfo = NeptuneClusterSpec & { /** * The name of the clsuter that is manually assigned by JupiterOne development * team. * * e.g. "cluster-002", "jupiterone-primary" */ clusterName: NeptuneClusterName; /** * The cluster endpoint DNS name for writing * * e.g. * "jupiterone-primary-20180906005043553800000002.cluster-cytv5jkqlhyc.us-east-1.neptune.amazonaws.com" */ writerEndpoint: string; /** * The cluster endpoint DNS name for reading * * e.g. * "jupiterone-primary-20180906005043553800000002.cluster-ro-cytv5jkqlhyc.us-east-1.neptune.amazonaws.com" */ readerEndpoint: string; /** * The AWS Neptune database cluster ID which used for querying information * about the cluster via the AWS Neptune API. This is the internal ID that is * assigned by AWS Neptune and it should _typically_ include the cluster name * as the prefix. * * e.g. "cluster-002-20201203002841138200000001", * "jupiterone-primary-20180906005043553800000002", etc. */ clusterId: NeptuneClusterId; /** * The ARN of the Neptune cluster. */ clusterArn: NeptuneClusterArn; /** * Neptune port number */ port: number; }; /** * A `PlatformNeptuneConfig` stores details about all Neptune clusters * related to the Neptune platform. */ export declare type PlatformNeptuneConfig = { /** * `clusterByName` contains the configuration of all Neptune clusters by * cluster name. */ clusters: NeptuneClusterInfo[]; /** * The name of the default current cluster (accounts that are not assigned to * a specific cluster will use the default cluster) */ defaultCurrentClusterName: NeptuneClusterName; /** * The name of the default current cluster (accounts that are not assigned to * a specific cluster will use the default cluster) */ defaultNextClusterName: NeptuneClusterName | undefined; /** * Timestamp when config was last updated */ lastUpdatedTimestamp: number; };