@altostra/core
Version:
Core library for shared types and logic
37 lines (36 loc) • 1.55 kB
TypeScript
import type { DNSLabel } from "../../common/CustomTypes/DNSName";
import type { NonEmptyString } from "../../common/CustomTypes/NonEmptyString";
import type { SecurityGroupId } from "../../common/CustomTypes/SecurityGroupId";
import type { SubnetId } from "../../common/CustomTypes/SubnetId";
import type { ConnectionBase } from "./Common";
export declare type DomainConnectionType = 'connection.domain';
export interface DomainConnection extends ConnectionBase {
type: DomainConnectionType;
hostname: DNSLabel;
certificate: Certificate;
}
/**
* A certificate which is already stored in the cloud.
*/
export interface StoredCertificate {
type: 'cert.stored';
/**
* Certificate resource name such as an ARN
*/
uri: string;
}
export declare type Certificate = StoredCertificate;
export declare const isCertificate: import("@altostra/type-validations").ObjectOfTypeValidation<StoredCertificate>;
export declare const isDomainConnection: import("@altostra/type-validations").ObjectOfTypeValidation<DomainConnection>;
export declare type DomainServiceConnectionType = 'connection.domain.service';
export interface DomainServiceConnection extends ConnectionBase {
type: DomainServiceConnectionType;
certificate: Certificate;
hostname: DNSLabel;
vpc: {
securityGroupIds: SecurityGroupId[];
subnetIds: SubnetId[];
};
pathRules: NonEmptyString[];
}
export declare const isDomainServiceConnection: import("@altostra/type-validations").ObjectOfTypeValidation<DomainServiceConnection>;