Domain L2 construct
Provides an Amazon OpenSearch Service domain.
Example
const domain = new Domain(this, 'Domain', {
version: EngineVersion.OPENSEARCH_1_0,
ebs: {
volumeSize: 100,
volumeType: ec2.EbsDeviceVolumeType.GENERAL_PURPOSE_SSD,
},
nodeToNodeEncryption: true,
encryptionAtRest: {
enabled: true,
},
});
from aws_cdk.aws_opensearchservice import EbsOptions, EncryptionAtRestOptions
domain = Domain(self, "Domain",
version=EngineVersion.OPENSEARCH_1_0,
ebs=EbsOptions(
volume_size=100,
volume_type=ec2.EbsDeviceVolumeType.GENERAL_PURPOSE_SSD
),
node_to_node_encryption=True,
encryption_at_rest=EncryptionAtRestOptions(
enabled=True
)
)
Domain domain = Domain.Builder.create(this, "Domain")
.version(EngineVersion.OPENSEARCH_1_0)
.ebs(EbsOptions.builder()
.volumeSize(100)
.volumeType(EbsDeviceVolumeType.GENERAL_PURPOSE_SSD)
.build())
.nodeToNodeEncryption(true)
.encryptionAtRest(EncryptionAtRestOptions.builder()
.enabled(true)
.build())
.build();
// Install: dotnet add package Amazon.CDK.Lib
var domain = new Domain(this, "Domain", new DomainProps {
Version = EngineVersion.OPENSEARCH_1_0,
Ebs = new EbsOptions {
VolumeSize = 100,
VolumeType = EbsDeviceVolumeType.GENERAL_PURPOSE_SSD
},
NodeToNodeEncryption = true,
EncryptionAtRest = new EncryptionAtRestOptions {
Enabled = true
}
});
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
domain := awscdk.NewDomain(this, jsii.String("Domain"), &DomainProps{
Version: awscdk.EngineVersion_OPENSEARCH_1_0(),
Ebs: &EbsOptions{
VolumeSize: jsii.Number(100),
VolumeType: ec2.EbsDeviceVolumeType_GENERAL_PURPOSE_SSD,
},
NodeToNodeEncryption: jsii.Boolean(true),
EncryptionAtRest: &EncryptionAtRestOptions{
Enabled: jsii.Boolean(true),
},
})
Initializer
new Domain(scope: Construct, id: string, props: DomainProps)
Domain(scope: Construct, id: str, props: DomainProps)
new Domain(Construct scope, String id, DomainProps props)
new Domain(Construct scope, string id, DomainProps props)
NewDomain(Scope Construct, Id *string, Props DomainProps)
Construct Props
accessPoliciesPolicyStatement[]access_policiestyping.List[PolicyStatement]accessPoliciesList<PolicyStatement>AccessPoliciesPolicyStatement[]AccessPolicies*[]PolicyStatement= No access policies.#advancedOptions{ [key: string]: string }advanced_optionstyping.Mapping[str, str]advancedOptionsMap<String, String>AdvancedOptionsIDictionary<string, string>AdvancedOptions*map[string]*string= no advanced options are specifie…#default
Default: no advanced options are specified
automatedSnapshotStartHournumberautomated_snapshot_start_hourint | floatautomatedSnapshotStartHourNumberAutomatedSnapshotStartHourdoubleAutomatedSnapshotStartHour*float64= Hourly automated snapshots not u…#Only applies for Elasticsearch versions below 5.3.
default
Default: Hourly automated snapshots not used
capacityCapacityConfigcapacityCapacityConfigcapacityCapacityConfigCapacityCapacityConfigCapacityCapacityConfig= 1 r5.large.search data node; no …#default
Default: 1 r5.large.search data node; no dedicated master nodes.
cognitoDashboardsAuthCognitoOptionscognito_dashboards_authCognitoOptionscognitoDashboardsAuthCognitoOptionsCognitoDashboardsAuthCognitoOptionsCognitoDashboardsAuthCognitoOptions= Cognito not used for authenticat…#default
Default: Cognito not used for authentication to OpenSearch Dashboards.
coldStorageEnabledbooleancold_storage_enabledboolcoldStorageEnabledBooleanColdStorageEnabledboolColdStorageEnabled*bool= undefined#You must enable UltraWarm storage to enable cold storage.
customEndpointCustomEndpointOptionscustom_endpointCustomEndpointOptionscustomEndpointCustomEndpointOptionsCustomEndpointCustomEndpointOptionsCustomEndpointCustomEndpointOptions= no custom domain endpoint will b…#If you specify a Route53 hosted zone it will create a CNAME record and use DNS validation for the certificate
default
Default: no custom domain endpoint will be configured
domainNamestringdomain_namestrdomainNameStringDomainNamestringDomainName*string= A name will be auto-generated.#ebsEbsOptionsebsEbsOptionsebsEbsOptionsEbsEbsOptionsEbsEbsOptions= 10 GiB General Purpose (SSD) vol…#default
Default: 10 GiB General Purpose (SSD) volumes per node.
enableAutoSoftwareUpdatebooleanenable_auto_software_updateboolenableAutoSoftwareUpdateBooleanEnableAutoSoftwareUpdateboolEnableAutoSoftwareUpdate*bool= false#enableVersionUpgradebooleanenable_version_upgradeboolenableVersionUpgradeBooleanEnableVersionUpgradeboolEnableVersionUpgrade*bool= false#encryptionAtRestEncryptionAtRestOptionsencryption_at_restEncryptionAtRestOptionsencryptionAtRestEncryptionAtRestOptionsEncryptionAtRestEncryptionAtRestOptionsEncryptionAtRestEncryptionAtRestOptions= No encryption at rest#fineGrainedAccessControlAdvancedSecurityOptionsfine_grained_access_controlAdvancedSecurityOptionsfineGrainedAccessControlAdvancedSecurityOptionsFineGrainedAccessControlAdvancedSecurityOptionsFineGrainedAccessControlAdvancedSecurityOptions= fine-grained access control is d…#Requires Elasticsearch version 6.7 or later or OpenSearch version 1.0 or later. Enabling fine-grained access control also requires encryption of data at rest and node-to-node encryption, along with enforced HTTPS.
default
Default: fine-grained access control is disabled
ipAddressTypeIpAddressTypeip_address_typeIpAddressTypeipAddressTypeIpAddressTypeIpAddressTypeIpAddressTypeIpAddressTypeIpAddressType= IpAddressType.IPV4#Dual stack allows you to share domain resources across IPv4 and IPv6 address types, and is the recommended option.
If you set your IP address type to dual stack, you can't change your address type later.
loggingLoggingOptionsloggingLoggingOptionsloggingLoggingOptionsLoggingLoggingOptionsLoggingLoggingOptions= No logs are published#nodeToNodeEncryptionbooleannode_to_node_encryptionboolnodeToNodeEncryptionBooleanNodeToNodeEncryptionboolNodeToNodeEncryption*bool= Node to node encryption is not e…#Requires Elasticsearch version 6.0 or later or OpenSearch version 1.0 or later.
default
Default: Node to node encryption is not enabled.
offPeakWindowEnabledbooleanoff_peak_window_enabledbooloffPeakWindowEnabledBooleanOffPeakWindowEnabledboolOffPeakWindowEnabled*bool= Disabled for domains created bef…#notes · default
Off-peak windows were introduced on February 16, 2023. All domains created before this date have the off-peak window disabled by default. You must manually enable and configure the off-peak window for these domains. All domains created after this date will have the off-peak window enabled by default. You can't disable the off-peak window for a domain after it's enabled.
Default: Disabled for domains created before February 16, 2023. Enabled for domains created after. Enabled if offPeakWindowStart is set.
offPeakWindowStartWindowStartTimeoff_peak_window_startWindowStartTimeoffPeakWindowStartWindowStartTimeOffPeakWindowStartWindowStartTimeOffPeakWindowStartWindowStartTime= 10:00 P.M. local time#The window length will always be 10 hours, so you can't specify an end time. For example, if you specify 11:00 P.M. UTC as a start time, the end time will automatically be set to 9:00 A.M.
removalPolicyRemovalPolicyremoval_policyRemovalPolicyremovalPolicyRemovalPolicyRemovalPolicyRemovalPolicyRemovalPolicyRemovalPolicy= RemovalPolicy.RETAIN#s3VectorsEngineEnabledbooleans3_vectors_engine_enabledbools3VectorsEngineEnabledBooleanS3VectorsEngineEnabledboolS3VectorsEngineEnabled*bool= undefined - AWS OpenSearch Servi…#notes · default
This feature allows you to offload vector data to Amazon S3 while maintaining sub-second vector search capabilities at low cost.
Requirements:
- OpenSearch version 2.19 or later
- OpenSearch Optimized instance types (OR*, OM*, OI*) for data nodes
- Encryption at rest must be enabled
Default: undefined - AWS OpenSearch Service default is false
securityGroupsISecurityGroup[]security_groupstyping.List[ISecurityGroup]securityGroupsList<ISecurityGroup>SecurityGroupsISecurityGroup[]SecurityGroups*[]ISecurityGroup= One new security group is create…#Only used if vpc is specified.
default
Default: One new security group is created.
suppressLogsResourcePolicybooleansuppress_logs_resource_policyboolsuppressLogsResourcePolicyBooleanSuppressLogsResourcePolicyboolSuppressLogsResourcePolicy*bool= false#notes
When logging is enabled for the domain, a CloudWatch Logs resource policy is created by default. However, CloudWatch Logs supports only 10 resource policies per region. If you enable logging for several domains, it may hit the quota and cause an error. By setting this property to true, creating a resource policy is suppressed, allowing you to avoid this problem.
If you set this option to true, you must create a resource policy before deployment.
tlsSecurityPolicyTLSSecurityPolicytls_security_policyTLSSecurityPolicytlsSecurityPolicyTLSSecurityPolicyTlsSecurityPolicyTLSSecurityPolicyTlsSecurityPolicyTLSSecurityPolicy= TLSSecurityPolicy.TLS_1_2#useLatestServiceSoftwareForBlueGreenbooleanuse_latest_service_software_for_blue_greenbooluseLatestServiceSoftwareForBlueGreenBooleanUseLatestServiceSoftwareForBlueGreenboolUseLatestServiceSoftwareForBlueGreen*bool= no value is set and the service …#If enabled, the domain will automatically use the latest available service software when a blue/green deployment is triggered.
default
Default: no value is set and the service default is used
useUnsignedBasicAuthbooleanuse_unsigned_basic_authbooluseUnsignedBasicAuthBooleanUseUnsignedBasicAuthboolUseUnsignedBasicAuth*bool= false#notes
If no master user is provided a default master user with username admin and a dynamically generated password stored in KMS is created. The password can be retrieved by getting masterUserPassword from the domain instance.
Setting this to true will also add an access policy that allows unsigned access, enable node to node encryption, encryption at rest. If conflicting settings are encountered (like disabling encryption at rest) enabling this setting will cause a failure.
versionEngineVersionversionEngineVersionversionEngineVersionVersionEngineVersionVersionEngineVersionrequired#vpcSubnetsSubnetSelection[]vpc_subnetstyping.List[SubnetSelection]vpcSubnetsList<SubnetSelection>VpcSubnetsSubnetSelection[]VpcSubnets*[]SubnetSelection= All private subnets.#You must provide one subnet for each Availability Zone that your domain uses. For example, you must specify three subnet IDs for a three Availability Zone domain.
Only used if vpc is specified.
zoneAwarenessZoneAwarenessConfigzone_awarenessZoneAwarenessConfigzoneAwarenessZoneAwarenessConfigZoneAwarenessZoneAwarenessConfigZoneAwarenessZoneAwarenessConfig= no zone awareness (1 AZ)#Properties
appLogGroupILogGroupapp_log_groupILogGroupappLogGroupILogGroupAppLogGroupILogGroupAppLogGroupILogGroup#auditLogGroupILogGroupaudit_log_groupILogGroupauditLogGroupILogGroupAuditLogGroupILogGroupAuditLogGroupILogGroup#connectionsConnectionsconnectionsConnectionsconnectionsConnectionsConnectionsConnectionsConnectionsConnectionsrequired#This will throw an error in case the domain is not placed inside a VPC.
domainEndpointstringdomain_endpointstrdomainEndpointStringDomainEndpointstringDomainEndpoint*stringrequired#domainRefDomainReferencedomain_refDomainReferencedomainRefDomainReferenceDomainRefDomainReferenceDomainRefDomainReferencerequired#envResourceEnvironmentenvResourceEnvironmentenvResourceEnvironmentEnvResourceEnvironmentEnvResourceEnvironmentrequired#notes
For resources that are created and managed in a Stack (those created by creating new class instances like new Role(), new Bucket(), etc.), this is always the same as the environment of the stack they belong to.
For referenced resources (those obtained from referencing methods like Role.fromRoleArn(), Bucket.fromBucketName(), etc.), they might be different than the stack they were imported into.
masterUserPasswordSecretValuemaster_user_passwordSecretValuemasterUserPasswordSecretValueMasterUserPasswordSecretValueMasterUserPasswordSecretValue#PROPERTY_INJECTION_IDstringproperty_injection_idstrPROPERTY_INJECTION_IDStringPROPERTY_INJECTION_IDstringPROPERTY_INJECTION_ID*stringrequiredstatic#slowIndexLogGroupILogGroupslow_index_log_groupILogGroupslowIndexLogGroupILogGroupSlowIndexLogGroupILogGroupSlowIndexLogGroupILogGroup#Methods
addAccessPolicies(...accessPolicyStatements: PolicyStatement[]): voiddef add_access_policies(self, access_policy_statements: PolicyStatement) -> Nonepublic void addAccessPolicies(PolicyStatement accessPolicyStatements)public void AddAccessPolicies(PolicyStatement accessPolicyStatements)func AddAccessPolicies(AccessPolicyStatements PolicyStatement)#applyCrossStackReferenceStrength(strength: ReferenceStrength): voiddef apply_cross_stack_reference_strength(self, strength: ReferenceStrength) -> Nonepublic void applyCrossStackReferenceStrength(ReferenceStrength strength)public void ApplyCrossStackReferenceStrength(ReferenceStrength strength)func ApplyCrossStackReferenceStrength(Strength ReferenceStrength)#notes · 1 parameter
When set, any cross-stack reference to this resource will use the specified mechanism instead of the global default determined by the @aws-cdk/core:defaultCrossStackReferences context key. This is useful for selectively weakening specific references to avoid the "deadly embrace" problem without changing the app-wide default.
Parameters
strengthstrengthstrengthstrengthStrength— - The reference strength to use for this resource.
applyRemovalPolicy(policy: RemovalPolicy): voiddef apply_removal_policy(self, policy: RemovalPolicy) -> Nonepublic void applyRemovalPolicy(RemovalPolicy policy)public void ApplyRemovalPolicy(RemovalPolicy policy)func ApplyRemovalPolicy(Policy RemovalPolicy)#notes
The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.
The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN).
fromDomainAttributes(scope: Construct, id: string, attrs: DomainAttributes): IDomain@staticmethod def from_domain_attributes(scope: Construct, id: str, attrs: DomainAttributes) -> IDomainpublic static IDomain fromDomainAttributes(Construct scope, String id, DomainAttributes attrs)public static IDomain FromDomainAttributes(Construct scope, string id, DomainAttributes attrs)func FromDomainAttributes(Scope Construct, Id *string, Attrs DomainAttributes) IDomainstatic#3 parameters
Parameters
scopescopescopescopeScope— The parent creating construct (usuallythis).ididididId— The construct's name.attrsattrsattrsattrsAttrs— ADomainAttributesobject.
fromDomainEndpoint(scope: Construct, id: string, domainEndpoint: string): IDomain@staticmethod def from_domain_endpoint(scope: Construct, id: str, domain_endpoint: str) -> IDomainpublic static IDomain fromDomainEndpoint(Construct scope, String id, String domainEndpoint)public static IDomain FromDomainEndpoint(Construct scope, string id, string domainEndpoint)func FromDomainEndpoint(Scope Construct, Id *string, DomainEndpoint *string) IDomainstatic#3 parameters
Parameters
scopescopescopescopeScope— The parent creating construct (usuallythis).ididididId— The construct's name.domainEndpointdomain_endpointdomainEndpointdomainEndpointDomainEndpoint— The domain's endpoint.
grantIndexRead(index: string, identity: IGrantable): Grantdef grant_index_read(self, index: str, identity: IGrantable) -> Grantpublic Grant grantIndexRead(String index, IGrantable identity)public Grant GrantIndexRead(string index, IGrantable identity)func GrantIndexRead(Index *string, Identity IGrantable) Grant#[disable-awslint:no-grants]
2 parameters
Parameters
indexindexindexindexIndex— The index to grant permissions for.identityidentityidentityidentityIdentity— The principal.
grantIndexReadWrite(index: string, identity: IGrantable): Grantdef grant_index_read_write(self, index: str, identity: IGrantable) -> Grantpublic Grant grantIndexReadWrite(String index, IGrantable identity)public Grant GrantIndexReadWrite(string index, IGrantable identity)func GrantIndexReadWrite(Index *string, Identity IGrantable) Grant#[disable-awslint:no-grants]
2 parameters
Parameters
indexindexindexindexIndex— The index to grant permissions for.identityidentityidentityidentityIdentity— The principal.
grantIndexWrite(index: string, identity: IGrantable): Grantdef grant_index_write(self, index: str, identity: IGrantable) -> Grantpublic Grant grantIndexWrite(String index, IGrantable identity)public Grant GrantIndexWrite(string index, IGrantable identity)func GrantIndexWrite(Index *string, Identity IGrantable) Grant#[disable-awslint:no-grants]
2 parameters
Parameters
indexindexindexindexIndex— The index to grant permissions for.identityidentityidentityidentityIdentity— The principal.
grantPathRead(path: string, identity: IGrantable): Grantdef grant_path_read(self, path: str, identity: IGrantable) -> Grantpublic Grant grantPathRead(String path, IGrantable identity)public Grant GrantPathRead(string path, IGrantable identity)func GrantPathRead(Path *string, Identity IGrantable) Grant#[disable-awslint:no-grants]
2 parameters
Parameters
pathpathpathpathPath— The path to grant permissions for.identityidentityidentityidentityIdentity— The principal.
grantPathReadWrite(path: string, identity: IGrantable): Grantdef grant_path_read_write(self, path: str, identity: IGrantable) -> Grantpublic Grant grantPathReadWrite(String path, IGrantable identity)public Grant GrantPathReadWrite(string path, IGrantable identity)func GrantPathReadWrite(Path *string, Identity IGrantable) Grant#[disable-awslint:no-grants]
2 parameters
Parameters
pathpathpathpathPath— The path to grant permissions for.identityidentityidentityidentityIdentity— The principal.
grantPathWrite(path: string, identity: IGrantable): Grantdef grant_path_write(self, path: str, identity: IGrantable) -> Grantpublic Grant grantPathWrite(String path, IGrantable identity)public Grant GrantPathWrite(string path, IGrantable identity)func GrantPathWrite(Path *string, Identity IGrantable) Grant#[disable-awslint:no-grants]
2 parameters
Parameters
pathpathpathpathPath— The path to grant permissions for.identityidentityidentityidentityIdentity— The principal.
grantRead(identity: IGrantable): Grantdef grant_read(self, identity: IGrantable) -> Grantpublic Grant grantRead(IGrantable identity)public Grant GrantRead(IGrantable identity)func GrantRead(Identity IGrantable) Grant#[disable-awslint:no-grants]
1 parameter
Parameters
identityidentityidentityidentityIdentity— The principal.
grantReadWrite(identity: IGrantable): Grantdef grant_read_write(self, identity: IGrantable) -> Grantpublic Grant grantReadWrite(IGrantable identity)public Grant GrantReadWrite(IGrantable identity)func GrantReadWrite(Identity IGrantable) Grant#[disable-awslint:no-grants]
1 parameter
Parameters
identityidentityidentityidentityIdentity— The principal.
grantWrite(identity: IGrantable): Grantdef grant_write(self, identity: IGrantable) -> Grantpublic Grant grantWrite(IGrantable identity)public Grant GrantWrite(IGrantable identity)func GrantWrite(Identity IGrantable) Grant#[disable-awslint:no-grants]
1 parameter
Parameters
identityidentityidentityidentityIdentity— The principal.
isConstruct(x: any): boolean@staticmethod def is_construct(x: Any) -> boolpublic static Boolean isConstruct(Object x)public static bool IsConstruct(object x)func IsConstruct(X interface{}) *boolstatic#notes · 1 parameter · returns
Use this method instead of instanceof to properly detect Construct instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the constructs library on disk are seen as independent, completely different libraries. As a consequence, the class Construct in each copy of the constructs library is seen as a different class, and an instance of one class will not test as instanceof the other class. npm install will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the constructs library can be accidentally installed, and instanceof will behave unpredictably. It is safest to avoid using instanceof, and using this type-testing method instead.
Parameters
xxxxX— Any object.
Returns: true if x is an object created from a class which extends Construct.
isOwnedResource(construct: IConstruct): boolean@staticmethod def is_owned_resource(construct: IConstruct) -> boolpublic static Boolean isOwnedResource(IConstruct construct)public static bool IsOwnedResource(IConstruct construct)func IsOwnedResource(Construct IConstruct) *boolstatic#isResource(construct: IConstruct): boolean@staticmethod def is_resource(construct: IConstruct) -> boolpublic static Boolean isResource(IConstruct construct)public static bool IsResource(IConstruct construct)func IsResource(Construct IConstruct) *boolstatic#metric(metricName: string, props?: MetricOptions): Metricdef metric(self, metric_name: str, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metric(String metricName, MetricOptions props)public Metric Metric(string metricName, MetricOptions? props = null)func Metric(MetricName *string, Props MetricOptions) Metric#metricAutomatedSnapshotFailure(props?: MetricOptions): Metricdef metric_automated_snapshot_failure(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricAutomatedSnapshotFailure(MetricOptions props)public Metric MetricAutomatedSnapshotFailure(MetricOptions? props = null)func MetricAutomatedSnapshotFailure(Props MetricOptions) Metric#metricClusterIndexWritesBlocked(props?: MetricOptions): Metricdef metric_cluster_index_writes_blocked(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricClusterIndexWritesBlocked(MetricOptions props)public Metric MetricClusterIndexWritesBlocked(MetricOptions? props = null)func MetricClusterIndexWritesBlocked(Props MetricOptions) Metric#metricClusterStatusRed(props?: MetricOptions): Metricdef metric_cluster_status_red(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricClusterStatusRed(MetricOptions props)public Metric MetricClusterStatusRed(MetricOptions? props = null)func MetricClusterStatusRed(Props MetricOptions) Metric#metricClusterStatusYellow(props?: MetricOptions): Metricdef metric_cluster_status_yellow(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricClusterStatusYellow(MetricOptions props)public Metric MetricClusterStatusYellow(MetricOptions? props = null)func MetricClusterStatusYellow(Props MetricOptions) Metric#metricCPUUtilization(props?: MetricOptions): Metricdef metric_cpu_utilization(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricCPUUtilization(MetricOptions props)public Metric MetricCPUUtilization(MetricOptions? props = null)func MetricCPUUtilization(Props MetricOptions) Metric#metricFreeStorageSpace(props?: MetricOptions): Metricdef metric_free_storage_space(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricFreeStorageSpace(MetricOptions props)public Metric MetricFreeStorageSpace(MetricOptions? props = null)func MetricFreeStorageSpace(Props MetricOptions) Metric#metricIndexingLatency(props?: MetricOptions): Metricdef metric_indexing_latency(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricIndexingLatency(MetricOptions props)public Metric MetricIndexingLatency(MetricOptions? props = null)func MetricIndexingLatency(Props MetricOptions) Metric#metricJVMMemoryPressure(props?: MetricOptions): Metricdef metric_jvm_memory_pressure(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricJVMMemoryPressure(MetricOptions props)public Metric MetricJVMMemoryPressure(MetricOptions? props = null)func MetricJVMMemoryPressure(Props MetricOptions) Metric#metricKMSKeyError(props?: MetricOptions): Metricdef metric_kms_key_error(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricKMSKeyError(MetricOptions props)public Metric MetricKMSKeyError(MetricOptions? props = null)func MetricKMSKeyError(Props MetricOptions) Metric#metricKMSKeyInaccessible(props?: MetricOptions): Metricdef metric_kms_key_inaccessible(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricKMSKeyInaccessible(MetricOptions props)public Metric MetricKMSKeyInaccessible(MetricOptions? props = null)func MetricKMSKeyInaccessible(Props MetricOptions) Metric#metricMasterCPUUtilization(props?: MetricOptions): Metricdef metric_master_cpu_utilization(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricMasterCPUUtilization(MetricOptions props)public Metric MetricMasterCPUUtilization(MetricOptions? props = null)func MetricMasterCPUUtilization(Props MetricOptions) Metric#metricMasterJVMMemoryPressure(props?: MetricOptions): Metricdef metric_master_jvm_memory_pressure(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricMasterJVMMemoryPressure(MetricOptions props)public Metric MetricMasterJVMMemoryPressure(MetricOptions? props = null)func MetricMasterJVMMemoryPressure(Props MetricOptions) Metric#metricNodes(props?: MetricOptions): Metricdef metric_nodes(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricNodes(MetricOptions props)public Metric MetricNodes(MetricOptions? props = null)func MetricNodes(Props MetricOptions) Metric#metricSearchableDocuments(props?: MetricOptions): Metricdef metric_searchable_documents(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricSearchableDocuments(MetricOptions props)public Metric MetricSearchableDocuments(MetricOptions? props = null)func MetricSearchableDocuments(Props MetricOptions) Metric#metricSearchLatency(props?: MetricOptions): Metricdef metric_search_latency(self, props: typing.Optional[MetricOptions] = None) -> Metricpublic Metric metricSearchLatency(MetricOptions props)public Metric MetricSearchLatency(MetricOptions? props = null)func MetricSearchLatency(Props MetricOptions) Metric#toString(): stringdef to_string(self, ) -> strpublic String toString()public string ToString()func ToString() *string#with(...mixins: IMixin[]): IConstructdef with(self, mixins: IMixin) -> IConstructpublic IConstruct with(IMixin mixins)public IConstruct With(IMixin mixins)func With(Mixins IMixin) IConstruct#Mixins are applied in order. The list of constructs is captured at the start of the call, so constructs added by a mixin will not be visited. Use multiple with() calls if subsequent mixins should apply to added constructs.