CfnEndpointConfigProps Struct
Properties for defining a CfnEndpointConfig.
Example
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_sagemaker as sagemaker } from 'aws-cdk-lib';
const cfnEndpointConfigProps: sagemaker.CfnEndpointConfigProps = {
productionVariants: [{
variantName: 'variantName',
// the properties below are optional
acceleratorType: 'acceleratorType',
capacityReservationConfig: {
capacityReservationPreference: 'capacityReservationPreference',
mlReservationArn: 'mlReservationArn',
},
containerStartupHealthCheckTimeoutInSeconds: 123,
coreDumpConfig: {
destinationS3Uri: 'destinationS3Uri',
// the properties below are optional
kmsKeyId: 'kmsKeyId',
},
enableSsmAccess: false,
inferenceAmiVersion: 'inferenceAmiVersion',
initialInstanceCount: 123,
initialVariantWeight: 123,
instancePools: [{
instanceType: 'instanceType',
priority: 123,
// the properties below are optional
modelNameOverride: 'modelNameOverride',
}],
instanceType: 'instanceType',
managedInstanceScaling: {
maxInstanceCount: 123,
minInstanceCount: 123,
scaleInPolicy: {
strategy: 'strategy',
// the properties below are optional
cooldownInMinutes: 123,
maximumStepSize: 123,
},
status: 'status',
},
modelDataDownloadTimeoutInSeconds: 123,
modelName: 'modelName',
routingConfig: {
prefixAwareRoutingConfig: {
concurrencyThreshold: 123,
prefixLength: 123,
},
routingStrategy: 'routingStrategy',
},
serverlessConfig: {
maxConcurrency: 123,
memorySizeInMb: 123,
// the properties below are optional
provisionedConcurrency: 123,
},
variantInstanceProvisionTimeoutInSeconds: 123,
volumeSizeInGb: 123,
}],
// the properties below are optional
asyncInferenceConfig: {
outputConfig: {
kmsKeyId: 'kmsKeyId',
notificationConfig: {
errorTopic: 'errorTopic',
includeInferenceResponseIn: ['includeInferenceResponseIn'],
successTopic: 'successTopic',
},
s3FailurePath: 's3FailurePath',
s3OutputPath: 's3OutputPath',
},
// the properties below are optional
clientConfig: {
maxConcurrentInvocationsPerInstance: 123,
},
},
dataCaptureConfig: {
captureOptions: [{
captureMode: 'captureMode',
}],
destinationS3Uri: 'destinationS3Uri',
initialSamplingPercentage: 123,
// the properties below are optional
captureContentTypeHeader: {
csvContentTypes: ['csvContentTypes'],
jsonContentTypes: ['jsonContentTypes'],
},
enableCapture: false,
kmsKeyId: 'kmsKeyId',
},
enableNetworkIsolation: false,
endpointConfigName: 'endpointConfigName',
executionRoleArn: 'executionRoleArn',
explainerConfig: {
clarifyExplainerConfig: {
shapConfig: {
shapBaselineConfig: {
mimeType: 'mimeType',
shapBaseline: 'shapBaseline',
shapBaselineUri: 'shapBaselineUri',
},
// the properties below are optional
numberOfSamples: 123,
seed: 123,
textConfig: {
granularity: 'granularity',
language: 'language',
},
useLogit: false,
},
// the properties below are optional
enableExplanations: 'enableExplanations',
inferenceConfig: {
contentTemplate: 'contentTemplate',
featureHeaders: ['featureHeaders'],
featuresAttribute: 'featuresAttribute',
featureTypes: ['featureTypes'],
labelAttribute: 'labelAttribute',
labelHeaders: ['labelHeaders'],
labelIndex: 123,
maxPayloadInMb: 123,
maxRecordCount: 123,
probabilityAttribute: 'probabilityAttribute',
probabilityIndex: 123,
},
},
},
kmsKeyId: 'kmsKeyId',
metricsConfig: {
enableDetailedObservability: false,
enableEnhancedMetrics: false,
metricPublishFrequencyInSeconds: 123,
},
shadowProductionVariants: [{
variantName: 'variantName',
// the properties below are optional
acceleratorType: 'acceleratorType',
capacityReservationConfig: {
capacityReservationPreference: 'capacityReservationPreference',
mlReservationArn: 'mlReservationArn',
},
containerStartupHealthCheckTimeoutInSeconds: 123,
coreDumpConfig: {
destinationS3Uri: 'destinationS3Uri',
// the properties below are optional
kmsKeyId: 'kmsKeyId',
},
enableSsmAccess: false,
inferenceAmiVersion: 'inferenceAmiVersion',
initialInstanceCount: 123,
initialVariantWeight: 123,
instancePools: [{
instanceType: 'instanceType',
priority: 123,
// the properties below are optional
modelNameOverride: 'modelNameOverride',
}],
instanceType: 'instanceType',
managedInstanceScaling: {
maxInstanceCount: 123,
minInstanceCount: 123,
scaleInPolicy: {
strategy: 'strategy',
// the properties below are optional
cooldownInMinutes: 123,
maximumStepSize: 123,
},
status: 'status',
},
modelDataDownloadTimeoutInSeconds: 123,
modelName: 'modelName',
routingConfig: {
prefixAwareRoutingConfig: {
concurrencyThreshold: 123,
prefixLength: 123,
},
routingStrategy: 'routingStrategy',
},
serverlessConfig: {
maxConcurrency: 123,
memorySizeInMb: 123,
// the properties below are optional
provisionedConcurrency: 123,
},
variantInstanceProvisionTimeoutInSeconds: 123,
volumeSizeInGb: 123,
}],
tags: [{
key: 'key',
value: 'value',
}],
vpcConfig: {
securityGroupIds: ['securityGroupIds'],
subnets: ['subnets'],
},
};
from aws_cdk import CfnTag
# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_sagemaker as sagemaker
cfn_endpoint_config_props = sagemaker.CfnEndpointConfigProps(
production_variants=[sagemaker.CfnEndpointConfig.ProductionVariantProperty(
variant_name="variantName",
# the properties below are optional
accelerator_type="acceleratorType",
capacity_reservation_config=sagemaker.CfnEndpointConfig.CapacityReservationConfigProperty(
capacity_reservation_preference="capacityReservationPreference",
ml_reservation_arn="mlReservationArn"
),
container_startup_health_check_timeout_in_seconds=123,
core_dump_config=sagemaker.CfnEndpointConfig.CoreDumpConfigProperty(
destination_s3_uri="destinationS3Uri",
# the properties below are optional
kms_key_id="kmsKeyId"
),
enable_ssm_access=False,
inference_ami_version="inferenceAmiVersion",
initial_instance_count=123,
initial_variant_weight=123,
instance_pools=[sagemaker.CfnEndpointConfig.InstancePoolProperty(
instance_type="instanceType",
priority=123,
# the properties below are optional
model_name_override="modelNameOverride"
)],
instance_type="instanceType",
managed_instance_scaling=sagemaker.CfnEndpointConfig.ManagedInstanceScalingProperty(
max_instance_count=123,
min_instance_count=123,
scale_in_policy=sagemaker.CfnEndpointConfig.ScaleInPolicyProperty(
strategy="strategy",
# the properties below are optional
cooldown_in_minutes=123,
maximum_step_size=123
),
status="status"
),
model_data_download_timeout_in_seconds=123,
model_name="modelName",
routing_config=sagemaker.CfnEndpointConfig.RoutingConfigProperty(
prefix_aware_routing_config=sagemaker.CfnEndpointConfig.PrefixAwareRoutingConfigProperty(
concurrency_threshold=123,
prefix_length=123
),
routing_strategy="routingStrategy"
),
serverless_config=sagemaker.CfnEndpointConfig.ServerlessConfigProperty(
max_concurrency=123,
memory_size_in_mb=123,
# the properties below are optional
provisioned_concurrency=123
),
variant_instance_provision_timeout_in_seconds=123,
volume_size_in_gb=123
)],
# the properties below are optional
async_inference_config=sagemaker.CfnEndpointConfig.AsyncInferenceConfigProperty(
output_config=sagemaker.CfnEndpointConfig.AsyncInferenceOutputConfigProperty(
kms_key_id="kmsKeyId",
notification_config=sagemaker.CfnEndpointConfig.AsyncInferenceNotificationConfigProperty(
error_topic="errorTopic",
include_inference_response_in=["includeInferenceResponseIn"],
success_topic="successTopic"
),
s3_failure_path="s3FailurePath",
s3_output_path="s3OutputPath"
),
# the properties below are optional
client_config=sagemaker.CfnEndpointConfig.AsyncInferenceClientConfigProperty(
max_concurrent_invocations_per_instance=123
)
),
data_capture_config=sagemaker.CfnEndpointConfig.DataCaptureConfigProperty(
capture_options=[sagemaker.CfnEndpointConfig.CaptureOptionProperty(
capture_mode="captureMode"
)],
destination_s3_uri="destinationS3Uri",
initial_sampling_percentage=123,
# the properties below are optional
capture_content_type_header=sagemaker.CfnEndpointConfig.CaptureContentTypeHeaderProperty(
csv_content_types=["csvContentTypes"],
json_content_types=["jsonContentTypes"]
),
enable_capture=False,
kms_key_id="kmsKeyId"
),
enable_network_isolation=False,
endpoint_config_name="endpointConfigName",
execution_role_arn="executionRoleArn",
explainer_config=sagemaker.CfnEndpointConfig.ExplainerConfigProperty(
clarify_explainer_config=sagemaker.CfnEndpointConfig.ClarifyExplainerConfigProperty(
shap_config=sagemaker.CfnEndpointConfig.ClarifyShapConfigProperty(
shap_baseline_config=sagemaker.CfnEndpointConfig.ClarifyShapBaselineConfigProperty(
mime_type="mimeType",
shap_baseline="shapBaseline",
shap_baseline_uri="shapBaselineUri"
),
# the properties below are optional
number_of_samples=123,
seed=123,
text_config=sagemaker.CfnEndpointConfig.ClarifyTextConfigProperty(
granularity="granularity",
language="language"
),
use_logit=False
),
# the properties below are optional
enable_explanations="enableExplanations",
inference_config=sagemaker.CfnEndpointConfig.ClarifyInferenceConfigProperty(
content_template="contentTemplate",
feature_headers=["featureHeaders"],
features_attribute="featuresAttribute",
feature_types=["featureTypes"],
label_attribute="labelAttribute",
label_headers=["labelHeaders"],
label_index=123,
max_payload_in_mb=123,
max_record_count=123,
probability_attribute="probabilityAttribute",
probability_index=123
)
)
),
kms_key_id="kmsKeyId",
metrics_config=sagemaker.CfnEndpointConfig.MetricsConfigProperty(
enable_detailed_observability=False,
enable_enhanced_metrics=False,
metric_publish_frequency_in_seconds=123
),
shadow_production_variants=[sagemaker.CfnEndpointConfig.ProductionVariantProperty(
variant_name="variantName",
# the properties below are optional
accelerator_type="acceleratorType",
capacity_reservation_config=sagemaker.CfnEndpointConfig.CapacityReservationConfigProperty(
capacity_reservation_preference="capacityReservationPreference",
ml_reservation_arn="mlReservationArn"
),
container_startup_health_check_timeout_in_seconds=123,
core_dump_config=sagemaker.CfnEndpointConfig.CoreDumpConfigProperty(
destination_s3_uri="destinationS3Uri",
# the properties below are optional
kms_key_id="kmsKeyId"
),
enable_ssm_access=False,
inference_ami_version="inferenceAmiVersion",
initial_instance_count=123,
initial_variant_weight=123,
instance_pools=[sagemaker.CfnEndpointConfig.InstancePoolProperty(
instance_type="instanceType",
priority=123,
# the properties below are optional
model_name_override="modelNameOverride"
)],
instance_type="instanceType",
managed_instance_scaling=sagemaker.CfnEndpointConfig.ManagedInstanceScalingProperty(
max_instance_count=123,
min_instance_count=123,
scale_in_policy=sagemaker.CfnEndpointConfig.ScaleInPolicyProperty(
strategy="strategy",
# the properties below are optional
cooldown_in_minutes=123,
maximum_step_size=123
),
status="status"
),
model_data_download_timeout_in_seconds=123,
model_name="modelName",
routing_config=sagemaker.CfnEndpointConfig.RoutingConfigProperty(
prefix_aware_routing_config=sagemaker.CfnEndpointConfig.PrefixAwareRoutingConfigProperty(
concurrency_threshold=123,
prefix_length=123
),
routing_strategy="routingStrategy"
),
serverless_config=sagemaker.CfnEndpointConfig.ServerlessConfigProperty(
max_concurrency=123,
memory_size_in_mb=123,
# the properties below are optional
provisioned_concurrency=123
),
variant_instance_provision_timeout_in_seconds=123,
volume_size_in_gb=123
)],
tags=[CfnTag(
key="key",
value="value"
)],
vpc_config=sagemaker.CfnEndpointConfig.VpcConfigProperty(
security_group_ids=["securityGroupIds"],
subnets=["subnets"]
)
)
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import software.amazon.awscdk.services.sagemaker.*;
CfnEndpointConfigProps cfnEndpointConfigProps = CfnEndpointConfigProps.builder()
.productionVariants(List.of(ProductionVariantProperty.builder()
.variantName("variantName")
// the properties below are optional
.acceleratorType("acceleratorType")
.capacityReservationConfig(CapacityReservationConfigProperty.builder()
.capacityReservationPreference("capacityReservationPreference")
.mlReservationArn("mlReservationArn")
.build())
.containerStartupHealthCheckTimeoutInSeconds(123)
.coreDumpConfig(CoreDumpConfigProperty.builder()
.destinationS3Uri("destinationS3Uri")
// the properties below are optional
.kmsKeyId("kmsKeyId")
.build())
.enableSsmAccess(false)
.inferenceAmiVersion("inferenceAmiVersion")
.initialInstanceCount(123)
.initialVariantWeight(123)
.instancePools(List.of(InstancePoolProperty.builder()
.instanceType("instanceType")
.priority(123)
// the properties below are optional
.modelNameOverride("modelNameOverride")
.build()))
.instanceType("instanceType")
.managedInstanceScaling(ManagedInstanceScalingProperty.builder()
.maxInstanceCount(123)
.minInstanceCount(123)
.scaleInPolicy(ScaleInPolicyProperty.builder()
.strategy("strategy")
// the properties below are optional
.cooldownInMinutes(123)
.maximumStepSize(123)
.build())
.status("status")
.build())
.modelDataDownloadTimeoutInSeconds(123)
.modelName("modelName")
.routingConfig(RoutingConfigProperty.builder()
.prefixAwareRoutingConfig(PrefixAwareRoutingConfigProperty.builder()
.concurrencyThreshold(123)
.prefixLength(123)
.build())
.routingStrategy("routingStrategy")
.build())
.serverlessConfig(ServerlessConfigProperty.builder()
.maxConcurrency(123)
.memorySizeInMb(123)
// the properties below are optional
.provisionedConcurrency(123)
.build())
.variantInstanceProvisionTimeoutInSeconds(123)
.volumeSizeInGb(123)
.build()))
// the properties below are optional
.asyncInferenceConfig(AsyncInferenceConfigProperty.builder()
.outputConfig(AsyncInferenceOutputConfigProperty.builder()
.kmsKeyId("kmsKeyId")
.notificationConfig(AsyncInferenceNotificationConfigProperty.builder()
.errorTopic("errorTopic")
.includeInferenceResponseIn(List.of("includeInferenceResponseIn"))
.successTopic("successTopic")
.build())
.s3FailurePath("s3FailurePath")
.s3OutputPath("s3OutputPath")
.build())
// the properties below are optional
.clientConfig(AsyncInferenceClientConfigProperty.builder()
.maxConcurrentInvocationsPerInstance(123)
.build())
.build())
.dataCaptureConfig(DataCaptureConfigProperty.builder()
.captureOptions(List.of(CaptureOptionProperty.builder()
.captureMode("captureMode")
.build()))
.destinationS3Uri("destinationS3Uri")
.initialSamplingPercentage(123)
// the properties below are optional
.captureContentTypeHeader(CaptureContentTypeHeaderProperty.builder()
.csvContentTypes(List.of("csvContentTypes"))
.jsonContentTypes(List.of("jsonContentTypes"))
.build())
.enableCapture(false)
.kmsKeyId("kmsKeyId")
.build())
.enableNetworkIsolation(false)
.endpointConfigName("endpointConfigName")
.executionRoleArn("executionRoleArn")
.explainerConfig(ExplainerConfigProperty.builder()
.clarifyExplainerConfig(ClarifyExplainerConfigProperty.builder()
.shapConfig(ClarifyShapConfigProperty.builder()
.shapBaselineConfig(ClarifyShapBaselineConfigProperty.builder()
.mimeType("mimeType")
.shapBaseline("shapBaseline")
.shapBaselineUri("shapBaselineUri")
.build())
// the properties below are optional
.numberOfSamples(123)
.seed(123)
.textConfig(ClarifyTextConfigProperty.builder()
.granularity("granularity")
.language("language")
.build())
.useLogit(false)
.build())
// the properties below are optional
.enableExplanations("enableExplanations")
.inferenceConfig(ClarifyInferenceConfigProperty.builder()
.contentTemplate("contentTemplate")
.featureHeaders(List.of("featureHeaders"))
.featuresAttribute("featuresAttribute")
.featureTypes(List.of("featureTypes"))
.labelAttribute("labelAttribute")
.labelHeaders(List.of("labelHeaders"))
.labelIndex(123)
.maxPayloadInMb(123)
.maxRecordCount(123)
.probabilityAttribute("probabilityAttribute")
.probabilityIndex(123)
.build())
.build())
.build())
.kmsKeyId("kmsKeyId")
.metricsConfig(MetricsConfigProperty.builder()
.enableDetailedObservability(false)
.enableEnhancedMetrics(false)
.metricPublishFrequencyInSeconds(123)
.build())
.shadowProductionVariants(List.of(ProductionVariantProperty.builder()
.variantName("variantName")
// the properties below are optional
.acceleratorType("acceleratorType")
.capacityReservationConfig(CapacityReservationConfigProperty.builder()
.capacityReservationPreference("capacityReservationPreference")
.mlReservationArn("mlReservationArn")
.build())
.containerStartupHealthCheckTimeoutInSeconds(123)
.coreDumpConfig(CoreDumpConfigProperty.builder()
.destinationS3Uri("destinationS3Uri")
// the properties below are optional
.kmsKeyId("kmsKeyId")
.build())
.enableSsmAccess(false)
.inferenceAmiVersion("inferenceAmiVersion")
.initialInstanceCount(123)
.initialVariantWeight(123)
.instancePools(List.of(InstancePoolProperty.builder()
.instanceType("instanceType")
.priority(123)
// the properties below are optional
.modelNameOverride("modelNameOverride")
.build()))
.instanceType("instanceType")
.managedInstanceScaling(ManagedInstanceScalingProperty.builder()
.maxInstanceCount(123)
.minInstanceCount(123)
.scaleInPolicy(ScaleInPolicyProperty.builder()
.strategy("strategy")
// the properties below are optional
.cooldownInMinutes(123)
.maximumStepSize(123)
.build())
.status("status")
.build())
.modelDataDownloadTimeoutInSeconds(123)
.modelName("modelName")
.routingConfig(RoutingConfigProperty.builder()
.prefixAwareRoutingConfig(PrefixAwareRoutingConfigProperty.builder()
.concurrencyThreshold(123)
.prefixLength(123)
.build())
.routingStrategy("routingStrategy")
.build())
.serverlessConfig(ServerlessConfigProperty.builder()
.maxConcurrency(123)
.memorySizeInMb(123)
// the properties below are optional
.provisionedConcurrency(123)
.build())
.variantInstanceProvisionTimeoutInSeconds(123)
.volumeSizeInGb(123)
.build()))
.tags(List.of(CfnTag.builder()
.key("key")
.value("value")
.build()))
.vpcConfig(VpcConfigProperty.builder()
.securityGroupIds(List.of("securityGroupIds"))
.subnets(List.of("subnets"))
.build())
.build();
// Install: dotnet add package Amazon.CDK.Lib
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.Sagemaker;
var cfnEndpointConfigProps = new CfnEndpointConfigProps {
ProductionVariants = new [] { new ProductionVariantProperty {
VariantName = "variantName",
// the properties below are optional
AcceleratorType = "acceleratorType",
CapacityReservationConfig = new CapacityReservationConfigProperty {
CapacityReservationPreference = "capacityReservationPreference",
MlReservationArn = "mlReservationArn"
},
ContainerStartupHealthCheckTimeoutInSeconds = 123,
CoreDumpConfig = new CoreDumpConfigProperty {
DestinationS3Uri = "destinationS3Uri",
// the properties below are optional
KmsKeyId = "kmsKeyId"
},
EnableSsmAccess = false,
InferenceAmiVersion = "inferenceAmiVersion",
InitialInstanceCount = 123,
InitialVariantWeight = 123,
InstancePools = new [] { new InstancePoolProperty {
InstanceType = "instanceType",
Priority = 123,
// the properties below are optional
ModelNameOverride = "modelNameOverride"
} },
InstanceType = "instanceType",
ManagedInstanceScaling = new ManagedInstanceScalingProperty {
MaxInstanceCount = 123,
MinInstanceCount = 123,
ScaleInPolicy = new ScaleInPolicyProperty {
Strategy = "strategy",
// the properties below are optional
CooldownInMinutes = 123,
MaximumStepSize = 123
},
Status = "status"
},
ModelDataDownloadTimeoutInSeconds = 123,
ModelName = "modelName",
RoutingConfig = new RoutingConfigProperty {
PrefixAwareRoutingConfig = new PrefixAwareRoutingConfigProperty {
ConcurrencyThreshold = 123,
PrefixLength = 123
},
RoutingStrategy = "routingStrategy"
},
ServerlessConfig = new ServerlessConfigProperty {
MaxConcurrency = 123,
MemorySizeInMb = 123,
// the properties below are optional
ProvisionedConcurrency = 123
},
VariantInstanceProvisionTimeoutInSeconds = 123,
VolumeSizeInGb = 123
} },
// the properties below are optional
AsyncInferenceConfig = new AsyncInferenceConfigProperty {
OutputConfig = new AsyncInferenceOutputConfigProperty {
KmsKeyId = "kmsKeyId",
NotificationConfig = new AsyncInferenceNotificationConfigProperty {
ErrorTopic = "errorTopic",
IncludeInferenceResponseIn = new [] { "includeInferenceResponseIn" },
SuccessTopic = "successTopic"
},
S3FailurePath = "s3FailurePath",
S3OutputPath = "s3OutputPath"
},
// the properties below are optional
ClientConfig = new AsyncInferenceClientConfigProperty {
MaxConcurrentInvocationsPerInstance = 123
}
},
DataCaptureConfig = new DataCaptureConfigProperty {
CaptureOptions = new [] { new CaptureOptionProperty {
CaptureMode = "captureMode"
} },
DestinationS3Uri = "destinationS3Uri",
InitialSamplingPercentage = 123,
// the properties below are optional
CaptureContentTypeHeader = new CaptureContentTypeHeaderProperty {
CsvContentTypes = new [] { "csvContentTypes" },
JsonContentTypes = new [] { "jsonContentTypes" }
},
EnableCapture = false,
KmsKeyId = "kmsKeyId"
},
EnableNetworkIsolation = false,
EndpointConfigName = "endpointConfigName",
ExecutionRoleArn = "executionRoleArn",
ExplainerConfig = new ExplainerConfigProperty {
ClarifyExplainerConfig = new ClarifyExplainerConfigProperty {
ShapConfig = new ClarifyShapConfigProperty {
ShapBaselineConfig = new ClarifyShapBaselineConfigProperty {
MimeType = "mimeType",
ShapBaseline = "shapBaseline",
ShapBaselineUri = "shapBaselineUri"
},
// the properties below are optional
NumberOfSamples = 123,
Seed = 123,
TextConfig = new ClarifyTextConfigProperty {
Granularity = "granularity",
Language = "language"
},
UseLogit = false
},
// the properties below are optional
EnableExplanations = "enableExplanations",
InferenceConfig = new ClarifyInferenceConfigProperty {
ContentTemplate = "contentTemplate",
FeatureHeaders = new [] { "featureHeaders" },
FeaturesAttribute = "featuresAttribute",
FeatureTypes = new [] { "featureTypes" },
LabelAttribute = "labelAttribute",
LabelHeaders = new [] { "labelHeaders" },
LabelIndex = 123,
MaxPayloadInMb = 123,
MaxRecordCount = 123,
ProbabilityAttribute = "probabilityAttribute",
ProbabilityIndex = 123
}
}
},
KmsKeyId = "kmsKeyId",
MetricsConfig = new MetricsConfigProperty {
EnableDetailedObservability = false,
EnableEnhancedMetrics = false,
MetricPublishFrequencyInSeconds = 123
},
ShadowProductionVariants = new [] { new ProductionVariantProperty {
VariantName = "variantName",
// the properties below are optional
AcceleratorType = "acceleratorType",
CapacityReservationConfig = new CapacityReservationConfigProperty {
CapacityReservationPreference = "capacityReservationPreference",
MlReservationArn = "mlReservationArn"
},
ContainerStartupHealthCheckTimeoutInSeconds = 123,
CoreDumpConfig = new CoreDumpConfigProperty {
DestinationS3Uri = "destinationS3Uri",
// the properties below are optional
KmsKeyId = "kmsKeyId"
},
EnableSsmAccess = false,
InferenceAmiVersion = "inferenceAmiVersion",
InitialInstanceCount = 123,
InitialVariantWeight = 123,
InstancePools = new [] { new InstancePoolProperty {
InstanceType = "instanceType",
Priority = 123,
// the properties below are optional
ModelNameOverride = "modelNameOverride"
} },
InstanceType = "instanceType",
ManagedInstanceScaling = new ManagedInstanceScalingProperty {
MaxInstanceCount = 123,
MinInstanceCount = 123,
ScaleInPolicy = new ScaleInPolicyProperty {
Strategy = "strategy",
// the properties below are optional
CooldownInMinutes = 123,
MaximumStepSize = 123
},
Status = "status"
},
ModelDataDownloadTimeoutInSeconds = 123,
ModelName = "modelName",
RoutingConfig = new RoutingConfigProperty {
PrefixAwareRoutingConfig = new PrefixAwareRoutingConfigProperty {
ConcurrencyThreshold = 123,
PrefixLength = 123
},
RoutingStrategy = "routingStrategy"
},
ServerlessConfig = new ServerlessConfigProperty {
MaxConcurrency = 123,
MemorySizeInMb = 123,
// the properties below are optional
ProvisionedConcurrency = 123
},
VariantInstanceProvisionTimeoutInSeconds = 123,
VolumeSizeInGb = 123
} },
Tags = new [] { new CfnTag {
Key = "key",
Value = "value"
} },
VpcConfig = new VpcConfigProperty {
SecurityGroupIds = new [] { "securityGroupIds" },
Subnets = new [] { "subnets" }
}
};
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"
cfnEndpointConfigProps := &CfnEndpointConfigProps{
ProductionVariants: []interface{}{
&ProductionVariantProperty{
VariantName: jsii.String("variantName"),
// the properties below are optional
AcceleratorType: jsii.String("acceleratorType"),
CapacityReservationConfig: &CapacityReservationConfigProperty{
CapacityReservationPreference: jsii.String("capacityReservationPreference"),
MlReservationArn: jsii.String("mlReservationArn"),
},
ContainerStartupHealthCheckTimeoutInSeconds: jsii.Number(123),
CoreDumpConfig: &CoreDumpConfigProperty{
DestinationS3Uri: jsii.String("destinationS3Uri"),
// the properties below are optional
KmsKeyId: jsii.String("kmsKeyId"),
},
EnableSsmAccess: jsii.Boolean(false),
InferenceAmiVersion: jsii.String("inferenceAmiVersion"),
InitialInstanceCount: jsii.Number(123),
InitialVariantWeight: jsii.Number(123),
InstancePools: []interface{}{
&InstancePoolProperty{
InstanceType: jsii.String("instanceType"),
Priority: jsii.Number(123),
// the properties below are optional
ModelNameOverride: jsii.String("modelNameOverride"),
},
},
InstanceType: jsii.String("instanceType"),
ManagedInstanceScaling: &ManagedInstanceScalingProperty{
MaxInstanceCount: jsii.Number(123),
MinInstanceCount: jsii.Number(123),
ScaleInPolicy: &ScaleInPolicyProperty{
Strategy: jsii.String("strategy"),
// the properties below are optional
CooldownInMinutes: jsii.Number(123),
MaximumStepSize: jsii.Number(123),
},
Status: jsii.String("status"),
},
ModelDataDownloadTimeoutInSeconds: jsii.Number(123),
ModelName: jsii.String("modelName"),
RoutingConfig: &RoutingConfigProperty{
PrefixAwareRoutingConfig: &PrefixAwareRoutingConfigProperty{
ConcurrencyThreshold: jsii.Number(123),
PrefixLength: jsii.Number(123),
},
RoutingStrategy: jsii.String("routingStrategy"),
},
ServerlessConfig: &ServerlessConfigProperty{
MaxConcurrency: jsii.Number(123),
MemorySizeInMb: jsii.Number(123),
// the properties below are optional
ProvisionedConcurrency: jsii.Number(123),
},
VariantInstanceProvisionTimeoutInSeconds: jsii.Number(123),
VolumeSizeInGb: jsii.Number(123),
},
},
// the properties below are optional
AsyncInferenceConfig: &AsyncInferenceConfigProperty{
OutputConfig: &AsyncInferenceOutputConfigProperty{
KmsKeyId: jsii.String("kmsKeyId"),
NotificationConfig: &AsyncInferenceNotificationConfigProperty{
ErrorTopic: jsii.String("errorTopic"),
IncludeInferenceResponseIn: []*string{
jsii.String("includeInferenceResponseIn"),
},
SuccessTopic: jsii.String("successTopic"),
},
S3FailurePath: jsii.String("s3FailurePath"),
S3OutputPath: jsii.String("s3OutputPath"),
},
// the properties below are optional
ClientConfig: &AsyncInferenceClientConfigProperty{
MaxConcurrentInvocationsPerInstance: jsii.Number(123),
},
},
DataCaptureConfig: &DataCaptureConfigProperty{
CaptureOptions: []interface{}{
&CaptureOptionProperty{
CaptureMode: jsii.String("captureMode"),
},
},
DestinationS3Uri: jsii.String("destinationS3Uri"),
InitialSamplingPercentage: jsii.Number(123),
// the properties below are optional
CaptureContentTypeHeader: &CaptureContentTypeHeaderProperty{
CsvContentTypes: []*string{
jsii.String("csvContentTypes"),
},
JsonContentTypes: []*string{
jsii.String("jsonContentTypes"),
},
},
EnableCapture: jsii.Boolean(false),
KmsKeyId: jsii.String("kmsKeyId"),
},
EnableNetworkIsolation: jsii.Boolean(false),
EndpointConfigName: jsii.String("endpointConfigName"),
ExecutionRoleArn: jsii.String("executionRoleArn"),
ExplainerConfig: &ExplainerConfigProperty{
ClarifyExplainerConfig: &ClarifyExplainerConfigProperty{
ShapConfig: &ClarifyShapConfigProperty{
ShapBaselineConfig: &ClarifyShapBaselineConfigProperty{
MimeType: jsii.String("mimeType"),
ShapBaseline: jsii.String("shapBaseline"),
ShapBaselineUri: jsii.String("shapBaselineUri"),
},
// the properties below are optional
NumberOfSamples: jsii.Number(123),
Seed: jsii.Number(123),
TextConfig: &ClarifyTextConfigProperty{
Granularity: jsii.String("granularity"),
Language: jsii.String("language"),
},
UseLogit: jsii.Boolean(false),
},
// the properties below are optional
EnableExplanations: jsii.String("enableExplanations"),
InferenceConfig: &ClarifyInferenceConfigProperty{
ContentTemplate: jsii.String("contentTemplate"),
FeatureHeaders: []*string{
jsii.String("featureHeaders"),
},
FeaturesAttribute: jsii.String("featuresAttribute"),
FeatureTypes: []*string{
jsii.String("featureTypes"),
},
LabelAttribute: jsii.String("labelAttribute"),
LabelHeaders: []*string{
jsii.String("labelHeaders"),
},
LabelIndex: jsii.Number(123),
MaxPayloadInMb: jsii.Number(123),
MaxRecordCount: jsii.Number(123),
ProbabilityAttribute: jsii.String("probabilityAttribute"),
ProbabilityIndex: jsii.Number(123),
},
},
},
KmsKeyId: jsii.String("kmsKeyId"),
MetricsConfig: &MetricsConfigProperty{
EnableDetailedObservability: jsii.Boolean(false),
EnableEnhancedMetrics: jsii.Boolean(false),
MetricPublishFrequencyInSeconds: jsii.Number(123),
},
ShadowProductionVariants: []interface{}{
&ProductionVariantProperty{
VariantName: jsii.String("variantName"),
// the properties below are optional
AcceleratorType: jsii.String("acceleratorType"),
CapacityReservationConfig: &CapacityReservationConfigProperty{
CapacityReservationPreference: jsii.String("capacityReservationPreference"),
MlReservationArn: jsii.String("mlReservationArn"),
},
ContainerStartupHealthCheckTimeoutInSeconds: jsii.Number(123),
CoreDumpConfig: &CoreDumpConfigProperty{
DestinationS3Uri: jsii.String("destinationS3Uri"),
// the properties below are optional
KmsKeyId: jsii.String("kmsKeyId"),
},
EnableSsmAccess: jsii.Boolean(false),
InferenceAmiVersion: jsii.String("inferenceAmiVersion"),
InitialInstanceCount: jsii.Number(123),
InitialVariantWeight: jsii.Number(123),
InstancePools: []interface{}{
&InstancePoolProperty{
InstanceType: jsii.String("instanceType"),
Priority: jsii.Number(123),
// the properties below are optional
ModelNameOverride: jsii.String("modelNameOverride"),
},
},
InstanceType: jsii.String("instanceType"),
ManagedInstanceScaling: &ManagedInstanceScalingProperty{
MaxInstanceCount: jsii.Number(123),
MinInstanceCount: jsii.Number(123),
ScaleInPolicy: &ScaleInPolicyProperty{
Strategy: jsii.String("strategy"),
// the properties below are optional
CooldownInMinutes: jsii.Number(123),
MaximumStepSize: jsii.Number(123),
},
Status: jsii.String("status"),
},
ModelDataDownloadTimeoutInSeconds: jsii.Number(123),
ModelName: jsii.String("modelName"),
RoutingConfig: &RoutingConfigProperty{
PrefixAwareRoutingConfig: &PrefixAwareRoutingConfigProperty{
ConcurrencyThreshold: jsii.Number(123),
PrefixLength: jsii.Number(123),
},
RoutingStrategy: jsii.String("routingStrategy"),
},
ServerlessConfig: &ServerlessConfigProperty{
MaxConcurrency: jsii.Number(123),
MemorySizeInMb: jsii.Number(123),
// the properties below are optional
ProvisionedConcurrency: jsii.Number(123),
},
VariantInstanceProvisionTimeoutInSeconds: jsii.Number(123),
VolumeSizeInGb: jsii.Number(123),
},
},
Tags: []CfnTag{
&CfnTag{
Key: jsii.String("key"),
Value: jsii.String("value"),
},
},
VpcConfig: &VpcConfigProperty{
SecurityGroupIds: []*string{
jsii.String("securityGroupIds"),
},
Subnets: []*string{
jsii.String("subnets"),
},
},
}
Properties
asyncInferenceConfigoptionalIResolvable | CfnEndpointConfig.AsyncInferenceConfigPropertyasync_inference_configoptionaltyping.Union[IResolvable, AsyncInferenceConfigProperty]asyncInferenceConfigoptionalIResolvableAsyncInferenceConfigoptionalIResolvableAsyncInferenceConfigoptionalinterface{}#dataCaptureConfigoptionalIResolvable | CfnEndpointConfig.DataCaptureConfigPropertydata_capture_configoptionaltyping.Union[IResolvable, DataCaptureConfigProperty]dataCaptureConfigoptionalIResolvableDataCaptureConfigoptionalIResolvableDataCaptureConfigoptionalinterface{}#The data capture configuration applies to all production variants hosted at the endpoint.
enableNetworkIsolationoptionalboolean | IResolvableenable_network_isolationoptionaltyping.Union[bool, IResolvable]enableNetworkIsolationoptionalBooleanEnableNetworkIsolationoptionalboolEnableNetworkIsolationoptionalinterface{}#If they are, no inbound or outbound network calls can be made to or from the model containers.
endpointConfigNameoptionalstringendpoint_config_nameoptionalstrendpointConfigNameoptionalStringEndpointConfigNameoptionalstringEndpointConfigNameoptional*string#executionRoleArnoptionalstringexecution_role_arnoptionalstrexecutionRoleArnoptionalStringExecutionRoleArnoptionalstringExecutionRoleArnoptional*string#explainerConfigoptionalIResolvable | CfnEndpointConfig.ExplainerConfigPropertyexplainer_configoptionaltyping.Union[IResolvable, ExplainerConfigProperty]explainerConfigoptionalIResolvableExplainerConfigoptionalIResolvableExplainerConfigoptionalinterface{}#kmsKeyIdoptionalstringkms_key_idoptionalstrkmsKeyIdoptionalStringKmsKeyIdoptionalstringKmsKeyIdoptional*string#notes
- Key ID:
1234abcd-12ab-34cd-56ef-1234567890ab - Key ARN:
arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab - Alias name:
alias/ExampleAlias - Alias name ARN:
arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias
The KMS key policy must grant permission to the IAM role that you specify in your CreateEndpoint , UpdateEndpoint requests. For more information, refer to the AWS Key Management Service section Using Key Policies in AWS KMS
Certain Nitro-based instances include local storage, dependent on the instance type. Local storage volumes are encrypted using a hardware module on the instance. You can't request a
KmsKeyIdwhen using an instance type with local storage. If any of the models that you specify in theProductionVariantsparameter use nitro-based instances with local storage, do not specify a value for theKmsKeyIdparameter. If you specify a value forKmsKeyIdwhen using any nitro-based instances with local storage, the call toCreateEndpointConfigfails.For a list of instance types that support local instance storage, see Instance Store Volumes .
For more information about local instance storage encryption, see SSD Instance Store Volumes .
metricsConfigoptionalIResolvable | CfnEndpointConfig.MetricsConfigPropertymetrics_configoptionaltyping.Union[IResolvable, MetricsConfigProperty]metricsConfigoptionalIResolvableMetricsConfigoptionalIResolvableMetricsConfigoptionalinterface{}#productionVariantsIResolvable | IResolvable | CfnEndpointConfig.ProductionVariantProperty[]production_variantstyping.Union[IResolvable, typing.List[typing.Union[IResolvable, ProductionVariantProperty]]]productionVariantsIResolvableProductionVariantsIResolvableProductionVariantsinterface{}required#shadowProductionVariantsoptionalIResolvable | IResolvable | CfnEndpointConfig.ProductionVariantProperty[]shadow_production_variantsoptionaltyping.Union[IResolvable, typing.List[typing.Union[IResolvable, ProductionVariantProperty]]]shadowProductionVariantsoptionalIResolvableShadowProductionVariantsoptionalIResolvableShadowProductionVariantsoptionalinterface{}#notes
There is one for each model that you want to host at this endpoint in shadow mode with production traffic replicated from the model specified on ProductionVariants . If you use this field, you can only specify one variant for ProductionVariants and one variant for ShadowProductionVariants .
tagsoptionalCfnTag[]tagsoptionaltyping.List[CfnTag]tagsoptionalList<CfnTag>TagsoptionalCfnTag[]Tagsoptional*[]CfnTag#notes
For more information, see Resource Tag and Using Cost Allocation Tags .
vpcConfigoptionalIResolvable | CfnEndpointConfig.VpcConfigPropertyvpc_configoptionaltyping.Union[IResolvable, VpcConfigProperty]vpcConfigoptionalIResolvableVpcConfigoptionalIResolvableVpcConfigoptionalinterface{}#You can control access to and from your resources by configuring a VPC.